Développement et tests plus rapides avec le développement assisté par conteneurs
Les conteneurs offrent un moyen cohérent de construire, partager et exécuter des applications dans différents environnements. Bien que les conteneurs soient généralement utilisés pour conteneuriser votre application, ils facilitent également incroyablement l'exécution des services essentiels nécessaires au développement. Au lieu d'installer ou de vous connecter à une base de données distante, vous pouvez facilement lancer votre propre base de données. Mais les possibilités ne s'arrêtent pas là.
Avec le développement assisté par conteneurs, vous utilisez des conteneurs pour améliorer votre environnement de développement en émulant ou en exécutant vos propres instances des services dont votre application a besoin. Cela permet des boucles de rétroaction plus rapides, moins de couplage avec les services distants et une plus grande capacité à tester les états d'erreur.
Et le meilleur de tout, vous pouvez bénéficier de ces avantages que l'application principale en cours de développement s'exécute ou non dans des conteneurs.
Ce que vous apprendrez
- La signification du développement assisté par conteneurs
- Comment connecter des applications non conteneurisées à des services conteneurisés
- Plusieurs exemples d'utilisation de conteneurs pour émuler ou exécuter des instances locales de services
- Comment utiliser des conteneurs pour ajouter des outils de dépannage et de débogage supplémentaires à votre environnement de développement
À qui s'adresse ce guide ?
- Équipes qui souhaitent réduire le couplage qu'elles ont avec l'infrastructure partagée ou déployée ou les points de terminaison d'API distants
- Équipes qui souhaitent réduire la complexité et les coûts associés à l'utilisation directe des services cloud pendant le développement
- Développeurs qui souhaitent faciliter la visualisation de ce qui se passe dans leurs bases de données, files d'attente, etc.
- Équipes qui souhaitent réduire la complexité de la configuration de leur environnement de développement sans impacter le développement de l'application elle-même
Intégration d'outils
Fonctionne bien avec Docker Compose et Testcontainers.
Modules
Qu'est-ce que le développement assisté par conteneurs ?
Le développement assisté par conteneurs est l'idée d'utiliser des conteneurs pour améliorer votre environnement de développement en exécutant des instances locales ou des émulateurs des services sur lesquels votre application s'appuie. Une fois que vous utilisez des conteneurs, il est facile d'ajouter des services supplémentaires pour visualiser ou dépanner ce qui se passe dans vos services.
Démo : exécuter des bases de données localement
Avec le développement assisté par conteneurs, il est facile d'exécuter des bases de données localement. Dans cette démo, vous verrez comment le faire, ainsi que comment connecter une application non conteneurisée à la base de données.
TipApprenez-en plus sur l'exécution de bases de données dans des conteneurs dans le guide Utiliser des bases de données conteneurisées.
Démo : simuler des points de terminaison d'API
De nombreuses API nécessitent des données provenant d'autres points de terminaison de données. En développement, cela ajoute des complexités telles que le partage des informations d'identification, la disponibilité et la limitation du débit. Au lieu de compter directement sur ces services, votre application peut interagir avec un serveur d'API simulé.
Cette démo montrera comment l'utilisation de WireMock peut faciliter le développement et le test d'une application, y compris les différents états d'erreur des API.
TipApprenez-en plus sur l'utilisation de WireMock pour simuler une API dans le guide Simuler des services d'API avec WireMock.
Démo : développer le cloud localement
Lors du développement d'applications, il est souvent plus facile d'externaliser des aspects de l'application vers des services cloud, tels qu'Amazon S3. Cependant, la connexion à ces services en développement local introduit des politiques IAM, des contraintes réseau et des complications d'approvisionnement. Bien que ces exigences soient importantes dans un environnement de production, elles compliquent considérablement les environnements de développement.
Avec le développement assisté par conteneurs, vous pouvez exécuter des instances locales de ces services pendant le développement et les tests, supprimant ainsi le besoin de configurations complexes. Dans cette démo, vous verrez comment LocalStack facilite le développement et le test d'applications entièrement depuis le poste de travail du développeur.
TipApprenez-en plus sur l'utilisation de LocalStack dans le guide Développer et tester des applications AWS Cloud avec LocalStack.
Démo : ajouter des outils de débogage et de dépannage supplémentaires
Une fois que vous commencez à utiliser des conteneurs dans votre environnement de développement, il devient beaucoup plus facile d'ajouter des conteneurs supplémentaires pour visualiser le contenu des bases de données ou des files d'attente de messages, alimenter des magasins de documents ou des éditeurs d'événements. Dans cette démo, vous verrez quelques-uns de ces exemples, ainsi que la manière dont vous pouvez connecter plusieurs conteneurs ensemble pour faciliter encore plus les tests.