• en
  • MS Build 2021

    La semaine dernière avait lieu la conférence annuelle Microsoft Build. Pour ceux et celles qui ne connaissent pas, Microsoft Build est LE rendez-vous à ne pas manquer pour les développeur.se.s.

    Avec la situation mondiale actuelle, Microsoft avait un gros défi, soit celui d’organiser un tel événement à distance. En effet, l’événement était télédiffusé gratuitement et en direct simultanément sur plusieurs fuseaux horaires. 

    À l’horaire, on n’y retrouvait pas moins de 600 sessions. Chez Nexus, nous avons donc demandé à notre équipe d’experts de vous produire un résumé des plus complets. Dans un but de vous partager uniquement la crème de la crème, nous leur avons chacun posé la question suivante : « Qu’est-ce qui a le plus retenu ton attention à la conférence Microsoft Build 2021? » 

    Bonne lecture! 

    Miguel Bernard 

    Pour moi, un des points marquants de la conférence a été tous les développements autour de la gestion des gros volumes de données et le comment bâtir une couche d’intelligence artificielle par-dessus le tout. Microsoft fait de nombreux efforts pour rendre de plus en plus accessible des capacités avancées d’AI avec leurs modèles pré-entrainés et offerts en SaaS. 

    Lors de la conférence, nous avons d’ailleurs vu des ajouts à la famille des "cognitives services" tels que Azure Video Analyzer. Ce nouveau service permet une analyse automatique de vos fichiers vidéo et est capable d’identifier des objets, des comportements et d’en faire ressortir des anomalies. 

    Microsoft est le seul vendeur à autant fournir des offres en AI sous forme de PaaS et SaaS. 

    PaaS : Pour les pro dev et data scientist 

    SaaS : Pour les power users qui utilisent du no-code, low-code 

    La beauté dans tout ça, c’est que tous ces services sont interopérables, ce qui permet aux organisations de bâtir très rapidement de la valeur d’affaires par-dessus leurs données. 

    Microsoft nous a aussi laissé un avant-goût de ce qui s’en vient pour le futur. Dans une des démos, en entrainant un AI avec seulement quelques échantillons (~20) de voix d’une personne, l’AI était capable de dicter n’importe quel texte avec la voix de la personne. C'est très impressionnant, mais cela existait déjà. Là où j’ai vraiment été surpris, c’est quand ce même AI a commencé à parler d’autres langues avec la voix de personne, et ce sans aucun accent! Nous ne sommes vraiment pas loin d’un traducteur universel où vous pourrez parler n’importe quelle langue et un AI pourra traduire en temps réel votre appel vers la langue de votre interlocuteur, et ce, avec votre voix. 

    Jonathan Dinelle 

    0 Trust & Microsoft Identity Platform: 

    Le Cloud amène des enjeux de sécurité importants. Par exemple, le code est partagé à l’externe, sur différents réseaux et parfois même à des consultant.e.s. Le principe du 0 trust est assez simple. Vérifier explicitement les accès à chaque requête, donner le moins d’accès possible et toujours travailler comme si l’information allait être compromise, c’est-à-dire, toujours encrypter les sessions. 

    Ce qui nous amène à Microsoft identity platform, ce dernier permet de gérer le 0 trust facilement: 

    • Donner des “access policies” directement aux ressources Azure (ex: donner accès au app-service de lire des clés dans un key vault) sans exposer de secret dans le code 
    • Une panoplie de librairies qui permettent un développement rapide et qui font la majorité du travail pour l’authentification 
    • Des API 
    • Permet d’enlever des accès à quelqu’un instantanément 
    • Des “QuickStarts” qui permettent d’avoir un login en 5 minutes 
    • Des rotations de clés/certificats faciles sans redéploiements 

    Alexandre Tardif 

    Ce qui a retenu mon attention : 

    • WSL : 
      - La nouvelle interface du CMD permet d’ouvrir plusieurs onglets et de choisir le type (WSL, Powershell).
      - Les applications GUI Linux sont maintenant supportées. Il est même possible de lancer une application web dans un navigateur roulant sous Linux dans Visual Studio. 
      - Il est aussi possible de debugger dans WSL 2 à partir de Visual Studio en lançant l’application dans ce dernier à la place de IIS. 
    • GitHub Codespaces :  
      - Présentation des fonctionnalités de Codespaces. 
      - Permet d’avoir un environnement déjà monté avec plusieurs dépendances déjà installées. 
      - Permet d’avoir les même extensions VSCode pour tout le monde qui utilise le même Codespace. 
      - Permet d’ouvrir le port de l’application local au public. 
    • Présentation de Playwright qui permet de tester une application dans plusieurs engines de navigateur (Chromium, Webkit et Firefox). 
    • Démonstration de la nouvelle fonctionnalité de Intellicode qui détecte un refactor et suggère de le compléter. 

    Alexandre Paolitto 

    Ce qui a retenu mon attention et qui rejoint plusieurs présentations est la rapidité et la facilité de mise en place d’une foule d’éléments.  

    Par exemple, dans la présentation sur « Microsoft Identity Platform », on met en place une authentification avec quelques éléments de configuration et ±5 lignes de code. Bref, peu d’effort et ça fonctionne du premier coup ! Combien de pratiques a-t-il eu avant ? L’histoire ne le dit pas 😉. 

    Ensuite, dans la présentation « Build cloud-native applications that run anywhere », on présente tout le « boilerplate » que ça prend actuellement afin d’être versatile et de pouvoir déployer n’importe où. Déjà, l'équipe Microsoft a bâti des modèles d’application fonctionnelles disponibles sur github afin de s’en inspirer ou s’en servir. Ensuite grâce à Azure ARC, on peut maintenant ajouter une région « on premise ». Lors de la présentation, il a pris pour exemple son portable (au lieu d’une région Azure) ! Tout ça est transparent via des configurations, alors encore une fois, très rapide à mettre en place. Les présentateur.rice.s ont aussi montré que leurs configurations peuvent être sur github. Le bénéfice est que si une correction doit être apportée dans la configuration, il est possible de la changer et la pousser sur github et celle-ci est ensuite automatiquement poussée partout. D’ailleurs, Azure Monitor permet de voir tout le « cluster » en une seule vue et de voir le changement d’effectuer en temps réel. 

    Dans la présentation « Develop apps with MS Graph Toolkit », une fois de plus, les présentateur.rice.s ont démontré comment il est facile et rapide de s’authentifier à M365. Ainsi, avec 3-4 lignes de code, l’équipe Microsoft a mis en place l’authentification, la gestion des permissions, l’affichage de l’agenda de l’utilisateur avec les profils des gens, etc. Très peu d’effort pour de gros résultats, une fois de plus. 

    Un sujet qui me semble moins connu, mais qui m’intéresse aussi traitait de Azure Maps Creator. Il existe déjà Azure Maps qui offre toute sorte de fonctionnalités liées à la cartographie, telles que d’établir des routes, des recherches d’adresse, des opérations spatiales, l’altitude, etc. Azure Maps Creator permet de reprendre ceci afin de créer ses propres cartes, comme par exemple, de son édifice. Ce qui rend cela particulièrement intéressant, c’est qu’on peut ensuite le combiner avec des appareils intelligents pour afficher des informations en temps réel sur la carte. Un exemple auquel je pense serait d’établir si un appareil a placé un appel d’urgence, déterminer son emplacement, l’afficher sur la carte et calculer la route pour se rendre à cette personne dans les plus brefs délais.  

    Jean Bilski 

    Il y a deux choses qui ont retenues mon attention lors de cet évènement :  

    • Visual Studio Code :  
      - Intégration d'une UI spécifique pour Tensorflow et PyTorch.
      - Intégration d'une UI unifiée pour les tests unitaires, support multi langages, avec comparaison visuelle des assertions comparable au différentiel git. On dit au revoir aux tests en CLI !  
      - Auto-débuggeur et profileur Node prêt à l'emploi sans besoin de configuration. Ouvrez le terminal VS Code, tapez "npm start" et admirez le graph en temps réel de consommation mémoire et CPU de votre serveur Node. Propre. 
      - Notebook python semblable à ce que peut offrir Jupyter, directement dans l'interface. Ce nouveau composant se décline en RESTBook, permettant de créer des collections de requêtes web comme Postman. Pour couronner le tout, ce composant est également ouvert aux plugins, permettant des intégrations diverses tel que GitHub Issues. J'ai hâte de pouvoir trier mes tickets avec un script ! 
    • Azure Arc : 

    Ce dernier est revenu très souvent lors des conférences. N'importe quel cluster Kubernetes peut à présent être connecté à Azure, permettant de répondre aux besoins de proximités des objets connectés. 

        - Un cluster est associé à une région Azure personnalisée.
    - Permet de déployer l'ensemble des clusters à partir d'un repo git unique.
    - Avec KEDA il permet de scaler des Azure Functions automatiquement dans son propre cluster.
    - Intégration d'une Azure Migration App afin de faciliter l'intégration de ses containers (Parce qu'on a tous un container Linux avec une application Java quelque part).
    - Container Storage Integration (CSI) Secret Store pour accéder à Azure Key Vault depuis les nodes 

    Raphaël Hauton 

    Parmi les très nombreuses présentations, mon attention s'est surtout portée sur l'environnement de développement .NET. 

    • Un aperçu des nouveautés de .NET 6 qui vont bien aider et être agréable pour coder: 
      - DateOnly et TimeOnly. Alléluia! Pourquoi elles n'apparaissent que maintenant ces structures?! 
      - Hot Reload, possibilité de modifier le code à la volée en debug sans avoir besoin de breakpoint. Ça j'ai hâte! 
      - Nouvelles méthodes Linq (DistinctBy, MaxBy, Chunk, ...). Linq est un super composant et je suis bien content de voir qu'ils continuent à l'enrichir. 
      - Performances des FileStream améliorées. 
    • Roadmap pour Visual Studio 2022 (enfin 64 bits!) annoncée avec une version preview disponible pour 3e trimestre 2021. Beaucoup de nouvelles fonctionnalités en vue, mais j'espère surtout des meilleurs performances/fiabilité.
      À suivre... 

    Marc-André Poulette 

    Ce qui as retenu mon attention : 

    • .NET 6 , C#10 qui met l’accent sur :  
      - Cross platform native UI 
      - Cross-platform web UI (Blazor) 
      - Cloud native investments 
      - Performance 
    • Minimal codes for minimal apps :
      - Global usings 
      - Hot reloads 
      - Demo d’un web API simple, avec .net 6 vs .net core vs express.js 
    • KEDA : Kubernetes based event driven auto scaling  
      - Based on current metrics (more events, more scaling) 
    • Durable functions & Durable Back-ends 
      - Netherite & SQL in alpha 
    • Azure ARC : Déployer des trucs dans Kubernetes 

    Douglas Simões 

    Ce qui a retenu mon attention était:

    • L'annonce des capacités Preview d'azure application services d'exécuter une application de service (App Service, Azure Function, Logic Apps, etc) dans Kubernetes.  
      - Il peut être très utile pour profiter des avantages de Kubernetes sans diminuer la productivité causée par la courbe d'apprentissage de kubernetes. 
      - Nous pouvons le faire avec Azure Arc en utilisant cluster Kubernetes au lieu d'un Azure region lors de la création d'une application de service.  
    • Plusieurs nouveautés dans Azure Cosmos DB, parmi les nouveautés : 
      - Augmentation du free tier de 400 RU/s à 1000 RU/s.
      - Cost-optimized Diagnostics maintenant en preview. 
      - Integrated cache annoncée en preview (les Point reads and queries qui utilisent le cache intégré n'utilisent pas le RU's)).
    • Dans le prochain patch du SDK, il va avoir quelques bonnes options qui sont en private preview maintenant : 
      - Edition avec id et partition key, il n'est plus nécessaire de lire, modifier et sauvegarder. 
      - Supprimer toutes les données (il n'est plus nécessaire de supprimer le conteneur entier et à le recréer ou de sélectionner tous les documents et les supprimer).

    Levi Rocha  

    C'est impossible de trouver une entreprise en TI qui n'est pas touchée par le "global talent shortage". Microsoft est clairement au courant de cette pénurie de main d'œuvre et ont mis un gros focus sur leur réponse. Cette réponse peut être divisé en 2 gros points: Augmentation du "Developer Velocity" et Adoption de l'Open Source.  

    Plusieurs présentations ont été faites pour montrer comment la plateforme Microsoft peut augmenter la vélocité des développeurs: Des nouveaux outils de développement et collaboration, des nouvelles features pour les outils existants, un push vers l'adoption du low code et no code, le "shift-left" des assurances de qualité et sécurité en mettant en place les méthodologies DevSecOps, ainsi que l'intégration entre tous ces outils centralisés dans la plateforme Microsoft. Finalement, en adoptant l'Open Source, l'entreprise peut exploiter les talents au-dehors de leurs employés. 

    C'est aussi très intéressant de voir l'alignement entre les valeurs de Nexus et ce que Microsoft propose avec leur framework "SPACE" pour la vélocité de développement: Le S veut dire "Satisfaction and well-being", c'est à dire garder le bonheur des humains derrière les solutions en premier. 



    Il est difficile de bien expliquer en détails une conférence aussi complète que Microsoft Build, mais nous espérons que nous vous avons donnez assez l’eau à la bouche pour aller en apprendre plus sur les divers sujets que vous avons couverts dans notre résumé. 

    Faisons connaissance
    Vous désirez en savoir plus et/ou collaborer avec nous?

    Nous avons hâte de vous lire.