Dev
Microsoft Build 2021 : ce que les DSI doivent en retenir…
Par Laurent Delattre, publié le 03 juin 2021
Consacrée aux développeurs à la fois serveurs, Web, mobiles et desktops, la Build est l’une des grandes conférences internationales organisées chaque année par Microsoft. L’édition 2021 a été marquée par des annonces Azure importantes (notamment en matière de cloud souverain), beaucoup d’IA et l’évolution des frameworks open source et cross plateformes de l’éditeur.
Alours, oui, c’est sûr, la Build 2021 ne restera probablement pas dans les mémoires. Même si Microsoft est arrivé avec plus de 100 nouveautés destinées à simplifier le quotidien des utilisateurs, aucune annonce spectaculaire n’est venue surprendre les observateurs et créer un effet « whaouuu » souvent recherché.
Néanmoins, certaines nouveautés vont impacter profondément les approches Cloud hybrides et le développement en entreprises dans les années à venir. Dès lors, elles méritent que l’on s’y attarde et que les DSI y accordent un peu d’attention… Tour d’horizon de ce qu’il faut retenir de cette édition 2021 de la Microsoft Build.
L’essentiel d’Azure sur vos clouds privés ou souverains…
S’il ne vous faut retenir qu’une seule annonce, alors c’est bien celle-ci. Microsoft rend disponible l’essentiel de la plateforme PaaS Azure (Azure App Service, Azure Functions, Azure Logic Apps, Azure API Management et Azure Event Grid) sous forme de containers pour permettre aux entreprises de la déployer sur site (sur leur cluster Kubernetes) mais aussi sur n’importe quel cloud proposant des clusters Kubernetes à commencer par AWS et GCP !
Bref, vos applications “Cloud Native” s’appuyant sur les plateformes Azure peuvent désormais s’exécuter n’importe où (« Run Anywhere »).
À l’heure où la stratégie française du cloud impose aux administrations, collectivités, OIV et OSE d’uniquement déployer leurs workloads sur des clouds souverains, cette disponibilité en containers de l’essentiel d’Azure change la donne et offre une vraie solution pratique aux organisations françaises qui ont depuis longtemps lourdement investi dans les technologies Azure. Concrètement, les Workloads exploitant ces services Azure pourront intégralement s’exécuter sur des clouds hébergés en France, opérés en France, par des sociétés de droit français.
L’administration (et la facturation) de ces briques Azure PaaS déployées localement s’effectue par le truchement de la console d’administration multicloud « Azure Arc ».
Quand l’IA programme pour l’utilisateur
On le sait, suite à un investissement de plus d’un milliard de dollars dans OpenAI, Microsoft a obtenu l’exclusivité de l’exploitation commerciale de l’IA « GPT-3 » avec ses spectaculaires capacités de compréhension du langage naturel et ses capacités de traduction du langage naturel en code de programmation.
Microsoft a annoncé à la Build mettre en œuvre les capacités de GPT-3 au cœur de son outil de développement Low-Code « Power Apps ». En début d’année, Microsoft a intégré à Power Apps un nouveau langage inspiré des fonctions d’Excel et dénommé Power FX. L’idée consiste à proposer aux entreprises de faire développer l’essentiel des applications métiers en Power Apps par des développeurs (ceux de la DSI par exemple) mais de coder le cœur de la logique métier en Power FX afin que les utilisateurs avancés puissent modifier les règles ou les personnaliser en fonction des besoins.
À Build, Microsoft a introduit Power Apps Ideas, une extension Power Apps qui permet aux utilisateurs d’exprimer leur besoin en langage naturel et qui convertit cette demande en code Power FX. Typiquement, l’utilisateur demande « Montre les 10 commandes qui ont ‘rasoir’ dans le nom du produit et trie par date d’achat par ordre chronologique inverse » et Power FX sait convertir cette interrogation en formule « FirstN(Sort(Search(‘BC Orders’, “rasoir”, “aib_productname”), ‘Purchase Date’, Descending), 10) ». Seul bémol, la demande vocale doit être pour l’instant formulée en anglais ;
Créer des Bots rapidement dans Azure
Microsoft proposait déjà d’une pléthore de solutions et de SDK pour créer des Bots. L’éditeur refond son « Azure Bot Service » qui fournit tout un environnement intégré pour simplifier et fluidifier le développement d’agents conversationnels. Désormais, le service présente un canevas très visuel sur lequel on dépose des outils open source et surtout extensibles afin d’y ajouter par exemple des fonctionnalités NLP (reconnaissance vocale, synthèse vocale) et téléphoniques. Le service vise à permettre la création de bots évolués et multicanaux avec un minimum de code.
Le service s’adresse quand même à des devs qui ont une certaine expérience des bots, de leur développement et de leur fonctionnement. Pour les néophytes, Microsoft conseille de commencer par son autre solution visuelle : le Bot Framework Composer.
Tous les services IA regroupés
Microsoft ne cesse d’améliorer ses Cognitives Services (qui permettent d’enrichir les applications de fonctions IA par simple appel d’APIs) et d’en proposer de nouveaux. Ainsi Document Translation (services de traduction de documents) passe en General Availability (il avait été lancé en preview en février).
Text Analytics for Health passe aussi en « GA », il est conçu pour extraire des données médicales au sein de notes, articles, documents de protocoles et autres.
Parmi les nouveaux services on retiendra Question Answering, un outil d’analyse de textes qui permet de formuler des réponses : on lui passe le texte, une question et il y répond tout seul à l’aide du texte.
Enfin, Azure Video Analyser est un nouveau service qui combine en réalité deux anciens : Video Indexer et Live Video Analytics. Il est vrai que les deux services allaient de pair et étaient souvent utilisés l’un après l’autre. Les regrouper a donc du sens et simplifie la tâche des développeurs.
Microsoft a surtout décidé de regrouper tous les services Azure Cognitive et certains services Azure ML au sein d’une même catégorie appelée « Azure Applied AI Services ».
« L’objectif avec Azure Applied AI Services est de fournir un peu plus de structure et de simplicité pour vraiment accélérer le développement de solutions d’intelligence artificielle et l’intégration de l’IA dans les processus commerciaux de l’entreprise » explique Eric Boyd, VP Azure AI.
Les Applied AI Services s’appuient sur les services cognitifs Azure avec une IA spécifique supplémentaire et une logique d’entreprise pour optimiser les cas d’usages imaginables de sorte que les développeurs passent moins de temps à concevoir des solutions ou à installer des pipelines.
Un support officiel de PyTorch Entreprise
Né chez Facebook, PyTorch est sans aucun doute l’un des frameworks ML open source les plus populaires. Avec le support de PyTorch Entreprise sur Azure, Microsoft veut aider les projets à passer en production et monter à l’échelle en proposant un support unifié et prioritaire.
Project Reunion prend forme
Annoncé à la Build de l’an dernier, Project Reunion est la grande initiative lancée par Microsoft pour unifier tous les frameworks Windows, toutes les API Windows, autrement dit pour réconcilier Win32, WinForms et UWP. Un travail colossal qui va enfin offrir aux entreprises un chemin simplifié pour progressivement moderniser leurs applications métiers Win32 à la sauce UWP.
Lors de la Build 2021, Microsoft a lancé la preview 0.8 de Project Reunion, démontrant une nouvelle fois que la pandémie affecte peu l’avancée de cette initiative qui devrait se concrétiser en fin d’année. Rappelons que Project Reunion repose sur deux autres projets majeurs : le framework open-source et cross-plateforme .NET 6 (en preview 4) et le framework UX moderne WinUI 3. Microsoft a confirmé que .NET 6 serait officiellement lancé le 7 novembre prochain.
Avec ces technologies, le développement sous Windows mais aussi sous Linux et macOS prend une toute nouvelle tournure et devrait considérablement simplifier la vie des DSI et leurs décisions quant aux technologies de développement et apporter des réponses pratiques en matière de modernisation de la dette technique applicative.
En ce qui concerne les développements à la fois Desktop et Mobiles, l’autre projet phare de Microsoft « .NET MAUI » (en Preview 4) progresse également avec l’apparition du support natif du M1 des nouveaux Mac. Rappelons que .NET MAUI permet de créer une même application, avec un seul code C#, pour Windows, macOS, Android, iOS et le Web !
Une roadmap pour Visual Studio 2022
Pour simplifier la prise en charge de .NET 6, WinUI, .NET MAUI et Project Reunion, Microsoft prépare une nouvelle version de Visual Studio, VS 2022. Cette édition se démarque par une nouveauté de taille. Pour la première fois, l’IDE sera livré en version 64 bits. Jusqu’ici, VS permettait de créer et compiler des applications en 64 bits, mais l’IDE lui-même demeurait une application 32 bits, aussi incroyable que cela puisse paraître.
Visual Studio 2022 va enfin corriger cet anachronisme ce qui se traduira notamment par une réduction drastique du temps chargement des gros projets. VS 2022 focalisera également ses efforts sur l’intégration aux services Azure, sur la fluidification des processus liés aux containers, et sur l’ergonomie de l’IDE.
Si aucune version n’a été dévoilée durant la build, une préversion de VS 2022 est annoncée pour cet été avec une sortie d’une version finalisée à la fin de l’année 2021 ou au début de l’année 2022.
WinGet est disponible en version 1.0
Annoncé l’an dernier mais plutôt resté très discret depuis, WinGet, le gestionnaire de package officiel de Microsoft, est désormais disponible en version 1.0 ! Et autant dire qu’il s’impose déjà comme indispensable à tout développeur Windows mais aussi tout administrateur de parcs PC. Inspiré d’équivalents très populaires dans l’univers Linux, cet outil en ligne de commandes permet de rapidement et facilement déployer des environnements complets. En bon gestionnaire de packages, il automatise le processus d’obtention des logiciels, assure leur installation et leur mise à jour, permet d’automatiser leur cycle de vie.
WinGet utilise son propre référentiel public mais il permet également d’utiliser des référentiels privés et peut même voir le Windows Store comme un référentiel (cette fonctionnalité restant en preview). WinGet est disponible en téléchargement depuis l’URL : aka.ms/getwinge
Linux est désormais complètement intégré à Windows 10
Encore une fonctionnalité dévoilée lors de la Build 2020 et déployée à l’occasion de la Build 2021, le support des applications graphiques Linux est désormais intégré à Windows 10 et sa technologie WSL 2. Les développeurs n’ont donc plus à bidouiller avec des daemons X Server pour profiter sous Windows aussi bien des applications Linux en ligne de commandes que des applications graphiques. La nouvelle couche WSLg (Windows Subsystem for Linux GUI) implémente au cœur de Windows une distro Linux contenant à la fois Wayland Server, X Server, Pulse Audio et tout ce qu’il faut pour un support natif et accélérer par GPU des applications Linux graphiques et multimédias !
Bref, Windows 10 intègre donc désormais une distribution Linux complète… Les fans Linux se réjouissent puisque Linux est enfin présent sur chaque Desktop… Pour les entreprises et les développeurs, cette fonctionnalité est surtout un gain de temps, de souplesse et d’efficacité. Les devs peuvent utiliser leur machine Windows pour développer et déboguer leurs containers Linux destinés à être ensuite déployés sur les clouds d’Azure, AWS, GCP et consorts.
Cosmos DB devient vraiment Serveless
Cosmos DB est l’une des offres les plus novatrices et intéressantes de Microsoft. C’est une base de données NoSQL, managée, répartie, affichant des performances exceptionnelles avec des temps de réponse de l’ordre de la milliseconde. Des performances désormais dopées par une nouvelle fonctionnalité en preview dénommée « Integrated Cache ». Grâce à celle-ci les performances des workloads très intensifs en lecture sont boostées jusqu’à 300%. Et les coûts sont parallèlement réduits de 96%. Autre nouveauté, l’apparition de Cosmos DB Linux Emulator qui permet durant les phases de développement de tester en local le fonctionnement des applications s’appuyant sur Cosmos DB même si la machine n’a pas de connexion Internet.
Mais l’annonce la plus importante est l’extension du mode Serverless. Dans ce mode, qui ne demande aucun provisionnement de débit, l’usage de Cosmos DB est seulement facturé aux ressources consommées ce qui en fait un mode idéal pour les workloads connaissant d’importants pics. Désormais le mode Serverless est disponible sur toutes les API autrement dit il est également supporté par les API MongoDB, Cassandra, Gremlin et Table, Cosmos DB supportant ses propres APIs mais aussi celles de ces différentes bases NoSQL.
Microsoft promotionne sa propre distribution Java
En avril dernier, Microsoft lançait en preview sa propre distribution Java, basée sur l’OpenJDK 11 LTS. Rappelons que Java suit deux voies de développement : l’Oracle JDK qui est en avance de phase sur les évolutions du langage et l’OpenJDK développé en open source par une communauté à partir des évolutions proposées par l’Oracle JDK.
Lors de la Build 2021, Microsoft a officialisé la disponibilité générale de sa distribution. L’éditeur l’aurait déjà déployé sur des centaines de milliers de VMs au sein de Microsoft et de LinkedIn.
Son objectif est d’en faire la version de Java par défaut sur Azure avec un support LTS donc sur le long terme.
Par ailleurs, Microsoft a dévoilé un pack d’outils Java pour Visual Studio Code.
AKS débarque sur Azure Stack HCI
Même si les fonctionnalités HCI n’ont pas disparu de Windows Server, l’hyperconvergence s’entend désormais d’abord chez Microsoft au travers des offres d’appliances Azure Stack HCI. Et la bonne nouvelle, c’est que la solution de Serverless au-dessus de Kubernetes (AKS, Azure Kubernetes Service) est désormais disponible sur la plateforme « on-premises » de Microsoft.
Pour en savoir plus
Un kit de développement ARM avec Qualcomm
Qualcomm et Microsoft s’associent pour lancer cet été un kit de développement Windows on ARM, annoncé à prix très accessible et diffusé via Microsoft Store. Basé sur le nouveau processeur bon marché Qualcomm Snapdragon 7c Gen 2 destiné à animer une nouvelle génération de PC à bas prix et très autonome, ce kit se présente sous la forme d’un mini PC façon NUC préinstallé avec Windows 10 on ARM et toute une palette d’outils de développement Windows. Objectif permettre à un plus grand nombre de développeurs, d’éditeurs et d’entreprises de mettre la main sur des PC sous ARM à l’heure où Microsoft veut pousser ARM dans l’univers Windows et où bien des développeurs se confrontent à l’architecture ARM avec les nouveaux Mac à processeur Apple M1.
Les deux partenaires espèrent ainsi briser le cercle « pas de développeurs = pas d’apps = pas d’utilisateurs = pas de développeurs » qui freine pour l’instant l’expansion de l’architecture ARM sous Windows.