La conférence Build est l’un des évènements dédiés aux développeurs et professionnels des TI les plus attendus de l’année. Depuis le début de la pandémie, on a désormais l’occasion d’assister, en live, gratuitement à l’évènement.
La Build Conference est l’occasion pour Microsoft de dévoiler ses dernières avancées technologiques. La firme profite de l’évènement pour mettre à la disposition des développeurs les nouvelles versions de ses outils, présenter des mises à jour de ses plateformes, etc.
Dans ce billet de blog, je me propose de revenir sur quelques annonces intéressantes pour les développeurs, en particulier ceux qui ont de l’intérêt pour le Cloud.
I – Annonces et nouveautés des services PaaS
On a eu droit lors de la conférence build à plusieurs annonces en ce qui concerne les services PaaS (Platform as a Service) dans Azure.
La plus importante, selon moi, concerne le service d’exécution des applications conteneurisées en mode serverless, à savoir Azure Containers Apps
1 – Disponibilité générale de Azure Containers Apps
Si vous me suivez, vous devez savoir que je m’intéresse depuis plusieurs mois au petit nouveau dans le monde des services de conteneurs : Azure Containers App. J’ai d’ailleurs fait une présentation sur le service lors du Global Azure 2022 et j’ai également rédigé un billet de blog sur ce dernier.
Container Apps est un service de conteneurs serverless entièrement managé pour la création et le déploiement d’applications modernes à grande échelle.
Azure Container Apps est un service qui permet d’avoir à disposition un Kubernetes avec en supplément des fonctionnalités de scalling basés sur des évènements, ceci sans la complexité de la gestion du cluster et des APIs Kubernetes. De plus à moindre cout grâce à l’approche Serverless.
Les applications basées sur Azure Container Apps peuvent être mises à l’échelle dynamiquement en fonction des caractéristiques suivantes :
- Trafic HTTP
- Traitement piloté par les évènements
- Charge du processeur ou de la mémoire
- N’importe quel scaler pris en charge par KEDA
Les applications basées sur Container Apps sont déployées dans un environnement isolé. La technologie KEDA est utilisée pour la mise en l’échelle et le runtime Darp (Distributed Application Runtime) est directement intégré à la solution.
La disponibilité générale veut dire que le service est assez stable et robuste pour être utilisé dans un environnement de production.
2 -Azure Communication Services Mobile UI Library
Azure Communication Services un est service cloud doté d’API REST et de SDK qui vous aident à intégrer la communication à vos applications. Vous pouvez ajouter la communication à vos applications sans être un expert des technologies sous-jacentes telles que l’encodage des médias ou la téléphonie.
La nouvelle bibliothèque Mobile UI annoncée lors de la conférence build permet aux développeurs de gagner en temps et réduit la complexité en fournissant des composants d’interface utilisateur prêt à l’emploi pour les applications Web. L’outil prend en charge 13 langues.
Parallèlement, Microsoft a annoncé la préversion de Azure Communication Services Email, qui permettra de simplifier l’intégration des notifications par Email aux applications.
En savoir plus sur le service : https://azure.microsoft.com/en-us/services/communication-services/
3 – Azure Spring Apps
Initialement connu sous le nom de Azure Spring Cloud, Microsoft a renommé son service PaaS développé en collaboration avec VMWare pour l’exécution des applications Java Spring dans le Cloud.
Azure Spring Apps permet de déployer facilement des applications Spring Boot dans Azure, et sans aucune modification du code. Le service gère l’infrastructure des applications Spring, ce qui permet aux développeurs de se concentrer sur leur code. Azure Spring Apps assure la gestion du cycle de vie en utilisant des outils complets, tels que la supervision et les diagnostics, la gestion des configurations, la découverte de services, l’intégration CI/CD, les déploiements bleus-verts, etc.
Un service très intéressant donc pour la migration des charges de travail Java Spring avec le minimum d’ajustement et d’effort.
En savoir plus : https://docs.microsoft.com/fr-fr/azure/spring-cloud/
4 – Azure Kubernetes Service
Le service managée Kubernetes de Microsoft a eu droit à de nombreuses nouveautés et améliorations pour simplifier la vie aux développeurs. On noter entre autres :
- La sortie de Draf 2. Il s’agit de la nouvelle version d’un projet open source qui permet aux développeurs de créer facilement des applications qui s’exécutent sur Kubernetes. A l’aide de Draf, les développeurs peuvent créer des Dockerfile, des manifestes kubernetes, des chart Helm pour leurs applications plus simplement. Draft peut également générer un fichier de workflow GitHub Action pour créer et déployer facilement des applications sur n’importe quel cluster Kubernetes. https://github.com/Azure/draft/
- L’intégration de l’expérience Draf (encore au stade préversion) aux outils de Gestion d’Azure à savoir : Azure CLI, Visual Studio Code et plus tard le portail Azure sont notamment supportés
- L’ajout des modules complémentaires pour le routage d’applications Web. Selon Microsoft, il s’agit du moyen le plus simple pour rendre votre application Web opérationnelle dans Kubernetes, en toute sécurité, tout en réduisant la complexité de la gestion d’un contrôleur d’entrée, de la gestion des certificats et Paramétrage DNS.
- Mise à l’échelle pilotée par des évènements avec KEDA. Une nouvelle extension est désormais disponible pour KEDA, ce qui permet d’installer rapidement l’outil dans un Cluster AKS et bénéficier des fonctionnalités de mise à l’échelle pilotée par les évènements.
- Plusieurs autres optimisations ont été apportées en ce qui concerne la gestion du cluster, la mise en réseau et les performances.
5 – Azure App Service
La plateforme d’hébergement d’application dans le Cloud de Microsoft a eu droit à plusieurs améliorations et nouveautés dont :
- La prise en charge du protocole gRPC (Google Remote Procedure Call). Cette fonctionnalité va permettre aux développeurs qui ont fait le choix du gRPC dans leurs applications, d’être désormais en mesure d’héberger celles-ci sur Azure. La fonctionnalité est toutefois encore au stade de préversion.
- La publication « d’App Service Landing Zone Accelerator ». L’accélérateur est une combinaison de documentation et d’automatisation pour aider les clients à déployer sur App Service Environment v3, des actifs conformes avec la référence « enterprise scale deployment » d’Azure App Service.
- La sortie prochainement de Azure App Service bulk migration. Il s’agit d’un outil qui permettra aux entreprises d’évaluer les applications ASP.NET, catégoriser celles prêtes pour la migration, suggérer les plans tarifaires à utiliser et fournir les guides et configuration pour migrer ces actifs vers Azure App Service.
6 – Autres annonces
Les autres annonces dans la catégorie des services PaaS concernent :
- La disponibilité générale d’Azure Service Bus Explorer. Il s’agit d’une fonctionnalité assez intéressante pour effecteur des actions (envois/réception des messages) sur une file d’attente ou une rubrique Service Bus à partir du portail Azure.
- Des optimisations ont été apportées au service d’intégration Azure API Management, dont le support de GraphQL et Token Store.
II – Outils de développement et DevOps
Dans la catégorie outils de développement et DevOps, les développeurs pourront apprécier de nouveaux services qui ont été annoncés par Microsoft afin d’accélérer leur vélocité et permettre à ceux-ci de se concentrer sur le besoin métier à implémenter.
1 – Microsoft Dev Box et Azure Deployment Environments
Il s’agit de deux services à venir dont l’objectif est de décharger le développeur de l’installation des outils de développement, SDKs, configuration des outils, etc. sur leur station de travail, et avoir accès en tout temps à des environnements de développement, même en situation de mobilité.
Microsoft Dev Box offrira aux développeurs un accès en libre-service à des stations de travail cloud hautes performances préconfigurées et prêtes à coder pour des projets spécifiques. Les environnements de déploiement Azure permettront aux équipes de développeurs de déployer rapidement l’infrastructure des applications avec des modèles basés sur des projets qui établissent la cohérence et les meilleures pratiques.
Les deux services centraliseront la gestion et la gouvernance, permettant aux développeurs de se concentrer sur le codage tout en maximisant la sécurité, la conformité et la rentabilité.
Vous pouvez vous inscrire afin de tester le service lors de la preview privée à partir de ce lien : http://aka.ms/devbox-signup
2 – .NET Multi-platform App UI (.NET MAUI)
Voilà plusieurs mois déjà qu’il était possible de créer des applications multiplateformes mobiles et de bureau avec C# et XAML en utilisant .NET MAUI. Mais, ce dernier était encore au stade de préversion.
La plateforme est désormais disponible en version stable.
.NET MAUI vous permet de créer des applications natives à l’aide d’un kit de ressources d’interface utilisateur multiplateforme .NET qui cible les facteurs de forme mobiles et de bureau sur Android, iOS, macOS, Windows et Tizen.
.NET MAUI est open source et est l’évolution de Xamarin.Forms, étendue des scénarios mobiles aux scénarios de bureau, avec des contrôles d’interface utilisateur reconstruits à partir de la base pour les performances et l’extensibilité. Si vous avez déjà utilisé Xamarin.Forms pour créer des interfaces utilisateur multiplateformes, vous remarquerez de nombreuses similitudes avec .NET MAUI. https://docs.microsoft.com/en-us/dotnet/maui/
3 – GitHub Copilot
Voulez-vous faire de la programmation en binôme avec un assistant virtuel ? C’est ce que vous offre GitHub Copilot.
Il s’agit d’un agent conversationnel développé par GitHub qui vous assiste dans l’écriture du code. Il est disponible comme une extension pour Visual Studio Code, l’éditeur de texte Neovim et les outils JetBrains.
L’outil repose sur OpenAI Codex, une intelligence artificielle qui a été entrainée avec des milliards de lignes de code des projets open source. Grâce à cela, GitHub Copilot est capable de deviner le contexte à partir des commentaires, nom des fonctions, etc., et générer le code correspondant.
L’outil existe en préversion depuis l’année dernière et sera en disponibilité générale au plus tard cet été. Il sera gratuit pour les étudiants, les contributeurs open source, mais aussi pour ceux qui se sont enregistrés à la conférence Build.
À date les langages bien supportés sont Python, JavaScript, TypeScript, Ruby, Java et Go.
En savoir plus : https://copilot.github.com/
III – Azure AI
Dans la catégorie intelligence artificielle, les annonces les plus intéressantes sont les suivantes :
- L’annonce de la préversion d’Azure OpenAI. Il s’agit d’un service cognitif, accessible à partir d’API REST, permettant aux développeurs d’exploiter de puissants modèles de langage OpenAI dans leurs applications. Ces modèles peuvent être facilement adaptés à des tâches spécifiques, comme la génération de contenu, la synthèse, la recherche sémantique, le langage naturel et la traduction de code, entre autres. Les utilisateurs peuvent accéder au service par le biais des API REST, du SDK Python ou de l’interface web dans Azure OpenAI Studio. Pour en savoir plus : https://azure.microsoft.com/en-us/services/cognitive-services/openai-service/#overview
- Azure Cognitive Service for language : Microsoft avait fait le choix il y’a près d’un an de réunir ses services cognitifs de langage LUIS, QnA Maker et Text Analytics au sein de Azure Cognitive Service for language. Ce service offre des fonctionnalités de traitement en langage naturel (NLP) pour comprendre et analyser du texte. Vous pouvez l’utiliser pour facilement créer des applications intelligentes à l’aide de l’API REST, les SDK client et l’outil Web Language Studio. Documentation : https://docs.microsoft.com/en-us/azure/cognitive-services/language-service/
- Azure Form Recognizer a été doté de nouvelles capacités pour traiter encore plus de documents, dont l’enregistrement des patients et la vérification des vaccins. Cela a été rendu possible grâce à des modèles prédéfinis de carte d’assurance et de carte de vaccin. Pour information, Form Recognizer est un service cognitif qui utilise des modèles de Machine Learning pour extraire des paires clé-valeur, le texte et les tableaux de vos documents. Form Recognizer analyse vos formulaires et documents, extrait le texte et les données, mappe les relations entre les champs en tant que paires clé-valeur et retourne une sortie JSON structurée. Documentation : https://docs.microsoft.com/en-us/azure/applied-ai-services/form-recognizer/
- Azure Machine Learning responsible AI dashboard sort en perversion. Il s’agit d’un nouvel outil qui va aider les développeurs et data scientist à implémenter plus facilement l’IA responsable. Le tableau offre des fonctionnalités comme l’explorateur de données, l’équité et l’interprétation des modèles, l’analyse des erreurs et l’analyse des inférences contrefactuelles et causales.
IV – Conclusion
La conférence Build a été riche en annonces. Il y’a eu plusieurs autres annonces tout aussi intéressantes dans les catégories comme l’infrastructure Azure, Azure Data ou encore le Cloud Hybrid.
Je regrette toutefois qu’on n’ait eu aucune annonce en ce qui concerne la prise en charge des services PaaS sur site grâce à Azure Arc et Kubernetes. Il s’agit d’une option intéressante qui avait été présentée par Microsoft lors de la build 2021. L’objectif étant de permettre le développement Cloud natif sur site. Grâce à ce service, les développeurs sont capables de déployer et utiliser Azure App Service, API Managment, Logic Apps, Azure Functions, etc. dans des cluster Kubernetes sur site et chez les autres fournisseurs Cloud. La fonctionnalité est toujours au stade de préversion et n’évolue pas rapidement selon moi.
Pour finir, je vous recommande de participer au Microsoft Build Cloud Skills Challenge. Il s’agit de trois défis d’apprentissage (Azure Developer Challenge, Microsoft 365: Building Applications and Solutions Challenge, Power Platform: App Maker Challenge), qui vous permet de vous former à votre rythme sur Microsoft Learn et d’obtenir gratuitement à la fin du défi un voucher pour passer une certification.
Toutes les annonces de la conférence build sont incluses dans le MICROSOFT BUILD BOOK OF NEWS