DevOps sur AWS

DevOps est un ensemble de pratiques qui visent à rapprocher les équipes de développement et les équipes d’exploitation afin de :

  • Assurer une meilleure collaboration entre équipes de développement et exploitation.
  • Augmenter l’efficacité opérationnelle ainsi que celle du développeur en gérant l’infrastructure comme un code.
  • Publier des applications plus rapidement grâce à l’automatisation.
  • Améliorer l’expérience client grâce à des boucles de rétroaction immédiates et une amélioration en continu.

Le riche catalogue AWS publie un éventail de services très performants pour mettre en place DevOps.
Ci-dessous un aperçu de ces services :
 

1. AWS CloudFormation

AWS CloudFormation fournit un langage commun pour décrire et provisionner toutes les ressources d’infrastructure dans votre environnement cloud.
CloudFormation vous permet d’utiliser un simple fichier texte pour modéliser et provisionner, de manière automatisée et sécurisée, toutes les ressources nécessaires pour vos applications à travers toutes les régions et tous les comptes. Ce fichier sert de source unique de vérité pour votre environnement cloud.
AWS CloudFormation est disponible sans frais supplémentaires, et vous ne payez que les ressources AWS nécessaires à l’exécution de vos applications.
 

2. AWS ECS

Alors que EC2 est le type d’instance le plus couramment utilisé par les clients AWS, ECS (Elastic Container Service) permet d’exécuter des conteneurs dans des instances EC2.
L’avantage de cette option est qu’elle vous permet de tirer parti des fonctionnalités de sécurité et de gestion déjà présentes en tant que client AWS.
En outre, vous ne payez que pour les instances EC2 et le stockage que vous utilisez pour exécuter les conteneurs ECS. Cela rend le passage aux conteneurs transparent.
 

3. AWS CodePipeline

AWS CodePipeline est un service d’intégration continue, qui permet un déploiement rapide et fiable de mises à jour d’applications et d’infrastructures.
CodePipeline crée, teste et déploie votre code chaque fois que celui-ci est modifié, en fonction des modèles de processus de diffusion que vous avez définis. Il vous permet de diffuser des fonctionnalités et des mises à jour de manière rapide et fiable.
CodePipeline s’intègre à des outils tels que GitHub, Jenkins et CodeDeploy, ce qui vous permet de contrôler visuellement le flux des mises à jour d’applications, de la génération à la production.
 

4. AWS CloudWatch

Amazon CloudWatch est un service de surveillance pour les ressources du cloud AWS et les applications que vous exécutez sur AWS.
Vous pouvez utiliser Amazon CloudWatch pour collecter et suivre des métriques, regrouper et contrôler des fichiers journaux, créer des alarmes et réagir automatiquement aux modifications apportées à vos ressources AWS. Amazon CloudWatch peut surveiller les ressources AWS de la même façon que les instances Amazon EC2, les tables Amazon DynamoDB et les instances Amazon RDS DB, ainsi que les mesures personnalisées générées par vos applications et services, et tous les fichiers journaux émis par vos applications.
Vous pouvez utiliser Amazon CloudWatch pour gagner une visibilité à l’échelle du système sur l’utilisation des ressources, la performance de l’application et la santé opérationnelle. Vous pouvez utiliser ces éléments pour réagir et faire en sorte que votre application continue de fonctionner sans problème.
 

5. Serverless computing – Lambda

Avec Lambda, vous pouvez exécuter du code pour pratiquement n’importe quel type d’application sans aucune tâche administrative.
Cela libère les équipes DevOps de se concentrer exclusivement sur la création de nouvelles fonctionnalités pour leurs applications. Il vous suffit de charger votre code : Lambda fait le nécessaire pour l’exécuter et le dimensionner en assurant une haute disponibilité.
Vous pouvez configurer votre code de sorte qu’il se déclenche automatiquement depuis d’autres services AWS, ou l’appeler directement à partir de n’importe quelle application Web ou mobile.
 

Conclusion

Avec des solutions intégrées et managés de surveillance et de conteneur, des types d’instance flexibles et des modèles de tarification, une suite de services complémentaires et des fonctions AWS Lambda innovantes, AWS est un univers d’outils DevOps toujours en expansion.
AWS est aujourd’hui une plateforme Cloud complète de DevOps.