Dans un article récent, Microsoft introduit un nouveau service de conteneur appelé Azure Container Instances. Microsoft définit ce service comme un moyen de :
Fournir des conteneurs avec simplicité et rapidité, sans infrastructure VM pour les gérer.
L'essor des microservices et de DevOps a favorisé l'adoption des conteneurs. Corey Sanders, directeur de l'offre serveur chez Microsoft, explique certains des avantages de l'utilisation des conteneurs :
Les conteneurs offrent une norme largement acceptée et ouverte, ce qui permet la portabilité simple entre les plateformes et entre les Clouds.
Microsoft dispose d'une plateforme de conteneurs appelée Azure Container Services (ACS). ACS propose une solution d'hébergement de conteneurs qui permet d'ajouter des outils d'orchestration open source tels que Mésosphère DC/OS, Kubernetes ou Docker Swarm au service Azure.
Le service Azure Container Instances (ACI) propose une expérience simplifiée qui ne nécessite pas d'apprendre de nouveaux concepts d'orchestration ou modèles de programmation. ACI vous permet de commencer à déployer rapidement des conteneurs afin de débuter le développement et le test de vos cas d'utilisation. ACI peut également être utilisé pour l'éclatement et le passage à l'échelle par opposition aux machines virtuelles où il y a une plus grande prévisibilité autour de sa consommation.
Avec la prise en charge de nombreuses technologies de conteneurs au sein d'Azure, Microsoft se positionne de la manière suivante:
Image Source : https://azure.microsoft.com/en-au/services/container-instances/
Les instances de conteneurs Azure permettent de provisionner finement avec des options des conteneurs. Sanders explique :
Un Azure Container Instance est un conteneur qui démarre en quelques secondes et est facturé à la seconde. ACI propose un dimensionnement sur mesure, vous permettant de sélectionner la quantité exacte de mémoire séparée différenciée du nombre de vCPU, de sorte que votre demande corresponde parfaitement à l'infrastructure. Vos conteneurs seront facturés à la seconde utilisée et pas plus, et n'utiliseront pas un Go de plus que nécessaire.
L'écosystème Azure considère les ACI comme des objets de premier plan. En conséquence, ils sont en mesure de profiter de nombreuses fonctionnalités Azure, en particulier les Role-Based Access Control (RBAC). Les développeurs peuvent également tirer parti des tags pour la facturation au niveau du conteneur individuel. Cependant, comme Azure expose directement les Azure Container instances, il n'y a pas de gestion de machine virtuelle requise ou, comme le dit Sanders :
C'est juste votre code, dans un conteneur, tournant dans le Cloud.
Le provisionnement d'un ACI se fait avec une seule ligne avec l'outil en ligne de commande Azure (CLI).
Image Source: https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/
Le contrôle du nombre de cœurs et de mémoire nécessaires dans le conteneur sont des paramètres à ajouter à la déclaration du conteneur présentée plus haut.
Image Source: https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/
Les Azure Container Instances ont été conçus avec comme objectif la simplicité et ne sont pas destinés à remplacer les moteurs d'orchestration. En conséquence, Microsoft a publié un connecteur ACI pour Kubernetes en open source qui permet de déployer des clusters Kubernetes ACI. Sanders décrit les avantages de cette approche :
Cela permet la création à la demande et presque instantanée de conteneurs, orchestrée par Kubernetes, sans avoir l'infrastructure VM pour gérer l'ensemble et tout en exploitant l'API Kubernetes. Cela vous permettra d'utiliser à la fois les machines virtuelles et les instances de conteneurs simultanément dans le même groupe K8S, vous donnant le meilleur des deux mondes.
Les clients ont également la possibilité de migrer les modèles ACI et ACS, permettant aux développeurs de déployer du Kubernetes, contrairement aux autres fournisseurs de Cloud.
Les Azure Container instances sont actuellement disponibles en avant-première publique pour les conteneurs Linux, le support pour Windows étant attendu dans les semaines à venir.