Outre les outils open source, différents fournisseurs de services cloud fournissent leurs outils natifs du cloud pour implémenter les pratiques DevOps sur le cloud. Cet article décrit différents outils et technologies fournis par AWS pour implémenter DevOps sur AWS.
Codecommit AWS
AWS CodeCommit est un service utilisé pour le contrôle de version et hébergé par AWS. Tout comme les autres services de contrôle de version comme Github, Bitbucket et GitLab, le code source peut être poussé vers des référentiels privés dans CodeCommit. Il n'y a pas de référentiels publics sur AWS Codecommit.
AWS CodeCommit est un service hautement disponible, sécurisé et évolutif utilisé pour héberger des référentiels de code privé. En utilisant AWS CodeCommit, vous n'avez pas besoin de mettre à niveau le service si vos référentiels augmentent au-delà d'une limite. Il évolue automatiquement avec l'augmentation du nombre de référentiels ou de taille de référentiel.
Voici la liste de certains avantages fournis par le service Codecommit AWS.
La console AWS CodeCommit fournit une interface utilisateur graphique conviviale pour visualiser les demandes de traction, les commits, les branches et les balises GIT. Les référentiels de CodeCommit peuvent être clonés à l'aide d'URL SSH et HTTPS.
Dans les paramètres du référentiel CodeCommit, vous pouvez permettre aux notifications et déclencheurs de notif.
AWS CodeBuild
AWS CodeBuild est un service entièrement géré utilisé pour exécuter des tests, créer le code et générer les artefacts de construction à partir du code. En utilisant AWS CodeBuild, vous n'avez pas besoin de fournir un serveur de construction supplémentaire pour créer le code source. Il fournit des environnements préconfigurés pour la plupart des langages de programmation populaires comme Python, Java, Nodejs et construit des outils comme Maven, NPM et Gradle. Vous pouvez également créer vos propres environnements personnalisés pour créer votre projet en utilisant AWS CodeBuild.
AWS CodeBuild est un service sans serveur, et vous n'êtes facturé que lorsqu'une version est en cours d'exécution. De cette façon, vous pouvez économiser de l'argent pour un serveur supplémentaire pour la construction des projets. Voici quelques avantages de l'utilisation du service CodeBuild à partir d'AWS.
AWS CodeBuild peut être intégré à différents services de fournisseur de code source pour récupérer le code. Vous pouvez récupérer le code à partir de GitHub, Bitbucket, GitHub Enterprise, CodeCommit et S3. Vous pouvez également configurer le service CodeBuild pour envoyer les journaux de construction aux journaux CloudWatch qui peuvent aider à diagnostiquer les défaillances de construction. Pour communiquer avec CloudWatch, AWS CodeBuild a besoin d'un rôle IAM avec des autorisations spécifiques.
AWS CodePloy
AWS CodePloy est un service entièrement géré fourni par AWS pour déployer l'application prédéfinie à différents services de calcul comme EC2, AWS Lambda, AWS ECS et serveurs sur site. Le service AWS CodeDepLoy peut déployer automatiquement le type de contenu suivant.
AWS CodeDeploy est un service sans serveur, et vous n'êtes facturé que lorsqu'un déploiement est en cours d'exécution, et le reste du temps, vous n'êtes pas facturé. Tout comme AWS CodeBuild, AWS CodePloy élimine également la nécessité de provisionner un serveur supplémentaire à des fins de déploiement. Voici quelques avantages de l'utilisation du service AWS CodeDeploy.
AWS CodePipeline
AWS CodePipeline est un service utilisé pour visualiser un pipeline CICD complet à l'aide d'une interface utilisateur graphique conviviale. Il crée une belle interface graphique d'un pipeline en combinant différents services comme AWS Codecommit, AWS CodeBuild, AWS CodePloy. Il facilite le processus de libération du logiciel en visualisant chaque étape du pipeline.
Lorsqu'un développeur pousse le code vers le CodeCommit, le codepipeline, s'il est configuré de manière appropriée, date le nouveau code et transmet le dernier code au service AWS CodeBuild pour exécuter des tests et créer des artefacts de code. Après avoir construit les artefacts, ces artefacts sont transmis au service AWS CodePloy pour déployer la dernière version de l'application sur le serveur.
Toutes ces étapes peuvent être visualisées et intégrées les unes avec les autres dans le service de codepiline. Lors du déploiement du code de la mise en scène à un environnement de production, une étape d'approbation manuelle peut être ajoutée à l'aide de CodePipeline AWS. Afin de déployer le code dans l'environnement de production, une personne ayant des autorisations spécifiques doit approuver le déploiement. Il évite de déployer un engagement non authentique dans la production, ce qui peut briser l'environnement de production.
AWS Codeguru
Amazon Codeguru est un service fourni par AWS pour examiner le code source. AWS CodeGuru utilise l'apprentissage automatique et l'analyse de programme pour revoir le code source et trouver les défauts potentiels du code. Après avoir trouvé les défauts dans le code source, AWS CodeGuru donne des suggestions pour résoudre ces défauts pour les langages de programmation Java et Python.
Actuellement, AWS CodeGuru ne prend en charge que les langages de programmation Java et Python et peut lire le code source des fournisseurs source suivants.
Conclusion
Il existe différents services AWS Cloud-Native qui peuvent être utilisés pour créer un pipeline CICD complet. Le principal avantage de l'utilisation des services propriétaires AWS est que ces services sont des services sans serveur entièrement gérés et interagissent les uns avec les autres en privé. Il existe différents services pour stocker le code source (AWS CodeCommit), la création et l'exécution de tests sur le code (AWS CodeBuild), le déploiement du code sur les serveurs (AWS CodeDeploy) sur AWS. Ces services peuvent être intégrés les uns aux autres pour créer un pipeline complet à l'aide du service CodePipeline AWS. Cet article donne une brève compréhension de tous ces services AWS pour mettre en œuvre des pratiques DevOps sur AWS.