DevOps & CICD – Blogs performants

Cette histoire se déroule pas trop loin, année 2015 à Santa Clara, Californie. Un fournisseur informatique bien établi soumettait une réponse à un appel d'offres de plusieurs millions de dollars. Cette entreprise était en affaires depuis des années et avait un processus d'exécution de modèle en cascade bien établi.
Un modèle de livraison typique semblait très semblable au diagramme ci-dessous.
Cascade Modèle
Leur clientèle, Bob, était très confiant de gagner cet accord. Parce qu'il pensait, ils ont clairement compris l'exigence. De plus, ils respectaient leur budget et avaient de nombreuses histoires de réussite à partager avec ce client. Bob avait même commencé le processus d'intégration des nouveaux associés qui travailleraient sur ce projet.
Mais Bob n'a pas remarqué que la tendance industrielle est en train de changer – elle s'éloigne des modes de développement traditionnels. La maturité informatique du client a augmenté. De plus, la technologie progresse pour être presque impeccable. En conséquence, l'entreprise a perdu un projet de plusieurs millions de dollars.
Ils sont allés à la planche à dessin pour trouver ce qui n'allait pas. Après de nombreuses délibérations et discussions au fil des semaines, ils ont remarqué l'erreur.
Ils ont remarqué trois points clés où leur concurrence s'en sortait mieux :
1. Technologies modernes – Bob pensait que nous allions également avec des technologies modernes similaires, en fait nous avions une meilleure expérience d'exécution de projets avec elles.
2. Agile – Oui, nous n'avons pas pris en compte car c'est trop risqué car le client peut continuer à modifier les exigences.
3. DevOps transparent avec CICD – Et, Bob a dit, comment diable vous allez automatiser et intégrer les tâches de différentes équipes d'ingénierie.
Bob voulait savoir, alors il a commencé à lire sur Agile et DevOps.
1. Agile –
Une méthode de travail : une définition ciblée, limitée dans le temps et convenue du terminé pour chaque sprint. Du point de vue du client, cela réduit les risques car cela leur donne :-
a. Une meilleure visibilité pour voir le logiciel se façonner toutes les deux semaines (sprints).
b. Possibilité de changer rapidement s'ils n'aiment pas quelque chose
2. DevOps CICD –
Une approche automatisée pour intégrer en douceur les tâches de plusieurs équipes d'ingénierie.
Si vous lisez ce blog, je pense que vous connaissez déjà Agile. Même si vous ne le faites pas, vous pouvez continuer ce voyage avec Bob car DevOps n'est pas limité à Agile, mais il fonctionne très efficacement lorsqu'il est mis en œuvre avec Agile.
Agile Brief :
Pour la future référence de Bob, je vais ajoutez une note brève et généralisée sur Agile ici.
La méthodologie Agile est une idée d'approche itérative du développement logiciel. Agile se concentre sur la répartition des tâches plus petites et gérables pour les projets plus importants. Cela vous donne l'opportunité de créer et de répondre au changement. Scrum est l'un des cadres de gestion pour contrôler et gérer l'itération.
Méthodologie de Scrum
Voici les éléments clés de la gestion des projets Agile:
- Statistiques de l'utilisateur: Définition de la demande de travail de haut niveau
- Sprints : Courte itération de 1 à 3 semaines au cours desquelles l'équipe doit accomplir les tâches assignées
- Réunions debout : Courte réunion pour s'assurer que tout le monde est sur la bonne voie et s'il y a des obstacles.
- Agile Board : Un tableau blanc pour suivre l'avancement de vos projets.
- Product Backlog : Liste des éléments de travail prioritaires pour l'équipe régis par la feuille de route et les exigences.
- Le développeur développe le code et le valide dans le référentiel.
- Il existe des portes de qualité automatisées dans le référentiel pour créer automatiquement le code, valider le code pour la dette technique.
- Si le code ne respecte pas les normes de développement définies, il est rejeté de la validation. Cela permet de réduire les futurs problèmes de production. Cela augmente également la maintenabilité du code.
- Une fois la validation du code acceptée, le pipeline peut exécuter les cas de test automatisés pour valider la disponibilité fonctionnelle du logiciel. En cas d'échec, les rapports sont générés en temps réel. Les parties prenantes peuvent consulter ces rapports en temps réel pour prendre les mesures appropriées.
- Une fois les tests automatisés réussis, le code est considéré comme prêt à passer à l'environnement suivant et avec DevOps, le logiciel peut être automatiquement déployé dans divers environnements.
- ]La première étape de ces environnements est l'assurance qualité. Ainsi, l'équipe QA obtient rapidement ce logiciel pour les tests.
- L'équipe QA maintient sa suite de tests automatisés prête et intégrée au pipeline. Celui-ci se déclenche automatiquement et valide le logiciel. L'équipe QA effectue des tests manuels de la version pour valider les cas qui ne sont pas traités par la suite automatisée.
- Une fois que le logiciel est approuvé par QA et a passé toutes les portes, il peut être poussé vers l'environnement suivant – pré-prod ou prod.
Ce processus s'appelle CICD, c'est-à-dire une intégration continue Déploiement continu. - De manière traditionnelle, de nombreux produits prenaient 6 mois à 1 an pour atteindre l'utilisateur final, mais avec l'invention de DevOps, ce cycle est réduit à quelques sprints.
- Cela a permis aux entreprises d'atteindre l'utilisateur final plus rapidement, d'échouer plus rapidement et de fournir des produits de bonne qualité avec une intervention manuelle minimale.
- DevOps ouvre la voie à de nombreuses entreprises pour ajouter rapidement de nouvelles fonctionnalités à leurs clients. Une raison pour laquelle nous voyons tant de mises à jour d'applications sortir rapidement. Même les mises à jour et les versions du système d'exploitation nous parviennent plus rapidement qu'auparavant.
DevOps :
Certains des éléments importants les équipes de l'industrie du logiciel sont composées de développeurs, d'assurance qualité et d'opérations informatiques. Ils travaillent traditionnellement en silos. L'équipe de développement se concentre sur la création des produits pour l'énoncé de problème donné. Ils sont soucieux de savoir comment cela sera livré à l'utilisateur final. L'équipe des opérations informatiques se concentre entièrement sur la livraison à l'utilisateur final, mais elle n'a aucune idée de ce qui se passe dans le monde de l'équipe de développement. L'approche traditionnelle est manuelle, avec des cycles de livraison plus lents et un temps d'attente plus long pour les clients.
L'objectif de DevOps est d'automatiser cet écart entre l'équipe de livraison et l'équipe des opérations, pour les rapprocher.
Devops En bref
Cette automatisation fonctionne sur plusieurs fronts utilisant divers outils modernes tels que Azure Devops.
Ces outils nous permettent de créer des pipelines avec des vannes contrôlées. Ces portes aident à faire passer en douceur le produit logiciel à travers différentes étapes.
CICD :
Cycle CICD
Avantages:
Après avoir entendu parler de DevOps, Bob a commencé à plonger davantage dans le monde des automatisations. Ce blog est un tremplin vers votre voyage vers DevOps. Comme vous le savez, l'automatisation peut sembler simple, mais il faut beaucoup de planification méticuleuse et beaucoup de compréhension pour la mettre en œuvre correctement.
Je signe ici, avec tous mes meilleurs vœux pour votre parcours DevOps. Et oui, Bob, a terminé avec succès une proposition. Son entreprise a remporté un nouveau contrat moderne de plusieurs millions de dollars. Je suis sûr que vous allez aussi ajouter de nouvelles plumes à votre carrière.
~ Deepali Rohe
Source link