Explorer le cycle de vie des applications DevOps

Effectué

Bien que les pratiques DevOps aient une vaste étendue, leur cible principale optimise la gestion du cycle de vie des applications. Dans l’exemple d’entreprise fictif, la migration d’une application existante vers une nouvelle application avec des fonctionnalités mises à jour nécessite de revoir chaque phase du cycle de vie de l’application. Par conséquent, découvrez comment les principes DevOps peuvent modifier considérablement la façon dont chaque phase est implémentée, de la planification, du développement et de la livraison, aux opérations. Dans cette unité, passez en revue une vue d’ensemble générale de ces implémentations.

Phases de cycle de vie des applications

Les phases de cycle de vie des applications incluent la planification, le développement, la livraison et les opérations.

capture d’écran du cycle de vie des applications et DevOps.

Planification

La phase de planification implique l’examen des besoins des clients afin de décrire et de définir les fonctionnalités et les fonctionnalités du logiciel à développer. Ces logiciels peuvent aller de microservices individuels à des portefeuilles composés de plusieurs produits. Le résultat définit les exigences logicielles, l’étendue et les jalons pour le développement et le déploiement de l’application. Du point de vue de DevOps, les principales considérations de cette phase incluent l’agilité, le focus centré sur le client, l’alignement et la visibilité.

Développement

La phase de développement couvre tous les aspects du développement de code d’application. Ces aspects incluent la programmation, les tests et les révisions de code. Pour se conformer aux pratiques DevOps, le code doit résider dans un système de contrôle de code source, ce qui facilite la collaboration et prend en charge le contrôle de version. Une version de travail du code est utilisée pour générer des artefacts adaptés à la remise ultérieure. Ces artefacts peuvent prendre la forme de fichiers binaires exécutables, de bibliothèques de logiciels, d’images conteneur, de packages d’installation, de fichiers de configuration, de scripts de déploiement ou même de documentation.

Les modifications apportées à cette phase doivent être appliquées par petits incréments par le biais de tests et de builds automatisés, appelés intégration continue (CI), ce qui accélère le processus de développement et améliore l’agilité.

Livraison

La livraison est le processus de déploiement des artefacts générés pendant la phase de développement dans des environnements de production de manière cohérente et fiable. Bien que l’objectif ultime de cette phase soit une automatisation complète via livraison continue (CD), certaines organisations, en particulier dans les premières étapes de leur adoption de DevOps, peuvent choisir d’implémenter des approbations manuelles ou des vérifications. À mesure que la confiance dans les pratiques DevOps augmente, il est généralement possible d’automatiser entièrement ces vérifications. Par exemple, une vérification réussie et sans surveillance d'un déploiement sur un environnement intermédiaire peut servir de base pour la transition vers l'environnement de production. L’automatisation permet de rendre les processus de livraison évolutifs, reproductibles et plus résilients (en minimisant la possibilité d’une erreur humaine). La clé d’une implémentation réussie d’une telle approche est de suivre les pratiques DevOps, notamment les tests appropriés, l’utilisation de mesures observables et l’apprentissage continu.

La livraison doit également prendre en compte l’approvisionnement et la configuration de l’infrastructure de l’environnement cible via IaC. Le traitement de l’infrastructure en tant que code offre un large éventail d’avantages, notamment la cohérence, la reproductibilité et l’agilité.

Opérations

La phase des opérations implique la maintenance, la surveillance et la résolution des problèmes des applications dans les environnements de production. Du point de vue de DevOps, les principaux objectifs à ce stade sont la stabilité et la fiabilité, la réponse rapide aux incidents, la sécurité et la conformité et la satisfaction des clients. Dans une certaine mesure, l’atteinte de ces objectifs dépend d’avoir mis en œuvre correctement des résultats mesurables. Les processus DevOps s’appuient également sur des boucles de commentaires appelées qui fournissent des données reflétant l’état actuel de l’application déployée, comme les métriques de performances, la réactivité et l’expérience utilisateur globale, y compris les fonctionnalités améliorées ou dégradées.

Au cours de cette phase, il est important de garantir le niveau maximal de collaboration entre les équipes de développement, d’exploitation et de sécurité. Cette phase sert également de source essentielle d’apprentissage continu.

Quelle est la dernière étape du cycle de vie de l’application ?

Comme le nom indique et l’image au début de cette unité illustre, le cycle de vie de l’application est, par conception, un processus circulaire. Il existe un début et une fin déterministes de la durée de vie d’une application déterminée par ses événements de création et de désaffectation. Toutefois, après le déploiement initial (ou souvent, même plus tôt), les commentaires des utilisateurs et des données de surveillance informent les mises à jour suivantes et l’évolution de l’application.

Remarque

Gardez à l’esprit que même si la sécurité n’a été mentionnée que quelques fois dans cette unité, selon les principes devSecOps, son rôle perva tout au long du cycle de vie de l’application. En fait, les considérations relatives à la sécurité doivent être prises en compte pendant chaque phase, à partir du début de la planification initiale.