Conférence Ignite : Microsoft lance Azure Container Apps, un service de conteneur serverless entièrement géré
pour la création et le déploiement d’applications modernes et microservices à grande échelle

La traditionnelle conférence Ignite de Microsoft dédiée aux technologies cloud et outils développeur les plus récents a débuté le 2 novembre. Parmi les nombreuses annonces faites par la firme de Redmond, on notera le lancement d'Azure Container Apps, un service de conteneur serverless entièrement géré pour la création et le déploiement d’applications modernes et microservices à grande échelle.

Microsoft Azure fournit déjà différentes manières d'exécuter des conteneurs, notamment Azure Kubernetes Service (AKS) pour un déploiement complet de Kubernetes ; Azure App Service, qui peut exécuter à la fois des conteneurs Linux et Windows ; et Azure Container Instance, qui peut être utilisé de manière autonome ou pour augmenter les capacités d'AKS sans ajouter de serveurs. Mais Azure Container Apps - comme l'explique Jeff Hollan, directeur de produit chez Microsoft - vient aider les équipes à créer des solutions de microservices où elles peuvent avoir des conteneurs qui communiquent entre eux et tirent parti d'une architecture que Kubernetes peut fournir, sans avoir à comprendre, provisionner et gérer le cluster Kubernetes sous-jacent.

Rappelons que le serverless est un modèle de développement cloud-native qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer des serveurs. Ce modèle nécessite quand même des serveurs, mais leur gestion est dissociée du développement des applications. Le fournisseur de cloud se charge du travail de routine : il approvisionne l'infrastructure de serveurs, assure son bon fonctionnement et la met à l'échelle. Les développeurs n'ont alors plus qu'à mettre en paquet leur code dans des conteneurs pour déployer les applications. Une fois que les applications serverless sont déployées, elles répondent à la demande et se mettent à l'échelle automatiquement en cas de besoin.

Cela dit, Azure Container Apps est un service d'hébergement centré sur les applications serverless où les utilisateurs ne voient ni ne gèrent aucune machine virtuelle, orchestrateur ou autre infrastructure cloud sous-jacente. Azure Container Apps permet d'exécuter du code d'application empaqueté dans n'importe quel conteneur sans se soucier de l'exécution ou du modèle de programmation. Il répond aussi aux exigences spécifiques des microservices, notamment la communication chiffrée de service à service et la gestion indépendante des versions et de la mise à l'échelle des services.

Dans les coulisses, chaque application s'exécute sur Azure Kubernetes Service. Le service Containers Apps utilise aussi deux projets open source parrainés par Microsoft, à savoir : KEDA (Kubernetes Event-driven Autoscaling) qui joue un rôle dans les capacités de mise à l'échelle, et Dapr (Distributed Application Runtime) qui accélère la productivité des développeurs.

Mise l’échelle dynamique en fonction du trafic HTTP ou des événements alimentés par KEDA

Azure Container Apps gère la mise à l'échelle horizontale via un ensemble de règles déclaratives de mise à l'échelle. Par défaut, Azure Container Apps passe à l'échelle zéro et suspend la facturation lorsqu'elle n'est pas utilisée. À mesure qu'une application conteneur évolue, de nouvelles instances de l'application conteneur sont créées à la demande. Container Apps prend en charge de nombreux déclencheurs de mise à l'échelle. Cela inclut les déclencheurs HTTP et ceux basés sur les événements alimentés par Kubernetes Event Driven Autoscaling (KEDA), notamment Azure Event Hub, Apache Kafka, RabbitMQ Queue, MongoDB, MySQL et PostgreSQL. KEDA est un autoscaleur riche avec de nombreuses options de mise à l'échelle d'événements continuellement apportées par la communauté.

Accélération du développement de microservices avec Distributed Application Runtime (Dapr)

Dapr est un runtime open source piloté par les événements qui codifie les meilleures pratiques pour créer des applications de microservices portables en blocs de construction indépendants de la plateforme en utilisant le langage de développement et le framework de votre choix. Azure Container Apps propose une version entièrement gérée des API Dapr. Avec Dapr pour Azure Container Apps, les "sidecars" peuvent être activés pour s'exécuter à côté de vos instances d'application et fournir un riche ensemble de fonctionnalités et des gains de productivité.

Nom : dapr.png
Affichages : 132752
Taille : 56,9 Ko

Gestion du cycle de vie des applications

Azure Container Apps rationalise aussi la gestion du cycle de vie des applications en prenant en charge plusieurs "révisions" pour gérer les versions des applications, en permettant la répartition et l'équilibrage du trafic entre les versions des applications, en sécurisant les secrets des applications, en connectant différentes applications et en offrant une surveillance intégrée via Log Analytics.

Actuellement, Azure Container Apps est en préversion. La disponibilité générale est prévue dans « quelques mois » d'après Microsoft, mais la date exacte n'est pas encore connue. Notons également que pour le moment, seuls les conteneurs basés sur Linux sont pris en charge.

Essayez gratuitement Azure Container Apps ou en savoir plus