AWS CodeDeploy est un service qui automatise les déploiements d'application vers divers services de calcul dont Amazon EC2, Fargate, AWS Lambda et les instances s'exécutant sur site. CodeDeploy automatise entièrement vos déploiements d'applications, éliminant ainsi le recours à des opérations manuelles. CodeDeploy protège votre application des temps d'arrêt pendant les déploiements grâce aux mises à jour continues et au suivi de l'état du déploiement. CodeDeploy vous offre un contrôle centralisé de vos déploiements grâce à AWS Management Console, à l'interface de ligne de commande (CLI), aux kits de développement logiciel (SDK) ou aux API, ce qui vous permet de lancer, contrôler et surveiller vos déploiements. Vous pouvez voir la progression du déploiement en fonction d'événements de configuration individuels. CodeDeploy suit et stocke l'historique récent de vos déploiements, afin que vous puissiez étudier le calendrier et modifier l'historique de vos anciens déploiements.
AWS CodeDeploy ne dépend pas de la plateforme ni de la langue et fonctionne avec n'importe quelle application, vous pouvez donc réutiliser votre code de configuration existant. Vous pouvez également intégrer facilement vos déploiements d'applications avec votre processus de déploiement de logiciels existant ou dans une chaîne d'outils de déploiement continue à l'aide des API CodeDeploy.
Déploiements automatisés des instances
Déploiements reproductibles
Vous pouvez facilement reproduire un déploiement d'application dans les différents groupes des instances avec AWS CodeDeploy. CodeDeploy utilise un modèle d'installation basé sur un fichier et une commande, ce qui lui permet de déployer n'importe quelle application et de réutiliser le code de configuration existant. Le même code de configuration peut être utilisé pour déployer et tester de manière cohérente des mises à jour sur vos étapes de déploiement, de test et de production pour les instances Amazon EC2. L'élimination des étapes manuelles des déploiements augmente à la fois la vitesse et la fiabilité de votre processus de déploiement de logiciels.
Mise à l'échelle automatique
AWS CodeDeploy vous permet d'intégrer des activités de déploiement et de dimensionnement logiciel pour maintenir votre application à jour dans un environnement de production dynamique. Pour les instances Amazon EC2, CodeDeploy s'intègre à Auto Scaling. Auto Scaling vous permet d'augmenter ou de réduire la capacité d'EC2 selon les conditions que vous définissez tels que les pics de trafic. CodeDeploy est notifié lorsqu'une nouvelle instance se lance dans un groupe Auto Scaling et effectuera automatiquement un déploiement d'application sur la nouvelle instance avant que celui-ci soit ajouté à un équilibreur de charge Elastic Load Balancing.
Déploiements sur site
Vous pouvez utiliser AWS CodeDeploy pour automatiser les déploiements de logiciel dans vos environnements de développement, de test et de production sur toute instance, notamment les instances de vos centres de données (vos instances devront être en mesure de se connecter aux points de terminaison publics d’AWS). Vous pourrez ainsi vous servir d'un seul service pour déployer des applications de façon constante sur des architectures hybrides.
Limiter les temps d'arrêt
Mises à jour continues et bleus/verts
Les applications ne nécessitent pas de temps d'arrêt lorsqu'elles sont en cours de mise à niveau vers une nouvelle révision avec AWS CodeDeploy. AWS CodeDeploy peut effectuer des déploiements bleu/vert vers des instances Amazon EC2, un service Amazon ECS (deux types de lancements EC2 et AWS Fargate) ou une fonction AWS Lambda. Le déploiement bleu/vert permet de lancer la nouvelle version de votre application parallèlement à l’ancienne. Une fois la nouvelle version testée conforme, CodeDeploy peut acheminer le trafic de votre ancienne version vers la nouvelle, en fonction de vos spécifications.
CodeDeploy peut également effectuer une mise à jour continue dans un groupe d'instances Amazon EC2 où seulement une partie à la fois des instances est mise hors ligne. CodeDeploy avance progressivement d'une instance à l'autre, ce qui permet aux applications de rester disponibles et de continuer à servir le trafic. Pour les fonctions AWS Lambda, le trafic entrant est progressivement routé de l'ancienne vers la nouvelle version.
Suivi de l'état du déploiement
Le suivi de l'état du déploiement fonctionne avec les mises à jour continues afin que les applications restent hautement disponibles pendant les déploiements. Des temps d'arrêt inattendus peuvent se produire si de mauvaises mises à jour sont déployées. AWS CodeDeploy surveille votre déploiement et en cessera un s'il y a trop d'échecs de mise à jour.
Arrêt et annulation
Vous pouvez arrêter le déploiement d'une application qui est en cours à tout moment à l'aide de AWS Management Console, l'interface de ligne de commande AWS ou tout kit de développement logiciel AWS. Il vous suffit de déployer à nouveau cette révision si vous souhaitez poursuivre le déploiement arrêté à un moment ultérieur. Vous pouvez également annuler immédiatement en redéployant la précédente révision.
Contrôle centralisé
Surveillance et contrôle
Vous pouvez lancer, contrôler et surveiller les déploiements de votre logiciel directement depuis AWS Management Console ou à l'aide de l'interface de ligne de commande, des kits de développement ou des API AWS. En cas d'échec, vous pouvez marquer le script comportant l'échec. Vous pouvez aussi définir des notifications Push vous permettant de suivre le statut de vos déploiements par e-mail ou par SMS avec Amazon Simple Notification Service.
Groupes de déploiement
Une application peut être déployée vers plusieurs groupes de déploiement. Les groupes de déploiement sont utilisés pour mettre en correspondance des configurations vers des environnements spécifiques, comme des environnements de simulation et de production. Vous pouvez tester une révision en simulation, puis déployer ce même code avec les mêmes instructions de déploiement vers la production une fois que vous êtes satisfait.
Historique de déploiement
AWS CodeDeploy suit et stocke l'historique récent de vos déploiements. Vous pouvez consulter quelles versions de l'application sont actuellement déployées vers chacun de vos groupes de déploiement cibles. Vous pouvez inspecter l'historique des modifications ainsi que les taux de réussite des précédents déploiements vers les groupes de déploiement spécifiques. Vous pouvez également étudier un calendrier de vos anciens déploiements pour avoir une vue détaillée des réussites et des erreurs de vos déploiements.
Facile à adopter
Indépendant de l'architecture et du langage
AWS CodeDeploy utilise un modèle d'installation basé sur un fichier et une commande, ce qui lui permet de déployer n'importe quelle application et de réutiliser le code de configuration existant. CodeDeploy utilise un fichier de configuration AppSpec unique pour exécuter des actions, des tests ou des vérifications à chaque événement de cycle de vie (phase de déploiement). Les commandes peuvent être un code, tel que le script d'une enveloppe, un programme personnalisé ou même un outil de gestion de la configuration.
Intégration de la chaîne d'outils
Il est facile d'intégrer les déploiements d'applications avec votre chaîne d'outils de livraison de logiciels existante à l'aide des API AWS CodeDeploy. AWS CodePipeline, AWS CodeStar et certains partenaires AWS fournissent des intégrations CodeDeploy préconçues pour une intégration et des services de déploiement continus, ce qui simplifie l'automatisation du déploiement de votre application mise à jour.
Recevez des notifications
Vérifiez des événements définis
Vous pouvez créer des notifications pour des événements influençant vos déploiements. Les notifications se présenteront sous la forme de notifications Amazon SNS. Chaque notification inclut un message d'état ainsi qu'un lien vers les ressources dont l'événement a généré cette notification.
En savoir plus sur la tarification d’AWS CodeDeploy