Les composants de base du service CaaS de Microsoft est Azure Container Engine, dont le code source est disponible sous licence open source sur GitHub. Le moteur de conteneur Azure agit comme un générateur de modèles pour le gestionnaire de ressources Azure Ressource Manager (ARM). Ceux-ci peuvent être gérés via une API avec l’un des outils d’orchestration suivants : Docker Swarm, DC/OS et Kubernetes (depuis février 2017).
Les fonctions disponibles pour les utilisateurs ACS dans l’exploitation des applications conteneurisées dans le Cloud Azure dépendent du choix de l’orchestration.
Le gestionnaire de cluster DC/OS de Mesosphere est utilisé dans le cadre du service de conteneur Azure en combinaison avec la plateforme d’orchestration Marathon. Une telle structure fournit aux utilisateurs l’ensemble des fonctions suivantes :
- Interface utilisateur basée sur le Web : l’administration des clusters de conteneurs s’effectue via l’interface utilisateur Web de l’orchestrateur Marathon.
- Haute disponibilité :Marathon est géré en tant que cluster actif/passif. Pour chaque nœud actif se trouve un nœud passif entièrement redondant qui, en cas de défaillance du nœud actif, prend en charge ses tâches.
- Service-Discovery et Load-Balancing :DC/OS, avecMarathon-LB, fournit un équilibreur de charge basé sur HAProxy et un DNS Mesos, un outil de découverte de services basé sur DNS.
- Contrôles de santé : le statut des applications peut être demandé avec Marathon via http ou TCP. Les fonctions de surveillance sont disponibles via une API REST, la ligne de commande ou l’interface utilisateur Web.
- Métriques :Marathon fournit des mesures détaillées de JSON via une API, qui peut être transmise à des outils de surveillance tels que Graphite, statsD ou Datadog.
- Service de notifications : les utilisateurs de DC/OS avec Marathon dans le Cloud Azure ont la possibilité de réserver un point de terminaison http pour les notifications liées aux événements.
- Groupes d’applications : sur demande, les conteneurs peuvent être regroupés en « Pods », qui peuvent être gérés en tant qu’unités autonomes.
- Déploiement basé sur des règles : les restrictions vous permettent de définir précisément où et comment les applications sont distribuées dans le cluster.
Dans la version Docker-Swarm, ACS s’appuie sur la Suite Docker, utilisant les mêmes technologies open source que le Dockers Universal Control Plane (composant de base du Docker Datacenter). Implémenté dans Azure Container Service, Docker Swarm offre les fonctionnalités suivantes pour l’orchestration et la mise à l‘échelle des applications de conteneur.
- Docker Compose : la solution de Docker pour les applications multi-conteneurs permet de relier plusieurs conteneurs entre eux, et de les gérer de manière centralisée avec une seule commande. Dans ce cas, un nombre quelconque de conteneurs, y compris toutes les dépendances, sont définis dans un fichier de contrôle basé sur le langage d’attribution YAML.
- Contrôle via la ligne de commande : le docker CLI (interface de ligne de commande ou Command Line Interface)et l’outil multi-conteneurs Docker Compose permettent l’administration directe des clusters de conteneurs via la ligne de commande.
- REST API :l’API Docker Remote permet d’accéder à divers outils d’écosystème docker tiers.
- Déploiement basé sur des règles : la distributiondes conteneurs docker dans le cluster peut être gérée via des étiquettes et des contraintes.
- Service-Discovery :Docker Swarm propose aux utilisateurs diverses fonctions de découverte de services.
Depuis février 2017, les utilisateurs d’ACS ont également pu accéder à l’orchestrateur Kubernetes pour automatiser l’administration des applications de conteneur, ainsi que le déploiement et la mise à l’échelle des clusters Azure. En outre, en tant qu’implémentation ACS, Kubernetes fournit toutes les fonctions de base répertoriées dans la section Google Container Engine.
ACS peut aussi être intégré dans le service Cloud Azure :
- Azure Portal et Azure CLI 2.0 :les utilisateurs configurent des clusters de conteneurs via le portail Azure, l’interface utilisateur centrale de la plateforme Cloud, ou l’interface de ligne de commande Azure CLI 2.0.
- Azure Container Registry :Azure Container Registry fournit également aux utilisateurs Microsoft un référentiel Repository privé pour déployer des images Docker.
- Operations Management Suite (OMS) : les fonctionnalités de surveillance et de journalisation des services de conteneur sont fournies par la Microsoft Operations Management Suite (OMS).
- Azure Stack : une opération de conteneur dans des environnements Cloud hybrides peut être réalisée avec l’ajout d’Azure Stack.
Par ailleurs, Microsoft présente des fonctions CI/CD (intégration continue de déploiement) avec ACS pour les applications multi-conteneurs, développées avec Visual Studio Team Services ou l’outil open source Visual Studio Code.
La gestion des identités et accès chez Azure est pilotée par Active Directory, dont les fonctions de base sont gratuites pour les utilisateurs jusqu‘à 500 000 répertoires d’objets. Comme pour Amazon ECS, le service Azure Container Service n’implique aucun frais pour l’utilisation des outils de conteneur. Des frais ne sont facturés que pour l’utilisation de l’infrastructure sous-jacente.
Aperçu du service Microsoft Azure Container Service