Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Docker a lancé la version bêta publique du plugin pour les déploiements simplifiés sur AWS,
Pour les services ECS et Fargate

Le , par Stan Adkens

57PARTAGES

6  0 
Docker a annoncé la version bêta publique de son intégration renforcée de Docker avec AWS Elastic Container Service (ECS) et AWS Fargate. La sortie du plugin ECS simplifie le processus de déploiement et de gestion des conteneurs dans AWS à partir d'un environnement de développement local utilisant Docker. La nouvelle fonctionnalité permet aux développeurs de travailler dans le cadre de l'expérience Docker afin de créer l'infrastructure nécessaire pour fonctionner au sein d'AWS.

Dans un article de blog publié plus tôt ce mois, Chad Metcalf de Docker a expliqué que cette nouvelle fonctionnalité répond aux besoins de simplicité des développeurs. Selon lui, l’équipe Docker a travaillé pendant plus d'un an, et le plugin est disponible maintenant en version bêta afin d’« offrir aux développeurs puissance et simplicité, du bureau au Cloud, grâce à Compose ».


« Bien que les développeurs aiment la simplicité de Compose, ils n'ont pas eu de moyen simple d'utiliser Docker et de déployer sur AWS de manière transparente à partir de leur environnement de développement local. Cela étant dit, nous sommes ravis que Docker ait annoncé aujourd'hui une collaboration avec AWS qui permet aux développeurs d'utiliser Docker Compose et Docker Desktop pour déployer des applications sur Amazon ECS sur AWS Fargate », a écrit Carmen Puccio d’AWS dans un billet de blog.

« Auparavant, prendre un fichier Compose local et l'exécuter sur Amazon ECS représentait un défi en raison des constructions dans Amazon ECS qui ne faisaient pas partie de Compose specification, mais qui étaient nécessaires pour que l'application fonctionne dans AWS. Par exemple, pour exécuter un simple fichier Compose et le déployer sur Amazon ECS, un développeur devait d'abord quitter l'expérience Docker et configurer un VPC Amazon, un cluster Amazon ECS et une définition de tâches Amazon ECS pour ne citer que quelques-unes des ressources AWS nécessaires », a-t-il ajouté.

Mais dans le cadre de la collaboration de Docker avec Amazon Web Services, les développeurs peuvent continuer à utiliser des outils tels que le CLI de Docker et Docker Compose sans avoir besoin de configurer ces ressources dans AWS en dehors de l'expérience Docker, car celle-ci est désormais gérée en mode natif. Il suffira dorénavant pour un développeur de créer et de passer à un nouveau Docker context, pour envoyer simplement une commande d'activation via Docker Compose, qui créera automatiquement ces ressources dans AWS, d’après Puccio. « Cela permet aux développeurs de déployer et d'exécuter facilement des applications de production hautement sécurisées et évolutives dans Amazon ECS ».

Plus besoin de créer séparément les ressources AWS ECS

Avec la version bêta actuelle, il est nécessite d’utiliser une syntaxe ecs supplémentaire dans les commandes de Docker car le plugin est directement exploité à court terme. Par exemple, l'exécution de la commande docker ecs compose up créera l'application et toutes les ressources nécessaires dans AWS comme c’est décrit dans le fichier compose.yaml. Il n'est donc pas nécessaire de créer séparément les ressources AWS ECS qui ne font pas partie de la norme "Compose spécification", telles que les VPC (Virtual Private Cloud), les clusters ECS et les définitions de tâches ECS.


Lors de la disponibilité générale du plugin, l'expérience sera intégrée à Docker Desktop et un développeur pourra simplement changer de contexte pour exécuter ses applications sur Amazon ECS en utilisant les commandes Docker auxquelles il est habitué. Le plugin ECS Docker nécessite la mise en place d'un profil AWS pour sélectionner les références API AWS nécessaires. Une fois créés, le profil et la région AWS sont stockés dans le Docker context. Ceci peut être initié via la commande docker ecs setup.

Le plugin va analyser le fichier compose.yaml et le convertir dans le modèle CloudFormation approprié. Ce modèle est ensuite utilisé pour créer les ressources de l'application dans l'ordre prescrit. Les ressources peuvent être nettoyées via la commande down ou seront automatiquement nettoyées en cas d'échec du déploiement.

L'intégration de l'ECS s'effectue en quatre étapes. La phase Chargement s'appuie sur compose-go pour charger et analyser le fichier compose.yaml. Dans la phase Validation, les valeurs par défaut de l'ECS sont injectées dans le modèle compose-go et le fichier compose.yaml est validé pour s'assurer qu'il ne contient pas de fonctionnalités non prises en charge. La phase Conversion produit un modèle CloudFormation qui définit toutes les ressources d'application nécessaires pour mettre en œuvre le modèle d'application sur l'AWS. Enfin, la phase Application permet d'appliquer le modèle CloudFormation en le déployant sur AWS. C’est au cours de ce processus que les services Compose sont mis en correspondance avec les services ECS.

L'abstraction de réseau est mappée à partir du modèle Compose dans les groupes de sécurité AWS. L'application est créée au sein d'un seul VPC, les groupes de sécurité étant créés par le réseau Compose, y compris celui par défaut. Les services sont ensuite attachés en fonction de la façon dont les réseaux sont déclarés dans le modèle Compose. Cela permet aux services attachés à un groupe de sécurité commun de communiquer entre eux.

Un espace de noms privé Cloud Map est également créé pour chaque application sous la forme {projet}.local. AWS Cloud Map est un service de découverte de ressources. Il permet l'enregistrement de toutes les ressources d'une application avec des noms personnalisés. Cloud Map vérifie ensuite l'état de fonctionnement des ressources enregistrées pour s'assurer que leur emplacement est à jour.

AWS souhaite qu’une fois que l'intégration du Docker ECS aura atteint la disponibilité générale plus tard cette année, que les utilisateurs commencent à migrer leurs charges de travail de production vers la nouvelle expérience. Pour tester la version bêta publique, vous pouvez vous inscrire pour avoir un Docker ID, ou utiliser votre Docker ID existant, et télécharger la dernière version de Docker Desktop Edge 2.3.3.0 qui inclut la nouvelle expérience. Il existe également une application de démonstration disponible dans le repo GitHub.

Cette collaboration n’est pas la première du genre. En juin dernier, Microsoft et Docker ont donné aux développeurs la possibilité désormais d’utiliser des commandes Docker natives pour exécuter leurs applications avec Azure Container Instances dans la dernière version Docker Desktop. « La nouvelle version Edge de Docker Desktop fournit une intégration entre Docker et Microsoft Azure qui vous permet d'utiliser des commandes Docker natives pour exécuter vos applications en tant que conteneurs sans serveur avec Azure Container Instances », a déclaré Mike Morton, Senior Program Manager, Azure Tools.


Sources : Docker, AWS

Et vous ?

Que pensez-vous du nouveau plugin AWS ECS ?
Quels commentaires faites-vous du nouveau processus de déploiement des applications sur Amazon ECS à partir de Docker Compose et Docker Desktop ?

Voir aussi :

Les développeurs peuvent désormais utiliser des commandes Docker natives, pour exécuter leurs apps avec Azure Container Instances dans la dernière version Docker Desktop
Docker annonce "Compose specification", la norme ouverte de son système Compose, pour la création des applications multi-conteneurs
L'extension Docker pour Visual Studio Code passe en version 1.0, elle vient faciliter la création d'applications qui exploitent les conteneurs Docker
Microsoft Azure et Hyper-V annoncent le support de Docker Machine et Swarm, Docker Compose suivra prochainement

Une erreur dans cette actualité ? Signalez-le nous !