Build 2018 : IA, Azure et Microsoft Graph
IA, AZURE ET MICROSOFT GRAPH
La Build, c’est la grande conférence développeurs annuelle de Microsoft. Cette année, elle se déroulait dans un contexte particulier avec la réorganisation de la division Windows. Découvrez toutes les annonces importantes de cette édition 2018…
Chaque année, la conférence « Build! » ( anciennement nommée PDC) diffuse la bonne parole auprès de la communauté des développeurs Windows. Au regard des bouleversements intervenus quelques jours seulement avant son ouverture, cette édition 2018 avait un attrait tout particulier. Terry Myerson, vice- président exécutif de la division « Windows and Devices » depuis 2013, a en effet annoncé son départ. Dans la foulée, on apprenait une importante restructuration de l’entreprise : l’équipe en charge de Windows en tant que plate- forme – guidée par Harv Bhela, Henry Sanders et Michael Fortin – rejoint la division Azure dirigée par Jason Zander, le reste, sous la houlette de Joe Belfiore, rejoignant une nouvelle division dénommée « Experiences & Devices » et dirigée par Rajesh Jha. Oui, vous avez bien lu, Windows n’est officiellement plus une division à part entière de Microsoft ! La transformation n’est pas réellement une surprise. Elle reste néanmoins un véritable tsunami. Elle traduit les interrogations de l’entreprise sur l’avenir des systèmes d’exploitation, et de Windows en particulier, exprimées par Satya Nadella dans une récente interview à TheVerge. com. « Nous avons conçu des OS toute notre existence. Mais qu’est- ce qu’un OS dans un monde où chaque personne utilise une multitude d’appareils et collabore avec une infinité de personnes dans sa vie personnelle comme professionnelle ? Qu’est- ce que construire une plate- forme ? Nous devons nous confronter à ces questions. Nous devons admettre – reconnaître – que chaque utilisateur Windows est aussi un utilisateur de smartphone, qu’il a un appareil Windows, mais aussi des appareils non Windows. Nous devons être capables d’affirmer que Windows et les expériences multi- devices ne sont pas antinomiques. En fait, nous devons faire de chaque application Windows
une application multi- devices. Nous devons faire en sorte que tous les appareils oeuvrent de concert pour aider l’utilisateur à tirer au mieux profit de son ordinateur. »
La vision de Satya
En ouverture de la Build, Satya Nadella a, durant 90 minutes, tracé les contours de ce nouveau Microsoft dont le coeur bat désormais sur trois rythmes : le Cloud, Microsoft 365 et l’IA. Après le « Cloud First, Mobile First » des débuts de l’ère Satya, le nouveau mantra de Microsoft en 2018 devient « Intelligent Cloud, Intelligent Edge » . Pour Satya Nadella, « Si l’on réfléchit à la puissance de calcul pure distribuée par le Cloud, et comment cette puissance de calcul peut être utilisée pour collecter des données, pour fusionner l’information des capteurs, pour analyser ces données et créer des expériences enrichies tout au long de notre vie, c’est assez vertigineux. C’est une opportunité sans limite. Mais c’est aussi une responsabilité. » Microsoft veut montrer la voie. « En tant que compagnie technologique, notre responsabilité est de construire une confiance en ces technologies. C’est aussi de s’assurer qu’elles aideront chacun équitablement. » Pour examiner les incidences de ces technologies sur notre quotidien et sur les générations futures, Microsoft a choisi de se focaliser sur trois piliers.
• Le respect de la vie privée : « La confidentialité est un droit humain. Nous devons le préserver, nous devons le protéger. En nous assurant que lorsque l’on utilise de la donnée privée, c’est bien au bénéfice de l’utilisateur et en nous assurant que celui- ci reste maître de ses données et de leur utilisation. » Satya Nadella rappelant au passage que comme la cybersécurité, la confidentialité n’est pas une destination, mais un voyage.
• La cybersécurité : Microsoft mène un consortium « Tech Accord » de 34 entreprises pour améliorer la cybersécurité dans le monde et travailler à un équivalent numérique de la Convention de Genève.
• L’éthique : « Le temps est désormais venu de se demander non pas ce que les ordinateurs peuvent faire, mais ce qu’ils devraient faire ! » , affirme Satya Nadella. Microsoft a créé un Conseil d’éthique ( Board Ethic) multidisciplinaire destiné à gouverner tous les projets « IA » de l’éditeur.
Windows n’est plus au coeur du monde Microsoft
Ceux qui espéraient quelques réponses sur l’avenir de Windows en auront été pour leurs frais. Le sujet n’a pas vraiment été abordé, même si le CEO de Microsoft est revenu sur les interrogations qu’il exprimait à TheVerge : « Dans une journée, nous utilisons de multiples appareils, dans de multiples lieux, interagissant avec de nombreuses personnes, mais aussi de nombreux capteurs. Nous avons besoin d’un OS, nous avons besoin d’une plate- forme, ce qui rend abstrait cette diversité matérielle, qui crée un modèle applicatif à ce niveau d’abstraction. Individuellement, les appareils demeurent importants et le demeureront, mais nous avons besoin de cette méta- orchestration. Nous devons élever d’un niveau notre conception même de ce qu’est un système d’exploitation… » À cet instant, certains ont pu croire à l’annonce d’AndromedaOS ( cf. encadré). Mais Satya Nadella a terminé sa phrase par « Et c’est ce qu’est Microsoft 365… Microsoft 365 combine Windows et Office [ Ndlr : mais aussi la suite Enterprise Mobility+ Security, le tout uni
au- dessus de la couche Microsoft Graph] pour construire cette expérience, ce service, cette plate- forme, à la fois multi- device et multi- sensorielle » . En un mot, Windows n’est plus qu’une simple composante – qui pourrait devenir optionnelle à l’avenir – d’une vision élargie dénommée Microsoft 365.
Objectif Microsoft 365
S’il faut retenir un message clé de cette Build, c’est que Microsoft souhaite désormais que tous ses développeurs Windows ou Office se voient en développeurs « Microsoft 365 » . Plusieurs annonces vont en ce sens.
• Désormais, il est possible d’écrire des fonctions Excel en JavaScript ! Elles s’appellent comme n’importe quelle autre fonction Excel. Celles- ci sont déployées et hébergées dans le Cloud Office 365. Dès lors, toute amélioration apportée sur la fonction est instantanément répercutée sur tous les tableaux de l’entreprise qui y font appel.
• Les Adaptive Cards chéries par Google Now sont désormais disponibles sous Windows 10, mais aussi sous Outlook et sous Teams.
• Il est possible d’intégrer des paiements directement sous Outlook grâce à Outlook Payment qui s’appuie sur Microsoft Pay.
• Vos pages Sharepoint vont pouvoir s’intégrer directement dans Teams. Il n’en reste pas moins qu’un vrai développeur « Microsoft 365 » ne maîtrise pas seulement Windows et Office 365, c’est surtout un développeur maîtrisant Microsoft Graph. La couche de savoirs informationnels est le véritable coeur de Microsoft 365 et le socle de toute cette stratégie. La Timeline de Windows 10 ( BRK2417) et les futurs SETS ( BRK2412) reposent sur Microsoft Graph. Tout Office 365 repose dessus. Et toute l’Intelligence artificielle que Microsoft est en train d’insuffler à Word, PowerPoint, Excel, Teams et Outlook en dépend totalement. Jusqu’ici focalisé sur les identités et objets numériques, Microsoft Graph s’ouvre désormais au monde physique : il acquiert les connaissances de lieux ( restaurants, hôtels, POI…) et peut s’enrichir des données de capteurs placés par l’entreprise. Ce socle fondamental s’interface avec les Azure Cognitive Services ( THR3304) et les Azure Functions ( THR3302), mais aussi avec PowerApps et Flow ( BRK2303). Il est essentiel à l’élaboration de Bots d’entreprise vraiment intelligents ( THR2413) et à toute entreprise « Data- Driven et User- Centric » ( BRK2410). Barracuda l’utilise aussi pour son bouclier de défense antifraude Sentinel ( THR2436) et Microsoft le présente comme une composante clé pour sécuriser toutes les applications et toutes les données ( WRK2506). Bref, vous n’échapperez
pas à Microsoft Graph et mieux vaut apprendre à le maîtriser notamment au travers des deux sessions THR2407- 1 et THR2407- 2.
Le recentrage de Windows 10
Contrairement à ce que certains ont un peu vite affirmé, tout ceci ne signe pas l’arrêt de mort de Windows. Windows est toujours là et ne disparaîtra pas, ni chez Microsoft, ni sur les PC des entreprises. Mais si Microsoft a longtemps cherché à faire de Windows un OS universel et ubiquiste, le rêvant au centre de tout l’univers numérique, l’éditeur semble désormais – enfin ? – résigné à recentrer Windows sur ce qu’il est et a toujours été : l’OS des PC. Tant qu’il y aura des PC, il y aura du Windows. Plutôt que de vouloir décliner Windows à toutes les sauces, Microsoft cherche désormais à faire que tout ce qui est numérique dans notre univers fonctionne simplement mieux avec Windows. Un recentrage déjà entamé et déjà visible sur les versions « Insiders » de RedStone 5. Plusieurs annonces de la Build vont en ce sens .
• La TimeLine sera bientôt accessible des terminaux Android, via Microsoft Launcher et Edge pour Android, mais également les appareils iOS ( via Edge pour iPhone).
• L’application YourPhone vient illustrer cette volonté d’étendre la collaboration entre les smartphones et le PC : elle permet de piloter le smartphone du PC pour par exemple afficher les SMS et y répondre à partir du PC ou encore pour déclencher à distance une photo sur le smartphone et instantanément la copier/ coller dans PowerPoint sur son PC. Principalement pensé pour Android, YourPhone ne sera que partiellement compatible iOS – à moins que Apple ouvre sa plate- forme iMessage.
• Microsoft semble avoir mis le frein sur la multiplication des fonctionnalités « folkloriques » et semble concentrer ses efforts sur l’amélioration de ce qui existe déjà dans Windows.
• La nouvelle technologie SETS n’apparaîtra peut- être pas dans RedStone 5 si Microsoft estime que l’écosystème n’est pas prêt. SETS permet de regrouper plusieurs applications dans une même fenêtre avec des onglets. Le groupe peut- être automatiquement rappelé à tout moment via la Timeline. Pour cela, les développeurs, notamment les développeurs Win32/. NET doivent adapter leurs logiciels.
• Microsoft cherche à réconcilier Windows avec son historique logiciel. L’univers WinRT et surtout le Fluent Design System s’ouvrent désormais aux développeurs Win32 et . NET. Grâce aux UWP XAML Islands, les développeurs peuvent insuffler l’ergonomie et le look Fluent à toutes leurs applications Windows traditionnelles qu’elles soient basées sur Windows Forms, WPF ou Win32.
• Les développeurs . NET vont désormais pouvoir utiliser la version open- source « . NET Core » pour développer des applications « Desktop » . Jusqu’ici « . NET Core » était focalisé sur le développement d’applications web et BackOffice Cloud. L’apparition des « Windows Desktop Packs » pour « . NET Core 3.0 » ouvre l’univers Desktop de
Windows – et que de Windows ! – à la prochaine version du framework open- source attendue pour la fin 2018. Celle- ci conservera bien sûr sa philosophie cross plate- forme pour tous les développements web/ cloud. Mais adopter le « . NET Core 3.0 » en lieu et place de l’actuel « . NET Framework » permettra enfin aux développeurs de logiciels bureau de profiter d’un framework évoluant indifféremment des versions de Windows.
Windows, la « DevBox » universelle
Microsoft continue de vouloir faire du PC sous Windows la « DevBox » universelle. Après le support de multiples distros Linux directement sous Windows via le Windows Store ( Ubuntu, Debian, SUSE, OpenSuse, Kali) et le support des développements iOS/ Android sous Visual Studio, Microsoft continue d’améliorer l’universalité de Windows. Le support annoncé des Line Feeds Linux dans Notepad peut paraître anecdotique, mais changera la vie de bien des Devs. Plus importante, la compatibilité de l’émulateur Android avec Hyper- V va permettre enfin aux développeurs Visual Studio de développer pour les mobiles et pour les Hololens sur une même machine. Mais l’élément clé pour l’avenir de Windows est sans aucun doute le support natif des PWA ( Progressive Web Apps), des Web Apps qui se comportent comme des apps natives et sont installables en dehors du navigateur et utilisables hors ligne. Ce support est désormais intégré dans Windows 10 « 1803 » . C’en est même la principale nouveauté si l’on omet la TimeLine. Lors d’une session dédiée au PWA ( BRK2428), Microsoft a confirmé sa ferme intention de supporter les évolutions de ce nouveau format applicatif avec une volonté : offrir sous Windows la meilleure expérience possible à vos contenus web. Forcément cross plates- formes, les PWA continuent de supporter tous les frameworks et langages du Web, mais ont aussi accès à certaines fonctionnalités natives des plates- formes sans pour autant perdre leur compatibilité multi- OS. Elles sont aujourd’hui perçues par les entreprises comme la meilleure approche pour accélérer les développements cross plates- formes ( Windows, Mac, Web, mobiles) et optimiser le ROI des projets. Sous Windows 10 1803, les Web Apps peuvent fonctionner directement sous Edge – et bien sûr Chrome – ou sous forme d’App au sein d’un conteneur et avec son propre process. Elles sont exposées comme des Apps dans le Windows Store. Lors de la Build, Microsoft a annoncé que sous RedStone 5, les WPA disposeraient d’un troisième mode de fonctionnement au sein d’une fenêtre offrant une interface de navigation minimale – ce qui est important pour les WPA mal pensées n’incorporant pas leur propre bouton de retour par exemple – et pourront être installées sans passer par le Web directement depuis Edge. De même l’intégration des PWA avec l’univers Windows 10 va s’enrichir. Il est pourtant déjà très complet puisque les PWA sous « 1803 » supportent déjà les fonctions de partage du système, le centre de notifications, les Jump- Lists, la vignette dynamique sur l’accueil, la Timeline, etc. Microsoft compte voir les PWA profiter du look et de l’ergonomie « Fluent » par le
truchement du projet « Fluent Web » . Il est même possible d’appeler du code C# ou C++ depuis l’application web par le biais d’un objet WinRT à incorporer ou via les Portable Class Libraries. À noter que les développeurs n’ont pas nécessairement besoin de déclarer leurs PWA dans le Store Windows. Il suffit qu’ils créent un fichier Manifest complet et que leur PWA soit crawlée par Bing pour qu’elles apparaissent dans le Store – après vérification de leur conformité par Microsoft. Le processus est actuellement en bêta.
Nouveaux Outils Devs
Pas de Build sans annonce de nouveaux outils dédiés aux développeurs. On retiendra particulièrement l’ouverture des Azure DevOps au monde GitHub ainsi que l’intégration de Visual Studio App Center à GitHub pour automatiser les processus DevOps des développeurs d’applications mobiles iOS et Android s’appuyant sur GitHub. L’annonce la plus remarquable restera sans doute la disponibilité de Visual Studio Live Share, un outil gratuit qui transfigure le travail collaboratif des développeurs. D’une part, il permet une édition simultanée du code source par deux développeurs, chacun sur sa machine, avec des vues indépendantes, mais une vision temps- réel des modifications apportées par chacun, que ces développeurs soient sur Visual Studio ou sur Visual Studio Code, et donc qu’ils soient sous Windows, Mac ou Linux. Au- delà de l’édition, Visual Studio Live Share permet aussi un debugging partagé ! Une session en explique tous les détails : BRK2130. Pour ceux qui s’intéressent aux Blockchains, signalons l’introduction d’Azure Blockchain Workbench, un nouvel outil de développement spécialisé sur le sujet et largement décrit dans une session dédiée ( BRK2104). Pour ceux qui débutent sur le sujet, signalons au passage la très didactique session « An introduction to Blockchain with Mark Russinovich » ( BRK2507).
Banco sur l’IA
L’Intelligence artificielle était omniprésente durant cette Build 2018. Elle s’introduit même désormais au coeur des outils de développement. Microsoft a en effet annoncé Visual Studio IntelliCode, dont l’objectif est d’utiliser l’IA pour aider les développeurs à améliorer la qualité de leur code ou plus simplement leur productivité en faisant des suggestions au moment même de l’écriture. L’un des objectifs de cette Build 2018 était de faire de tous développeurs Azure et Windows un développeur IA. Pour cela, Microsoft compte à la fois sur de nouveaux outils destinés à faciliter l’accessibilité des technologies IA et sur une ouverture maximale de tous ses services Azure : l’essentiel des outils proposés s’appuient sur « ONNX » , l’Open Neural Network Exchange Framework développé avec Facebook, et permettent d’utiliser n’importe quel framework de réseau de neurones, notamment TensorFlow et CNTK, pour bâtir les modèles. Parmi les outils largement mis en avant,
on retiendra le nouveau jeu d’API dédié à l’IA sous Windows 10 : WinML simplifie l’exécution de modèles pré- entraînés sous Windows. L’interface permet de tirer profit des éventuelles accélérations matérielles présentes sur la machine qu’ils s’agissent de GPU ( via DX12), de VPU comme les Movidius Myriad X d’Intel, ou des NPU intégrés dans certains CPU ( SnapDragon 835/ 845, Huawei Kirin 970). L’objectif est notamment de simplifier l’usage des modèles sur les Devices autrement dit dans le « Edge » et constitue l’une des fondations de l’Intelligent Edge prôné par Satya Nadella. On notera au passage que les outils Azure ne sont pas uniquement pensés pour WinML puisque le support d’Apple Core ML est également présent dans Azure Machine Learning, le service Azure dédié à la conception et l’apprentissage des modèles. Par ailleurs, Visual Studio 2017 ( Preview 15.8) intègre de nombreux raccourcis et assistants pour simplifier la manipulation des modèles entre le Cloud Azure ML et vos applications. Microsoft a également annoncé une nouvelle initiative sur cinq ans, dotée d’un budget de 25 millions de dollars, pour encourager l’utilisation de l’Intelligence artificielle comme moteur d’intégration des handicapés : IA for Accessibility ( www. microsoft. com/ AIforAccessibility). Vidéo à découvrir sur : https:// youtu. be/ bbrZ2pvubL0.
Intelligent Cloud
La véritable star de la Build, c’était bien sûr Azure. Staya Nadella décrit désormais son Cloud comme le World’s Computer, un ordinateur mondial construit sur quatre piliers : Azure Cloud, Azure Stack – pour disposer de l’essentiel d’Azure Cloud dans le Datacenter de l’entreprise –, Azure IoT Edge et Azure Sphere. L’essentiel des sessions tournait autour d’Azure avec, Build oblige, une mise en avant assez prononcée des solutions de Serverless Computing et un accent mis sur Azure Functions, sur le très étonnant et surpuissant Azure Event Grid, sur l’incontournable AKS ( Azure Kubernetes Service), pour créer un cluster d’exécution de conteneurs sous Kubernetes entièrement managé et sur Azure Container Instances, pour exécuter instantanément un conteneur sans se soucier de la gestion du moindre serveur, ce service étant sans doute le moyen le plus instantané et le plus trivial au monde pour placer un conteneur dans le Cloud. Parmi les annonces, on retiendra l’ouverture aux développeurs du projet Brainwave via Azure ML. Depuis quelques mois, Microsoft déploie des FPGA accélérateurs d’IA sur tous ses serveurs Azure. Ils étaient utilisés jusqu’ici par Bing et les Congnitive Services. Ils sont supposés être 5 fois plus efficaces que les TPU utilisés par
Google et permettraient par exemple l’analyse de 540 images par seconde là où un CPU n’en gère qu’une trentaine. Microsoft ouvre également à quelques partenaires l’accès à ses cartes FPGA Brainwave pour le Edge Computing. L’accent a aussi été mis sur les Azure Cognitive Services qui offrent des API très simples à mettre en oeuvre pour la traduction de texte, la reconnaissance vocale, la synthèse vocale, la reconnaissance d’objets, de personnes et d’émotions au sein d’images et de vidéos. Azure Search s’intègre désormais à ces services IA pour offrir à vos services et applications une recherche plus intelligente sur les contenus audio, photo et vidéo. La particularité des Azure Cognitive Services est qu’ils sont déclinés en version « Custom » , où les entreprises peuvent envoyés des modèles personnalisés pour ajuster les reconnaissances à leurs propres besoins. Autre particularité, ces services peuvent être packagés en conteneur pour être ensuite directement embarqués et exécutés sur des appareils. Ce qui introduit le dernier volet de la conférence…
Intelligent Edge
Décidément, le Cloud étant désormais bien implanté partout, le marketing informatique ne jure plus que par le « Edge Computing » . Microsoft le voit « Intelligent » et comme un ensemble de technologies permettant de déplacer le Cloud au plus proche du terrain et des sources d’information. Le coeur de la stratégie Microsoft en la matière repose sur le runtime « Azure IoT Edge » , notamment utilisé pour exécuter les Custom Cognitive Services et les modèles issus d’Azure ML sur les objets connectés – y compris sur Raspberr Pi. Lors de la Build, Microsoft a officiellement annoncé l’accès en Open Source de son runtime Azure IoT Edge ! Ce dernier s’exécute aussi bien sous Windows que sous Linux. Et Microsoft a profité de la Build pour annoncer différents partenariats autour de son « Intelligent Edge » . Un kit développeur de vision intelligente pour la sécurité des maisons et des infrastructures industrielles est en cours de développement avec Qualcomm et sera disponible d’ici à la fin de l’année. Objectif : vous entraînez votre reconnaissance d’objets ou de situations dans le Cloud Azure et vous déployez votre application de surveillance dans les caméras Qualcomm. Autre partenariat phare, DJI, leader des drones, propose un nouveau SDK pour Windows 10 permettant un contrôle total du vol, mais aussi le transfert du flux vidéo en temps réel et son intégration aux services d’analyse cognitive. L’objectif est de permettre aux développeurs d’imaginer des solutions de surveillance par drones tirant parti d’Azure IoT Edge et des services d’IA de Microsoft pour concrétiser de nouveaux scénarios dans la sécurité d’infrastructures critiques, l’agriculture, la construction, etc. Enfin, on signalera l’annonce surprenante du Projet Kinect pour Azure. Kinect fait donc son retour dans une nouvelle formule : il s’agit d’un nouvel ensemble de capteurs organisés autour d’une caméra de profondeur nouvelle génération et embarquant une unité NPU ( Neural Processing Unit) compatible Azure IoT Edge. Bref, cette Build 2018 se sera révélée beaucoup plus riche et surprenante qu’attendu. Elle aura aussi eu le mérite d’éclairer un peu plus les développeurs sur la vision de Microsoft pour les prochaines années… ❍