Quels sont les avantages DevOps?
- La qualité et l’efficacité: un meilleur code et des processus mieux définis
- Amélioration du temps de déploiement: optimisation du temps de développement et une meilleure anticipation
- Meilleure communication entre les développeurs et les métiers
- Des versions de plus petite taille fournies très rapidement et très fréquemment
- Moins de risques et moins de retours arrière
- Réduction des coûts à long terme
Mais au fait, c’est quoi DevOps?
Le terme DevOps est une combinaison des mots « Development » et « Operations ».
On pourrait qualifier DevOps d’une « philosophie » (ça reste pour les geeks…) qui vise à mettre en œuvre un changement de mentalité et une meilleure collaboration entre le développement et les opérations
C’est une approche qui automatise et optimise les processus entre les équipes de développement logiciel et les équipes informatiques opérationnelles afin de créer, de tester et de mettre en production des logiciels plus rapidement et de manière plus fiable. Traditionnellement isolées, DevOps consiste à éliminer les barrières entre les équipes de développement et les équipes informatiques opérationnelles. Dans un modèle DevOps, les équipes de développement et d’exploitation collaborent tout au long du cycle de vie des applications logicielles, du développement et des tests au déploiement et à l’exploitation.
Comment fonctionne l’approche DevOps ?
DevOps est une méthode visant à améliorer le travail tout au long du cycle de vie du développement logiciel. Le processus DevOps ressemble à une « boucle sans fin » qui part de la planification du logiciel, passe par les phases de code, de build, de test et de release, puis revient à la planification en passant par le déploiement, l’exploitation, la surveillance continue et le feedback. Dans l’idéal, DevOps signifie qu’une équipe de développeurs écrit des logiciels qui répondent parfaitement aux besoins des utilisateurs, sont déployés sans perte de temps et s’exécutent de manière optimale dès leur première utilisation.
Une pratique DevOps de base consiste à effectuer des mises à jour très fréquentes, mais de petite taille.
Pour éviter les temps d’attente, les équipes informatiques utilisent des pipelines dits d’intégration continue ou de livraison continue (Continuous Integration/Continuous Delivery, CI/CD) pour déplacer le code d’une étape de développement et de livraison à une autre. Un pipeline CI/CD comprend une série d’étapes qui doivent être exécutées pour livrer une nouvelle version du logiciel. Il s’agit d’une pratique qui se concentre sur l’amélioration de la mise à disposition du logiciel.
Dans le cadre du projet Needeat nous avons repris la plateforme et développé les applications en react native, le front admin en reactjs et le backend en nodejs.
Les principales méthodes et principes DevOps
Les anciennes méthodes de développement logiciel agiles continuent d’avoir une grande influence sur les pratiques et les outils DevOps. De nombreuses méthodes DevOps, y compris Scrum et Kanban, intègrent des éléments de la programmation agile, qui se caractérise par une plus grande réactivité à l’évolution des besoins, en effectuant des stand-ups quotidiens et en intégrant le feedback continu des clients. La méthode Agile prescrit également des cycles de développement logiciel plus courts au lieu des longues méthodes de développement traditionnelles en cascade.
Scrum
Scrum définit la manière dont les membres d’une équipe doivent collaborer pour accélérer les projets de développement et d’assurance qualité. Les pratiques Scrum incluent des flux de travail importants et des termes spécifiques (sprints, créneaux horaires, réunion Scrum quotidienne) ainsi que certains rôles (Scrum Master, Product Owner).
Kanban
Kanban est né des gains d’efficacité réalisés dans l’usine Toyota. Kanban stipule que l’état des projets logiciels en cours doit être suivi sur une carte Kanban. Le nombre de travaux parallèles, le Work in Progress (WiP), est limité. De cette manière, les délais d’exécution sont plus courts et les problèmes – notamment les goulots d’étranglement – sont rapidement mis en évidence.