Capacités courantes des PaaS de grands fournisseurs de services infonuagiques

13.3 Capacités courantes des PaaS de grands fournisseurs de services infonuagiques

Objectifs d'apprentissage

À la fin de cette section, vous serez en mesure de :

  • Apprendre à utiliser les services PaaS infonuagiques de l'Internet des objets
  • Apprendre à utiliser les services PaaS infonuagiques d'apprentissage automatique peu profond et profond
  • Apprendre à utiliser les services PaaS infonuagiques de chaîne de blocs
  • Comprendre le support des services PaaS pour les applications de réalité étendue
  • Comprendre le support des services PaaS pour les services d'impression 3D/4D
  • Établir un lien avec les services PaaS pour le développement d'applications infonuagiques

Pour les entreprises qui recherchent toutes les fonctionnalités existantes dans l'IaaS, ainsi qu'un service qui fournit une plateforme complète pour développer, tester et lancer leurs applications, la plateforme en tant que service (PaaS) est devenue l'une des meilleures options. En plus des serveurs, du réseau et de la sécurité que l'IaaS fournit, le PaaS inclut également des intergiciels tels que des systèmes d'exploitation et des outils de développement qui permettent un développement rapide d'applications et un lancement sur le marché. À mesure que le fournisseur de services infonuagiques gère plus de couches, le PaaS exigera moins de temps et de compétences de la part de l'équipe d'ingénierie pour gérer son infrastructure. Il offrira à l'entreprise la liberté de se concentrer sur le développement d'applications et la fourniture de services. Cependant, en raison de ces services abstraits, le PaaS peut entraîner des coûts plus élevés avec une dépendance à l'égard de la plateforme ou du fournisseur particulier. Le coût plus élevé peut survenir plus tard lorsque l'organisation explorera différentes décisions techniques et différents fournisseurs de services infonuagiques.

Dans cette section, nous explorerons divers services PaaS qui permettent aux organisations de lancer et de maintenir efficacement des applications à grande échelle. Cela inclut les intégrations d'IA ou les plateformes de XR qui permettent des opérations de script et de modélisation. Grâce à des exemples concrets, nous pouvons analyser comment les entreprises réduisent les coûts tout en accélérant le délai de mise sur le marché et le développement d'applications.

Services de l'Internet des objets

Un réseau 5G permet l'informatique mobile en périphérie des réseaux de télécommunication modernes avec un support pour une variété d'appareils IoT, y compris les ordinateurs portables, les smartphones et les montres intelligentes. La 5G utilise des fréquences radio plus élevées, qui transfèrent considérablement plus de données par voie hertzienne à des vitesses plus rapides tout en réduisant la congestion et en diminuant la latence. Grâce à la 5G, davantage d'appareils IoT peuvent être utilisés simultanément dans la même zone géographique. En conséquence, les réseaux d'information dynamiques d'aujourd'hui se composent de capteurs, d'actionneurs, de téléphones mobiles, de robotique et d'appareils intelligents interconnectés.

Le trafic réseau IoT se divise en deux grandes catégories : la télémétrie et la télécommande. Une catégorie, la télémétrie (telemetry), agrège les données générées par les capteurs et les appareils et les envoie à un serveur. L'autre catégorie, la télécommande (telecommand), envoie des commandes via un réseau pour contrôler des appareils ou des capteurs. La Figure 13.9 illustre le flux typique des données IoT générées par les appareils périphériques mobiles et le traitement et le stockage des données via les services PaaS infonuagiques.

Illustration montrant les échanges entre l'utilisateur, les applications, le système d'exploitation, les pilotes de périphériques et les périphériques.
Figure 13.9 Généralement, c'est ainsi que les données IoT circulent via les appareils périphériques mobiles, le traitement des données et le stockage via les services PaaS infonuagiques. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Pour servir l'objectif de l'IoT, plusieurs protocoles de la couche application ont été développés, tels que Message Queuing Telemetry Transport (MQTT), Advanced Message Queuing Protocol (AMQP), Constrained Application Protocol (CoAP), Extensible Messaging and Presence Protocol (XMPP) et Simple Text Orientated Messaging Protocol (STOMP). Cela était nécessaire car les protocoles de la couche application, tels que HTTP, ne sont pas adaptés aux applications de télémétrie et de télécommande IoT. HTTP est conçu pour une communication un-à-un plutôt qu'une communication un-à-plusieurs entre de nombreux capteurs et un seul serveur, et c'est un protocole fiable pour les applications web. Cependant, HTTP prend en charge une communication requête-réponse synchrone unidirectionnelle et ne peut pas envoyer de données dans les deux directions simultanément. Les capteurs IoT ne peuvent pas fonctionner efficacement de manière synchrone. HTTP n'est pas non plus conçu pour la communication basée sur les événements. Généralement, l'extensibilité de HTTP est obtenue en chargeant le serveur, ce qui impose une lourde charge aux appareils capteurs connectés à plusieurs autres appareils. De plus, HTTP utilise une consommation d'énergie élevée, ce qui le rend inadapté aux réseaux de capteurs sans fil avancés.

Pour comprendre le fonctionnement des protocoles de la couche application IoT, considérons MQTT, qui est un exemple de protocole de messagerie léger de la couche application. Il est basé sur le modèle publication/abonnement (pub/sub) généralement utilisé pour la mise en file d'attente des messages dans les applications de télémétrie. Plusieurs clients, ou capteurs, peuvent se connecter à un serveur central, appelé courtier, et s'abonner à des sujets qui les intéressent. Par l'intermédiaire du courtier, qui est une interface commune (routeur) permettant aux appareils capteurs de se connecter et d'échanger des données, ces clients ont également la possibilité de publier des messages concernant leurs sujets d'intérêt. Pour rendre la communication fiable, MQTT utilise une connexion TCP sur la couche de transport pour les connexions entre les capteurs et le courtier.

Les grands fournisseurs de services infonuagiques utilisent des protocoles IoT tels que MQTT pour fournir des services PaaS IoT et des cadriciels connexes qui facilitent les interactions des appareils IoT avec l'infonuage. L'utilisation de ces services permet de construire et de déployer des solutions IoT innovantes sans développer et gérer des cadriciels IoT sur des ordinateurs locaux. En particulier, Microsoft Azure IoT gère des services infonuagiques qui peuvent interconnecter, surveiller et contrôler des milliards d'actifs IoT. Une solution IoT est généralement composée d'un ou plusieurs appareils IoT qui communiquent avec un ou plusieurs services dorsaux hébergés dans l'infonuage. Les appareils IoT peuvent être construits comme des cartes de circuits imprimés avec des capteurs attachés qui utilisent le Wi-Fi pour se connecter à Internet (par exemple, des capteurs de présence dans une pièce). Les appareils peuvent être prototypés à l'aide d'un Raspberry Pi ou du Microsoft MXChip IoT DevKit, qui dispose de capteurs intégrés pour la température, la pression et l'humidité, ainsi que d'un gyroscope, d'un accéléromètre et d'un magnétomètre. Microsoft fournit également un SDK d'appareil IoT à code source ouvert pour aider à créer des applications sur les appareils. De plus, les cadriciels IoT Edge et IoT Hub de Microsoft peuvent être utilisés pour faciliter le fonctionnement des applications IoT en périphérie et la collecte et le transfert de données vers l'infonuage via des protocoles de communication courants tels que MQTT et AMQP.

Les technologies, services PaaS et solutions fournis par Azure IoT sont résumés dans le Tableau 13.1. AWS, GCP et IBM Cloud fournissent également des services PaaS IoT équivalents et des capacités connexes.

Modèles d'applications IoT Central Solutions IoT Services Azure pour l'IoT Support des appareils IoT et Edge
Commerce de détail
Santé
Énergie
Gouvernement
Plateforme d'applications gérée par Azure IoT Central Azure IoT Hub
Azure IoT Hub Device Provisioning Service
Azure Digital Twins
Azure Time Series Insights
Azure Maps
Azure Sphere
Azure IoT Device SDK
Azure IoT Edge
Azure Data Box Edge
Architecture de référence et accélérateurs (PaaS) Azure Stream Analytics
Azure Cosmos DB
Azure AI
Azure Cognitive Services
Azure ML
Azure Logic Apps
Windows IoT
Azure Certified for IoT—Device Catalog
Azure Stream Analytics
Azure Storage
Service de terrain connecté Dynamics (SaaS) Azure Active Directory
Azure Monitor
Azure DevOps
Power BI
Azure Data Share
Azure Spatial Anchors
Azure ML
Azure SQL
Azure Functions
Azure Cognitive Services
Tableau 13.1 Technologies, services et solutions IoT disponibles via Microsoft Azure

Services d'apprentissage automatique peu profond et profond

Les services IoT fournis par les grands fournisseurs de services infonuagiques incluent à la fois l'apprentissage automatique peu profond (shallow machine learning), qui a peu de couches de neurones, et l'apprentissage profond (deep machine learning), qui a de nombreuses couches de neurones. Les services PaaS permettent aux développeurs d'applications de tirer parti des capacités d'apprentissage automatique dans l'infonuage. Les développeurs peuvent construire et déployer des solutions d'apprentissage automatique innovantes sans utiliser d'ordinateurs locaux pour configurer et gérer des cadriciels d'apprentissage automatique, tels qu'Apache Hadoop ou Spark, ainsi que les bibliothèques et/ou outils associés. Cela inclut la construction et le déploiement de solutions qui nécessitent l'utilisation et la diffusion en continu d'analytique de données.

En plus de Microsoft, AWS, GCP et IBM Cloud fournissent également des services PaaS peu profonds et profonds et des capacités connexes.

Services d'analytique des mégadonnées

Le processus d'analyse des mégadonnées pour trouver des corrélations, des préférences des consommateurs, des tendances du marché et des informations connexes est appelé analytique des mégadonnées. Il est important d'aider les organisations dans leurs processus de prise de décision. Les processus d'analytique des mégadonnées nécessitent généralement l'entraînement de modèles à l'aide de jeux de données avec un nombre gérable de caractéristiques descriptives. En tant que tel, l'analytique des mégadonnées nécessite des services d'apprentissage automatique peu profond plutôt que profond. Les outils pour l'analytique des mégadonnées incluent des cadriciels d'analytique des mégadonnées, des bibliothèques d'apprentissage automatique et des outils d'apprentissage automatique analytique.

Cadriciels d'analytique des mégadonnées

Divers fournisseurs de services infonuagiques, y compris Amazon, Cloudera, Dell, Oracle, IBM et Microsoft, proposent une implémentation des piles Apache Hadoop ou Spark qui sont utiles pour soutenir les projets d'analytique des mégadonnées. D'autres cadriciels d'analytique de données infonuagiques incluent Amazon Elastic MapReduce (EMR), Amazon Athena, Azure HDInsight, Azure Data Lake et Google Cloud Datalab. EMR est un cadriciel utile pour héberger Spark. HDInsight est similaire à EMR en termes de puissance, et il prend en charge Spark, Hive, HBase, Storm, Kafka et Hadoop MapReduce. HDInsight garantit une disponibilité de 99,9 % et intègre divers outils de programmation, tels que Visual Studio, et prend en charge divers langages de programmation comme Python, R, Java et Scala, ainsi que les langages .NET. Comme illustré dans la vue conceptuelle d'Azure Data Lake (Figure 13.10), HDInsight inclut tous les composants habituels de Hadoop et Yarn, tels que Hadoop File System (HDFS) ainsi que des outils qui intègrent d'autres outils d'analytique commerciale de Microsoft tels qu'Excel et SQL Server.

Illustration de la vue conceptuelle d'Azure Data Lake : analytique du lac de données (U-SQL et HDInsight (Spark, Hadoop, Hive, PIG, YARN)) connectée à HDFS, webHDFS, Azure Data Lake Store, mégadonnées structurées et non structurées.
Figure 13.10 Ce graphique montre les outils d'analytique des mégadonnées disponibles dans HDInsight avec Azure Data Lake. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)
Bibliothèques d'apprentissage automatique pour mégadonnées

Les bibliothèques d'apprentissage automatique contiennent des algorithmes et des fonctions pour développer les modèles d'apprentissage automatique nécessaires à l'analytique des mégadonnées. Par exemple, Spark inclut la bibliothèque d'apprentissage automatique évolutive MLlib et l'API GraphX pour les graphes et les calculs parallèles sur graphes. MLlib offre des algorithmes de classification, de régression, de regroupement et de systèmes de recommandation. MLlib a été initialement construit directement sur l'abstraction Spark RDD. Il fournit une API pour spécifier des dataframes, des transformateurs, des estimateurs et une API de haut niveau pour créer des pipelines ML. GraphX est un composant Spark qui implémente des abstractions de programmation basées sur l'abstraction RDD. GraphX est livré avec un ensemble d'opérateurs et d'algorithmes fondamentaux pour travailler avec des graphes et simplifier les tâches d'analytique de graphes. MLlib et GraphX sont disponibles pour les développeurs d'applications via Azure ML et les offres de programmation ML d'autres fournisseurs de services infonuagiques.

Outils d'apprentissage automatique pour l'analytique des mégadonnées

Azure Machine Learning (ML) est un portail infonuagique pour la conception et l'entraînement de services infonuagiques d'apprentissage automatique. Azure fournit également Databricks, qui est une plateforme d'analytique basée sur Apache Spark optimisée pour l'environnement infonuagique Microsoft Azure, ainsi que le cadriciel d'apprentissage automatique à code source ouvert et multiplateforme ML.NET. Le service d'apprentissage automatique d'Amazon AWS (c'est-à-dire Amazon SageMaker), comme Azure ML, peut être utilisé pour créer un modèle prédictif basé sur les données d'entraînement que vous fournissez. Il nécessite beaucoup moins de compréhension des concepts ML qu'Azure ML. Son tableau de bord présente une liste précédente d'expériences, de modèles et de sources de données qui permet aux développeurs de définir des sources de données et des modèles ML, de créer des évaluations et d'exécuter des prédictions par lots. Comme illustré dans la Figure 13.11, il est basé sur un modèle de composition de composants par glisser-déposer. Vous construisez une solution à un problème d'apprentissage automatique en faisant glisser des parties de solution d'une palette d'outils et en les connectant dans un graphe de flux de travail. Vous entraînez ensuite la solution avec vos données. Lorsque vous êtes satisfait des résultats, vous demandez à Azure de convertir votre graphe en un service web en cours d'exécution à l'aide du modèle que vous avez entraîné. L'outil prend en charge l'apprentissage automatique personnalisé en tant que service à la demande.

Capture d'écran d'Azure ML, un modèle de composition de composants par glisser-déposer, montrant les options d'outils pour créer un flux de travail.
Figure 13.11 Azure ML est basé sur un modèle de composition de composants par glisser-déposer qui vous permet de construire une solution à un problème d'apprentissage automatique. (Utilisé avec la permission de Microsoft)

Ceci est un autre exemple de calcul sans serveur. Il ne vous oblige pas à déployer et à gérer vos VM ; l'infrastructure est déployée selon vos besoins et si votre service web doit s'adapter à la demande, Azure met automatiquement à l'échelle les ressources sous-jacentes.

Amazon fournit également un outil basé sur un portail, Amazon Machine Learning, qui vous permet de construire et d'entraîner un modèle prédictif et de le déployer en tant que service. De plus, Azure et Amazon fournissent des modèles pré-entraînés pour l'analyse d'images et de textes dans les Azure Cognitive Services et la plateforme Amazon ML, respectivement.

Questions de réflexion

Utilisation d'avatars dans des environnements de réalité virtuelle

Les Avatars sont un moyen populaire de nous représenter graphiquement en ligne.

Les avatars dans l'environnement de réalité virtuelle du métavers peuvent-ils utiliser les capacités PaaS des grands fournisseurs de services infonuagiques pour fonctionner de manière semi-autonome ? S'ils sont semi-autonomes, ils pourront agir indépendamment, avec un contrôle limité des utilisateurs. Quelles conséquences éthiques cela pourrait-il poser ?

Services d'analytique de mégadonnées en continu

Les fournisseurs proposent divers services pour faciliter l'analytique de mégadonnées en continu dans l'infonuage, tels que Spark Structured Streaming, Amazon Kinesis Data Firehose et Kinesis, Azure Stream Analytics et Google Dataflow (basé sur Apache Beam). Spark Structured Streaming fournit également un autre concept de haut niveau appelé DStream, qui représente un flux continu de données comme une séquence de fragments RDD avec des calculs fenêtrés. Spark Structured Streaming tire parti de Spark Core et de son moteur d'ordonnancement rapide pour effectuer l'analytique en continu.

Amazon Firehose, conçu pour une échelle extrême, peut charger des données directement dans Amazon S3 ou d'autres services Amazon. Kinesis Data Analytics pour les applications SQL fournit des outils basés sur SQL pour l'analyse en temps réel des données en continu provenant de Kinesis Data Streams ou Firehose. Kinesis Data Streams fournit des données en continu ordonnées, rejouables et en temps réel. Divers cadriciels à code source ouvert, tels que Kafka, Storm, RisingWave, Apache Spark, Apache Flume, Apache Beam et Apache Flink, sont également disponibles pour traiter les données en continu sur des machines locales. Le Tableau 13.2 compare Firehose à Kinesis Data Streams. Les deux composants principaux d'Azure Stream Analytics sont le service Azure Event Hubs et le moteur Stream Analytics.

Caractéristique Firehose Kinesis Data Streams
Objectif Service pour le transfert de données vers des outils tiers Service de diffusion en continu
Provisionnement Entièrement géré et sans administration Géré mais nécessite une configuration des fragments
Mise à l'échelle Mise à l'échelle automatisée basée sur la demande Mise à l'échelle manuelle
Stockage de données Stockage de données non inclus Offre un stockage de données configurable de 1 à 365 jours
Capacité de relecture Non, la capacité de relecture n'est pas prise en charge Oui, la capacité de relecture est prise en charge
Propagation des messages Presque en temps réel, selon la taille du tampon ou le temps En temps réel
Tableau 13.2 Firehose par rapport à Kinesis Data Streams

Apache Beam est la version à code source ouvert du système Google Cloud Dataflow. Beam traite les cas par lots et en continu de manière uniforme et prend en charge les pipelines pour encapsuler les calculs, ainsi que les PCollections, qui représentent les données au fur et à mesure qu'elles traversent un pipeline. Beam permet des transformations computationnelles qui opèrent sur les PCollections, produisent des PCollections et s'appuie sur des sources et des puits, à partir desquels les données sont lues et vers lesquels les données sont écrites, respectivement.

Services d'apprentissage profond et d'IA générative

Tous les grands fournisseurs de services infonuagiques proposent aujourd'hui des services d'apprentissage automatique intégrés qui utilisent diverses techniques pour créer des modèles qui tirent parti de l'expérience antérieure et permettent d'améliorer la capacité des machines à effectuer des tâches. Ces services peuvent être utilisés dans le cadre des techniques d'analytique des mégadonnées et d'analytique de mégadonnées en continu, comme expliqué dans les sous-sections précédentes. L'apprentissage profond (DL) est une autre technique qui tire parti des réseaux de neurones artificiels (par exemple, RNN, CNN, GAN) pour créer des modèles qui effectuent des tâches prédictives nécessitant une formation spéciale et la capacité de se rapporter à une vaste combinaison d'étiquettes/motifs (par exemple, reconnaissance d'images, reconnaissance vocale, traduction linguistique). Il existe divers types d'améliorations de l'apprentissage profond qui incluent l'apprentissage par renforcement et l'apprentissage par transfert, entre autres. L'intelligence artificielle (IA) est également une technique qui tire parti du ML pour permettre aux ordinateurs d'imiter l'intelligence humaine. L'IA générative (GenAI) est un sous-ensemble de l'IA qui utilise des techniques telles que l'apprentissage profond et les transformateurs pour générer du nouveau contenu (par exemple, créer des images, du texte ou de l'audio) qui correspond à une requête. Les transformateurs sont des types spéciaux d'architectures de modèles ML qui sont adaptés à la résolution de problèmes qui contiennent des séquences telles que du texte ou des données de séries temporelles.

Les transformateurs ont été récemment utilisés pour résoudre des problèmes de traitement du langage naturel (par exemple, traduction, génération de texte, réponse aux questions, résumé de texte), et diverses implémentations de transformateurs ont été très réussies, y compris les représentations d'encodeurs bidirectionnels à partir de transformateurs (BERT) et les transformateurs génératifs pré-entraînés (GPT). Les modèles ML qui prennent en charge la GenAI sont appelés grands modèles linguistiques (LLM) et/ou modèles de fondation (FM). Les LLM sont généralement ajustés pour des applications conversationnelles spécifiques et nécessitent plus de paramètres et un entraînement intensif en données. Les modèles de fondation (FM) sont plus polyvalents que les LLM et moins intensifs en données. Des exemples de LLM incluent ChatGPT d'OpenAI, Google Gemini, Meta M2M-100 et LlaMA, le modèle Granite d'IBM, les modèles Claude d'Anthropic, les modèles de Mistral AI, et bien d'autres. Les LLM (et FM) peuvent être augmentés à l'aide de cadriciels d'IA de génération augmentée par récupération (RAG) qui complètent la représentation interne des informations des FM pour améliorer la qualité des réponses générées par les LLM.

Les fournisseurs de services infonuagiques proposent des services DL sous forme de cadriciels de programmation qui aident à implémenter des applications d'apprentissage profond à l'aide de la programmation différentiable. Les services GenAI fournis par les grands fournisseurs de services infonuagiques et d'autres fournisseurs sont des interfaces de prompt spécialement conçues pour permettre aux utilisateurs de tirer le meilleur parti d'un LLM en incluant une quantité suffisante d'informations dans les prompts qu'ils créent.

Ce qui suit fournit une liste non exhaustive des services DL fournis par certains des grands fournisseurs de services infonuagiques :

  • Services d'apprentissage profond Amazon AWS :
    • Amazon Deep Learning AMIs (DLAMIs). Les DLAMIs d'Amazon sont des images machine personnalisées qui peuvent être utilisées pour l'apprentissage profond dans l'infonuage. Elles peuvent être déployées sur divers types de VM Amazon (c'est-à-dire des instances EC2), y compris des instances uniquement CPU ou les dernières instances multi-GPU haute performance. Les DLAMIs sont préconfigurées avec NVIDIA CUDA et NVIDIA cuDNN et les dernières versions des cadriciels d'apprentissage profond les plus populaires. Amazon a publié l'Amazon Deep Learning AMI avec Conda, qui utilise des environnements virtuels Conda pour isoler chaque cadriciel, vous permettant de basculer entre eux à volonté sans que leurs dépendances n'entrent en conflit. La liste complète des cadriciels pris en charge par Amazon Deep Learning AMI avec Conda comprend PyTorch, TensorFlow 2 et Apache MXNet (maintenant retiré mais toujours accessible et utilisable). À partir de la version v18, Amazon Deep Learning AMI avec Conda n'inclut plus les environnements Conda CNTK, Caffe, Caffe2, Theano, Chainer ou Keras. La configuration des DLAMIs Amazon pour utiliser Jupyter est facile ; allez sur l'Amazon Marketplace sur le portail EC2 et recherchez « deep learning ». Vous trouverez les DLAMIs, puis sélectionnez le type de serveur que vous souhaitez utiliser. Si vous voulez simplement expérimenter, cela fonctionne bien avec une option sans GPU ; lorsque la VM démarre, connectez-vous avec ssh, et configurez Jupyter pour un accès à distance.
    • Amazon Lex. Amazon Lex est un agent conversationnel IA qui permet aux utilisateurs d'incorporer la saisie vocale et des interfaces conversationnelles dans les applications. C'est une extension du produit Echo d'Amazon, un appareil en réseau avec un haut-parleur et un microphone que vous pouvez interroger via le service Alexa (par exemple, des questions sur la météo, la planification d'événements, les actualités et la musique). Il est possible d'associer les commandes vocales Echo au lancement d'une fonction Amazon Lambda qui exécute une application infonuagique.
    • Amazon Polly. Amazon Polly est l'inverse de Lex ; il transforme le texte en parole pour des dizaines de langues avec une variété de voix et utilise le Speech Synthesis Markup Language (SSML) pour contrôler la prononciation et l'intonation.
    • Amazon Rekognition. Amazon Rekognition est à la pointe des applications d'apprentissage profond. Il prend une image en entrée et renvoie une description textuelle des éléments qu'il voit dans cette image. Cela inclut les objets, les points de repère, les couleurs dominantes, les activités et les visages. Il effectue également une analyse faciale détaillée et des comparaisons et peut identifier le contenu inapproprié qui apparaît dans les images.
  • Services d'apprentissage profond Microsoft Azure :
    • Azure Data Science VMs (DSVMs). Les DSVMs Azure sont des images de machines virtuelles Azure, préinstallées, configurées et testées avec plusieurs outils populaires couramment utilisés pour l'analytique de données, l'apprentissage automatique et le développement et l'entraînement d'IA.
    • Azure Machine Learning (ML). Azure ML est un service infonuagique conçu pour aider à accélérer et à gérer les cycles de vie des projets d'apprentissage automatique. Il peut être utilisé pour entraîner et déployer des modèles ML et gérer les opérations d'apprentissage automatique (via MLOps). Vous pouvez créer un modèle dans Microsoft ML ou utiliser un modèle construit à partir d'une plateforme à code source ouvert, telle que PyTorch, TensorFlow ou scikit-learn. Les outils MLOps vous aident à surveiller, réentraîner et redéployer des modèles. Comme indiqué précédemment, Azure fournit également le cadriciel d'apprentissage automatique ML.NET.
    • Azure AI services. Les services Azure AI sont des APIs/SDKs qui peuvent être utilisés pour construire des applications qui prennent en charge des méthodes naturelles de communication (c'est-à-dire voir, entendre, parler, comprendre et interpréter les besoins des utilisateurs). Ces services incluent le support pour la vision (par exemple, détection d'objets, reconnaissance faciale, reconnaissance optique de caractères), la parole (par exemple, parole-texte, texte-parole, reconnaissance du locuteur), les langues (par exemple, traduction, analyse des sentiments, extraction de phrases clés, compréhension du langage) et la décision (par exemple, détection d'anomalies, modération de contenu, apprentissage par renforcement).
  • Services d'apprentissage profond Google :
    • VMs d'apprentissage profond. Les images de VM d'apprentissage profond sont des images de machines virtuelles optimisées pour les tâches de science des données et d'apprentissage automatique. Toutes les images incluent des cadriciels et des outils ML préinstallés et peuvent être utilisées sur des instances de VM avec des GPU pour accélérer les tâches de traitement de données. Les cadriciels ML pris en charge incluent TensorFlow et PyTorch.
    • APIs d'apprentissage automatique Google. Google fournit diverses APIs pour des services qui peuvent être utilisés pour construire des applications qui prennent en charge des méthodes naturelles de communication, y compris Cloud Vision pour comprendre le contenu d'une image, Cloud Speech-to-Text pour transcrire l'audio en texte, Cloud Translation pour traduire une chaîne de caractères arbitraire vers n'importe quelle langue prise en charge, et Cloud Natural Language pour extraire des informations du texte.

Ce qui suit fournit plus d'informations relatives aux services GenAI fournis par les grands fournisseurs de services infonuagiques :

  • Services GenAI AWS. Amazon AWS fournit divers outils GenAI, y compris l'assistance Amazon Q basée sur l'IA et la suite Amazon Bedrock de LLM, FM et outils d'IA générative. Amazon SageMaker peut être utilisé pour construire, entraîner et déployer des modèles FM à grande échelle.
  • Services GenAI Microsoft Azure. Le service Azure OpenAI et l'Azure AI studio peuvent être utilisés pour créer des applications copilotes personnalisées et d'IA générative. Microsoft s'est associé à OpenAI, la société qui développe ChatGPT. Il fournit également la famille Phi de petits modèles linguistiques (SLM) qui sont des alternatives à faible coût et à faible latence aux LLM dans certains cas.
  • Services GenAI Google GCP. Vertex AI, Generative AI Studio et Vertex AI Model Garden sont diverses solutions que Google propose pour soutenir la création d'applications d'IA générative. Google fournit également la famille Gemini de modèles d'IA générative qui sont capables de traiter des informations provenant de multiples modalités, y compris des images, des vidéos et du texte.
  • Services GenAI IBM Cloud. IBM Watsonx.ai AI studio rassemble des capacités d'IA générative alimentées par des FM et du ML. Il fournit des outils pour ajuster et guider les modèles basés sur les données d'entreprise ainsi que pour construire et affiner des prompts. IBM développe également des modèles de fondation IA Granite personnalisés qui sont rentables et de qualité entreprise.
  • Autres services GenAI. En plus des services et outils GenAI mentionnés ici, de nombreux autres fournisseurs se concentrent sur la création de LLM, SLM et FM. En voici quelques-uns :
    • ChatGPT d'OpenAI
    • Meta LlaMA
    • Anthropic Claude
    • Mistral AI

Performance des boîtes à outils de ML

Les boîtes à outils de ML (ML toolkits) peuvent être utilisées pour diverses tâches, telles que la mise à l'échelle d'un calcul pour résoudre des problèmes plus importants. Une approche est le modèle SPMD de processus séquentiels communicants utilisant le modèle standard d'interface de passage de messages (MPI). Une autre est le modèle de flux de données d'exécution de graphe, utilisé dans Spark, Flink et les boîtes à outils d'apprentissage profond. Vous pouvez écrire des algorithmes ML en utilisant MPI ou Spark. Vous devez savoir que les implémentations MPI des algorithmes ML standard sont généralement plus performantes que les versions dans Spark et Flink. Souvent, les différences sont des facteurs d'ordres de grandeur en temps d'exécution, mais les versions MPI sont plus difficiles à programmer que les versions Spark.

Services de chaîne de blocs

Les chaînes de blocs utilisent un système de registre distribué pour stocker des données et des transactions dans une base de données à code source ouvert qui vous permet de construire des applications permettant à plusieurs parties d'exécuter des transactions et de partager des données de manière sécurisée et transparente sans utiliser une autorité centrale de confiance. Avec Blockchain 2.0, les développeurs disposent d'un mécanisme qui permet des transactions programmables, qui sont modifiées par une condition ou un ensemble de conditions. Blockchain 2.0 ne se limite pas à prendre en charge les transactions. Elle peut également gérer les microtransactions, l'échange décentralisé et la création et le transfert d'actifs numériques. Blockchain 2.0 a également la capacité de gérer les contrats intelligents, qui sont des scripts exécutés dans un environnement Blockchain 2.0. Les codes des contrats intelligents sont accessibles au public, et n'importe qui peut vérifier l'exactitude de l'exécution du code. La vérification réelle est effectuée par des mineurs dans l'environnement de la chaîne de blocs, ce qui garantit une exécution honnête du « contrat ». Les contrats intelligents reposent sur la cryptographie pour les protéger contre la falsification et les révisions non autorisées.

Un réseau blockchain (blockchain network) est un réseau pair-à-pair qui permet aux personnes et aux organisations qui ne se connaissent peut-être pas de faire confiance et de vérifier indépendamment les enregistrements de transactions financières et autres. Cela améliore l'efficacité et l'immuabilité des transactions pour les processus d'affaires tels que les paiements internationaux, la gestion de la chaîne d'approvisionnement, l'enregistrement foncier, le financement participatif, la gouvernance, les transactions financières, et plus encore.

Ethereum.org implémente une plateforme de calcul décentralisée Blockchain 2.0 pour Web3 et fournit un langage de programmation pour écrire des scripts de transaction. Les applications Web3 sont appelées DApps et peuvent être déployées sur des plateformes de calcul décentralisées Blockchain 2.0. Ethereum.org fournit son propre environnement de développement intégré (IDE) (c'est-à-dire Remix) et des langages de programmation, tels que Solidity, pour développer et déployer des contrats. Des réseaux de test publics tels que Goerli peuvent être utilisés pour développer et tester des contrats avant de les déployer sur la plateforme Ethereum. Des APIs Web3 sont disponibles pour divers langages de programmation, tels que JavaScript, Python, Haskell, Java, Scala et PureScript, pour faciliter la création d'applications qui interagissent directement avec la plateforme Blockchain 2.0.

En utilisant les services PaaS blockchain sur les grands fournisseurs de services infonuagiques AWS, Oracle, GCP et IBM, il est possible de créer une plateforme de calcul décentralisée blockchain pour faciliter le déploiement d'applications DApps Web3. Les grands fournisseurs de services infonuagiques fournissent des grappes de VM qui peuvent être utilisées comme nœuds P2P au sein d'une implémentation de plateforme décentralisée Blockchain 2.0, telle que Hyperledger. Bien que Microsoft Azure ait proposé des services PaaS pour créer des plateformes blockchain, il a retiré ces services et s'est associé à ConsenSys et d'autres entreprises pour fournir ce support. Azure fournit des produits et services, des outils de développement Web3 et des capacités de sécurité pour aider à créer des applications Web3 et à les déployer sur des plateformes partenaires.

Services de chaîne de blocs AWS

AWS fournit des modèles de chaîne de blocs qui vous aident à créer et à déployer des réseaux de chaîne de blocs sur AWS en utilisant différents cadriciels de chaîne de blocs. AWS Managed Blockchain, qui est illustré dans la Figure 13.12, est utilisé pour configurer et lancer des piles AWS CloudFormation afin de créer des réseaux de chaîne de blocs. Les ressources et services AWS utilisés dépendent du modèle de chaîne de blocs AWS sélectionné et des options pour spécifier les composants fondamentaux d'un réseau de chaîne de blocs.

Modèle de chaîne de blocs AWS (AWS CloudFormation). La plateforme de conteneurs ECS contient : l'équilibrage de charge élastique, Amazon S3, un réseau de chaîne de blocs multinœuds, un explorateur et une surveillance de la chaîne de blocs, Amazon ECS, Amazon EC2 et le registre ECR (conteneurs de cadriciel de chaîne de blocs).
Figure 13.12 Ce graphique montre les modèles de chaîne de blocs AWS, qui sont utilisés pour configurer et lancer des piles AWS CloudFormation afin de créer des réseaux de chaîne de blocs. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Amazon Managed Blockchain est un service entièrement géré pour la création et la gestion de réseaux de chaîne de blocs qui prend en charge le cadriciel à code source ouvert Hyperledger Fabric. Vous pouvez utiliser Managed Blockchain pour créer un réseau de chaîne de blocs évolutif rapidement et efficacement à l'aide de la console de gestion AWS, de l'AWS CLI ou du SDK Managed Blockchain. Managed Blockchain s'adapte pour répondre aux demandes de milliers d'applications exécutant des millions de transactions. Une fois le réseau de chaîne de blocs fonctionnel, Managed Blockchain simplifie les tâches de gestion de réseau en gérant les certificats, en facilitant la création de propositions pour un vote entre les membres du réseau et en suivant les métriques opérationnelles telles que les ressources de calcul, la mémoire et les ressources de stockage.

La Figure 13.13 montre les composants de base d'une chaîne de blocs Hyperledger Fabric fonctionnant sur AWS. Un réseau comprend un ou plusieurs membres avec des identités uniques. Par exemple, un membre pourrait être une organisation dans un consortium de banques. Chaque membre exécute un ou plusieurs nœuds pairs de chaîne de blocs pour exécuter du chaincode, approuver des transactions et stocker une copie locale du registre. Amazon Managed Blockchain crée et gère ces composants pour chaque membre dans un réseau et crée également des composants partagés par tous les membres dans un réseau, tels que le service de commande Hyperledger Fabric et la configuration réseau générale.

Chaîne de blocs du service de commande Hyperledger Fabric, connectée au membre (Fabric, nœud pair), puis au lien privé AWS, puis via VPC au client AWS.
Figure 13.13 Ce graphique montre les composants de base d'une chaîne de blocs Hyperledger Fabric fonctionnant sur AWS via un réseau Managed Blockchain. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Lors de la création d'un réseau Managed Blockchain, le créateur choisit le cadriciel de chaîne de blocs et l'édition d'Amazon Managed Blockchain à utiliser, ce qui détermine la capacité et les fonctionnalités du réseau dans son ensemble. Le créateur doit également créer le premier membre du réseau Managed Blockchain. Des membres supplémentaires sont ajoutés par un processus de proposition et de vote. Il n'y a pas de frais pour le réseau lui-même, mais chaque membre paie un tarif horaire (facturé à la seconde) pour son adhésion au réseau. Les frais varient en fonction de l'édition du réseau. Chaque membre paie également pour les nœuds pairs, le stockage des nœuds pairs et la quantité de données que le membre écrit sur le réseau. Le réseau de chaîne de blocs reste actif tant qu'il y a des membres. Le réseau n'est supprimé que lorsque le dernier membre se supprime du réseau. Aucun membre ou compte AWS, même le compte AWS du créateur, ne peut supprimer le réseau tant qu'il n'est pas le dernier membre et qu'il ne se supprime pas lui-même.

Services de chaîne de blocs IBM

IBM Blockchain Platform (IBP) est une offre IBM Cloud construite sur Fabric, une infrastructure de chaîne de blocs fournie par le projet à code source ouvert Hyperledger. IBP offre une expérience développeur intégrée avec des contrats intelligents qui peuvent être facilement codés en Node, Golang ou Java. Vous pouvez utiliser la nouvelle extension IBM Blockchain VS Code pour écrire des applications clientes, basées sur l'intégration du SDK Fabric de la console IBP. IBP offre la possibilité de déployer uniquement les composants nécessaires pour se connecter à plusieurs canaux et réseaux, tout en gardant le contrôle des identités dans votre environnement. Flexible et extensible, IBP peut être exécuté dans n'importe quel environnement pris en charge par IBM Cloud Private (ICP), y compris LinuxONE. IBP simplifie le développement et la gestion d'un réseau de chaîne de blocs. Il vous permet d'accomplir les tâches suivantes en quelques clics dans l'interface facile à utiliser :

  • déploiement automatisé de Fabric
  • création de politiques de gouvernance personnalisées
  • développement initial
  • déploiement de l'application en production, y compris la création de canaux et le déploiement de chaincode
  • inviter de nouveaux membres dans le réseau et gérer les identifiants d'identité au fil du temps

LinuxONE est conçu pour les services de données et infonuagiques haute performance et à grande échelle. Une seule plateforme LinuxONE consolide des centaines de cœurs x86. Les processeurs d'E/S dédiés de la plateforme vous permettent de déplacer d'énormes quantités de données tout en maintenant l'intégrité des données. L'option d'avoir des processeurs cryptographiques dédiés qui complètent les CPU standard signifie le chiffrement des données au repos et des données en transit. Les partitions au sein de la technologie Secure Service Container (SSC) d'IBM aident à protéger les données et les applications contre les menaces internes et externes.

La solution IBM Blockchain tire parti de Kubernetes (K8s), qui est un système à code source ouvert pour l'automatisation du déploiement, de la mise à l'échelle et de la gestion des applications conteneurisées. Le cadriciel Kubernetes exécute des systèmes distribués de manière résiliente et prend en charge les exigences de mise à l'échelle, le basculement, les motifs de déploiement, et ainsi de suite. Kubernetes redémarre les conteneurs qui échouent, remplace les conteneurs, arrête les conteneurs qui ne répondent pas à votre vérification de santé définie par l'utilisateur, et ne les annonce pas pour être utilisés tant qu'ils ne sont pas prêts à servir. Les aspects clés de Kubernetes incluent les suivants :

  • découverte de services et équilibrage de charge
  • orchestration du stockage
  • déploiements et retours arrière automatisés
  • remplissage automatique des bacs
  • auto-réparation
  • gestion de la configuration des secrets

D'autres composants de la solution IBM Blockchain incluent IBM Cloud Private (ICP), GlusterFS, MIBM Secure Service Container et l'IBM Blockchain Platform. ICP est une plateforme de nuage privé pour les entreprises afin de développer et d'exécuter des charges de travail localement. Il se compose de services PaaS et développeur qui sont nécessaires pour créer, exécuter et gérer des applications infonuagiques. GlusterFS est un système de fichiers réseau extensible adapté aux tâches intensives en données telles que le stockage infonuagique et la diffusion multimédia en continu. Il agrège divers serveurs de stockage en un grand système de fichiers réseau parallèle. IBM Secure Service Container (SSC) fournit l'infrastructure de base sur LinuxONE pour les applications basées sur des conteneurs, soit pour des environnements hybrides ou de nuage privé (private cloud). Cet environnement de calcul sécurisé offre une installation et des opérations d'exécution résistantes aux manipulations.

Services de chaîne de blocs Oracle

Oracle fournit également une plateforme de chaîne de blocs. Comme illustré dans la Figure 13.14, les composants de chaîne de blocs d'Oracle incluent un réseau de nœuds de validation (c'est-à-dire, pairs), un registre distribué (c'est-à-dire, blocs liés, état mondial et base de données historique), un service de commande pour la création de blocs et des services d'adhésion pour la gestion des organisations dans une chaîne de blocs permissionnée.

Illustration de la plateforme de chaîne de blocs incluant : service d'adhésion, état mondial, commande, pairs, contrats intelligents (fournisseurs, points de vente, facturation, expédition, paiements), applications, et chaînes d'approvisionnement et comptes fournisseurs dans les organisations.
Figure 13.14 Comme le montre ce diagramme, les composants de chaîne de blocs d'Oracle comprennent un réseau de nœuds de validation, un registre distribué, un service de commande pour la création de blocs et des services d'adhésion pour la gestion des organisations dans une chaîne de blocs permissionnée. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

La couche de contrats intelligents (chaincode) se compose de programmes chaincode qui contiennent la logique métier pour la mise à jour du registre, l'interrogation de données et/ou la publication d'événements. Les chaincodes peuvent lire les données du registre pour vérifier les conditions dans le cadre de toute mise à jour ou suppression proposée et déclencher des événements personnalisés. Les mises à jour et les suppressions sont proposées ou simulées et ne sont pas définitives tant que les transactions ne sont pas validées après les protocoles de consensus et de vérification. Les applications nouvelles ou existantes peuvent enregistrer/inscrire des organisations en tant que membres, soumettre des transactions (invoquer des contrats intelligents) pour mettre à jour ou interroger des données, et consommer les événements émis par les chaincodes ou par la plateforme de chaîne de blocs.

L'Oracle Blockchain Platform est basée sur le projet Hyperledger Fabric de la Linux Foundation, et elle étend la version à code source ouvert d'Hyperledger Fabric. PaaS préassemblé, l'Oracle Blockchain Platform inclut toutes les dépendances requises pour prendre en charge un réseau de chaîne de blocs telles que le calcul, le stockage, les conteneurs, les services d'identité, les services d'événements et les services de gestion. L'Oracle Blockchain Platform inclut la console du réseau de chaîne de blocs pour prendre en charge les opérations intégrées.

Services de chaîne de blocs GCP

Google propose Blockchain Node Engine, un service d'hébergement de nœuds entièrement géré pour le développement Web3 qui minimise le besoin d'opérations de nœuds. Les entreprises Web3 qui nécessitent des nœuds dédiés peuvent relayer des transactions, déployer des contrats intelligents et lire ou écrire des données de chaîne de blocs. Blockchain Node Engine prend en charge Ethereum, permettant aux développeurs de provisionner des nœuds Ethereum entièrement gérés avec un accès sécurisé à la chaîne de blocs.

Avec la chaîne de blocs, Google se concentre sur les outils d'analytique de cryptomonnaie et de chaîne de blocs qui fournissent des jeux de données d'historique de transactions de chaîne de blocs approfondis et des ensembles de requêtes plus approfondis qui permettent une méta-analyse multichaîne et une intégration avec les systèmes de traitement des enregistrements financiers conventionnels. Google est particulièrement intéressé par la fourniture d'historiques de transactions pour les cryptomonnaies qui ont des implémentations similaires, telles que Bitcoin, Ethereum, Bitcoin Cash, Dash, Dogecoin, Ethereum Classic, Litecoin et Zcash. Google propose également des outils d'apprentissage automatique qui peuvent être utilisés pour rechercher des motifs dans les flux de transactions et fournir des informations de base sur l'utilisation d'une adresse crypto.

Services de réalité étendue

Lorsque l'on discute des services de réalité étendue, il existe généralement deux types : la réalité virtuelle (virtual reality (VR)), qui permet un environnement 3D interactif généré par ordinateur dans lequel un utilisateur est immergé, et la réalité augmentée (augmented reality (AR)), qui complète le monde réel avec des objets virtuels (générés par ordinateur) qui semblent coexister dans le même espace que le monde réel. La distinction clé entre la VR et l'AR est que la VR vise à immerger l'utilisateur dans un environnement virtuel, tandis que l'AR introduit des éléments virtuels dans le monde réel. Un système VR utilise généralement un casque en combinaison avec une variété de capteurs pour suivre les mouvements de l'utilisateur et relayer les images et les retours appropriés, créant la sensation d'interagir avec le monde virtuel. Un système AR repose généralement sur des lentilles claires ou une caméra pass-through qui permet aux utilisateurs de voir le monde qui les entoure en temps réel tandis que des éléments virtuels sont projetés sur les lentilles ou rendus sur la sortie de la caméra.

Il existe également la réalité étendue (extended reality (XR)), un service de réalité qui implique à la fois des environnements réels et virtuels. Microsoft a introduit le terme réalité mixte (mixed reality (MR)), qui est une forme de XR. La XR englobe les environnements virtuels et réels et intègre souvent des services infonuagiques comme l'IoT, le ML et la chaîne de blocs. Trois composants sont nécessaires pour rendre un système XR fonctionnel : un affichage monté sur la tête, un système de suivi pour reconnaître et suivre les objets physiques, et une puissance de calcul mobile. Aujourd'hui, la XR est activée par l'utilisation de casques et de gants haptiques, qui sont des appareils IoT. Au lieu d'accéder aux applications avec des ordinateurs traditionnels, la XR permet d'accéder aux applications via du matériel monté sur la tête ou des gants qui interagissent directement avec les sens humains, tels que la vision, l'ouïe et le toucher. De plus, le ML peut être nécessaire dans un environnement de réalité mixte pour faire des choses telles que générer des prédictions et effectuer de la reconnaissance d'une manière similaire à ce que nous utilisons le ML dans le monde réel. Dans un certain sens, la XR est la technologie de base pour Webx.0 (c'est-à-dire le vrai métavers, pas le métavers de Meta). De nombreux casques XR commerciaux sont disponibles, y compris Microsoft HoloLens, Google Cardboard et Meta Quest.

La création de scènes de réalité virtuelle pour la VR ou d'objets virtuels ou d'avatars qui peuvent être visualisés via des casques XR nécessite l'utilisation d'un outil de moteur 3D tel qu'Unity ou Unreal Engine. Unity est un moteur 3D multiplateforme largement utilisé et un environnement de développement intégré (IDE). Ses utilisations incluent le développement de contenu 3D et de jeux pour différentes plateformes, telles que les PC, les consoles, les appareils mobiles, les appareils cibles AR/VR et le Web.

Unity est un système complexe avec une courbe d'apprentissage abrupte. Le déploiement réussi d'applications nécessite également des cadriciels de développement et des plug-ins, tels que Microsoft Mixed Reality Toolkit (MRTK) ou OpenXR. OpenXR peut être accédé par des moteurs 3D (par exemple, Unity, Unreal), l'API de périphérique WebXR, ainsi que des applications XR fonctionnant sur des stations de base pour faciliter le déploiement ou l'intégration avec divers appareils, y compris les affichages 3D montés sur la tête (par exemple, Microsoft HoloLens, Apple Vision Pro, Meta Quest), les traqueurs (par exemple, corps, main, objet, œil), les appareils haptiques et l'infrastructure infonuagique/5G.

Les applications XR offrent des scénarios contrôlés et reproductibles répétant la mémoire musculaire et la conscience situationnelle. Les applications VR permettent d'explorer des lieux autrement inaccessibles et ont également le potentiel de fournir un accès à des ressources qui peuvent être prohibitivement coûteuses ou autrement inaccessibles. Les applications VR et AR offrent des méthodes innovantes pour visualiser et manipuler des données.

Services MR Azure et services PaaS connexes

Microsoft et le Nuage Azure fournissent divers services pour ses produits Kinect et HoloLens. Cela inclut le SDK Azure Kinect Sensor, un kit de développement avec des capteurs IA avancés pour la construction de modèles de vision par ordinateur et de parole. Azure Kinect est un kit de développement de calcul spatial de pointe avec des modèles sophistiqués de vision par ordinateur et de parole, des capteurs IA avancés et une gamme de SDK puissants qui peuvent être connectés aux services cognitifs Azure.

Microsoft propose également HoloLens 2, qui est un ensemble de lunettes intelligentes, et l'HoloLens Emulator, qui permettent tous deux aux utilisateurs de tester des applications holographiques sur un PC sans HoloLens 2 ou HoloLens 1 physique, y compris l'ensemble d'outils de développement HoloLens. L'utilisation de l'émulateur HoloLens nécessite d'apprendre les commandes clavier et souris pour faciliter la marche dans une direction donnée, le regard dans différentes directions et l'exécution de gestes de contrôle et de mouvements de la main.

L'émulateur utilise une machine virtuelle Hyper-V, ce qui signifie que les entrées humaines et environnementales lues par les capteurs HoloLens sont simulées à partir d'un clavier, d'une souris ou d'une manette Xbox. Les utilisateurs n'ont pas besoin de modifier les projets pour les exécuter sur l'émulateur car les applications ne reconnaissent pas qu'elles ne s'exécutent pas sur un vrai HoloLens. Les utilisateurs peuvent rejoindre le programme développeur HoloLens et apprendre à développer et à déployer leurs propres modèles 3D.

Les environnements de développement alternatifs pour HoloLens incluent Unreal Engine et BuildWagon. BuildWagon fournit un éditeur de code en ligne qui permet aux utilisateurs d'écrire du code en JavaScript et de visualiser les résultats sur le même écran ou directement sur le HoloLens. Un appareil HoloLens n'est pas requis, et le code est hébergé dans l'infonuage pour permettre à plusieurs développeurs de collaborer sur le même projet depuis différents emplacements. La bibliothèque HoloBuild de BuildWagon fournit des composants prêts à l'emploi pour accélérer les processus de création et accéder aux fonctionnalités spéciales de HoloLens.

Le Microsoft Mixed Reality Toolkit (MRTK) est un projet piloté par Microsoft qui fournit un ensemble de composants et de fonctionnalités utilisés pour accélérer le développement d'applications MR multiplateformes dans Unity. Il fournit le système d'entrée multiplateforme et les blocs de construction pour les interactions spatiales et l'interface utilisateur, permettant un prototypage rapide via une simulation dans l'éditeur qui permet aux utilisateurs de voir les changements immédiatement. Il fonctionne comme un cadriciel extensible qui offre aux développeurs la possibilité d'échanger des composants cœurs tout en prenant en charge un large éventail de plateformes.

Microsoft fournit un ensemble détaillé de directives pour aider au développement d'applications de réalité mixte, couvrant l'idéation, la conception, le développement et la distribution d'applications.

Concepts en pratique

Innovation et PaaS de grands fournisseurs de services infonuagiques

L'innovation est un grand concept, et l'utilisation des services PaaS des grands fournisseurs de services infonuagiques la permet. Avant que les services PaaS des grands fournisseurs de services infonuagiques ne soient disponibles, il était difficile pour les entreprises de mettre en place les services et l'infrastructure connexe nécessaires pour développer des solutions innovantes. Tous les services PaaS couverts dans ce chapitre nécessitent des cadriciels et des ressources, qui sont fournis par les grands fournisseurs de services infonuagiques ; il est donc possible pour les entreprises de se concentrer sur l'application de ces services pour développer des solutions innovantes. À titre d'exemple, vous pouvez simplement vous rendre sur azure.portal.com et taper « Data Science Virtual Machine » dans la barre de recherche. Vous aurez alors le choix entre des VM Linux ou Windows qui sont entièrement équipées de tous les cadriciels et APIs connexes nécessaires pour implémenter le service. Microsoft Azure fournit les cadriciels IoT Edge et IoT Hub qui peuvent être utilisés pour collecter des données à partir de capteurs situés en périphérie (par exemple, des capteurs météorologiques qui mesurent la température et l'humidité) et propager les données correspondantes vers le nuage Azure afin qu'elles puissent être analysées pour générer des prévisions météorologiques. Par conséquent, les services PaaS des grands fournisseurs de services infonuagiques peuvent être utilisés aujourd'hui pour permettre et accélérer l'innovation.

Sont également disponibles sur le Nuage Azure un certain nombre de services PaaS, notamment les suivants :

  • Les services de stockage (storage service) Azure peuvent être utilisés pour stocker des modèles 3D.
  • Azure Remote Rendering (ARR) est un service qui vous permet de rendre des modèles 3D très complexes en temps réel et de les diffuser en continu vers un appareil. ARR est généralement disponible et peut être ajouté à vos projets Unity ou C++ natifs ciblant HoloLens 2 ou un PC de bureau Windows.
  • Azure Object Anchors (AOA) est un service de réalité mixte qui vous aide à créer des expériences riches et immersives en alignant automatiquement le contenu 3D avec des objets physiques. Il permet d'acquérir une compréhension contextuelle des objets sans avoir besoin de marqueurs ou d'alignement manuel. Il permet également d'économiser un travail tactile significatif, de réduire les erreurs d'alignement et d'améliorer les expériences utilisateur en construisant des applications de réalité mixte avec Object Anchors.
  • Azure Spatial Anchors (ASA) est un service multiplateforme qui vous permet de construire des applications de réalité mixte spatialement conscientes. Avec les ASA, vous pouvez mapper, persister et partager du contenu holographique sur plusieurs appareils à l'échelle du monde réel. En particulier, les ASA sont utilisés pour créer des ancres de monde libre qui persistent sur plusieurs sessions d'application.
  • Azure Speech service est une ressource vocale qui peut être utilisée pour reconnaître la parole, synthétiser la parole, obtenir des traductions en temps réel, transcrire des conversations ou intégrer la parole dans votre expérience de bot.
  • Azure AI Vision est une API de vision par ordinateur basée sur le cloud qui fournit aux développeurs un accès à des algorithmes avancés pour traiter les images et renvoyer des informations. Lorsqu'un utilisateur télécharge une image ou spécifie une URL d'image, les algorithmes de vision par ordinateur de Microsoft peuvent analyser le contenu visuel de différentes manières en fonction des entrées et des choix de l'utilisateur.

Services XR GCP et services PaaS connexes

Google fournit divers services XR et services PaaS connexes, y compris Google AR et VR. Les services AR incluent Google Lens, qui peut reconnaître des choses dans les images. L'AR dans la recherche Google vous permet d'apporter des objets 3D et des animaux dans le monde que vous voyez. Live View dans Google Maps change l'apparence du monde pour ajouter des directions et d'autres informations. Les AR Stickers vous permettent de déposer des objets dans des photos prises avec une caméra Google Pixel. Google permet aux développeurs de développer des applications AR en utilisant son API ARCore Geospatial. Google fournit également des capacités VR, y compris Cardboard, qui est un casque VR en carton qui utilise un téléphone comme unité de générateur de monde virtuel. DeepDream est un programme de vision par ordinateur qui utilise un réseau de neurones convolutifs pour trouver et améliorer des motifs dans les images afin de créer des apparences oniriques. Google permet également aux développeurs de développer leurs propres applications VR.

Autres services XR et services PaaS connexes

Google n'est pas le seul fournisseur de services XR et de services PaaS connexes. Par exemple, Meta Quest propose des casques VR tout-en-un que les développeurs peuvent utiliser pour créer une gamme d'expériences VR, y compris la réalité mixte, conçues pour le travail et le jeu.

Dans un autre exemple, avec l'Amazon Sumerian Platform, Amazon développe des outils XR et utilise la technologie XR pour soutenir ses activités de commerce de détail. Par exemple, Amazon Sumerian permet de créer et d'exécuter des applications VR, AR et 3D rapidement et facilement sans nécessiter de programmation spécialisée ou d'expertise en graphiques 3D. Il fonctionne sur du matériel populaire tel que Meta Quest et Google Cardboard, ainsi que sur les appareils mobiles Android et iOS. Amazon Sumerian permet de créer des salles de classe virtuelles qui vous permettent de former de nouveaux employés partout dans le monde ou de permettre aux gens de visiter un bâtiment à distance.

La plateforme NVIDIA Omniverse est une plateforme facilement extensible pour la collaboration de conception 3D et la simulation multi-GPU, en temps réel et fidèle à la réalité. Omniverse révolutionne la façon dont les individus créent, développent et travaillent ensemble en équipes, apportant plus de possibilités créatives et d'efficacité aux créateurs 3D, développeurs et entreprises.

YouTube offre également une expérience VR à travers des vidéos enregistrées avec des caméras 360 ou 3D. Grâce à YouTube VR, les utilisateurs peuvent vivre des expériences telles que le parachutisme, la motoneige et un tour en montgolfière. Pour s'assurer qu'il s'agit de VR, recherchez l'icône de boussole dans le coin supérieur gauche d'une vidéo.

Services d'impression 3D/4D

Le processus d'impression 3D (3-D printing), formellement connu sous le nom de fabrication additive, est un processus de conception d'objets statiques en trois dimensions par des processus additifs dans lesquels des couches successives de matériau sont déposées sous contrôle informatique. Il est utilisé dans des applications telles que les prothèses médicales, les composants aérospatiaux et les équipements de défense. Un programme de modélisation 3D, tel qu'AutoCAD, est utilisé pour concevoir les objets. Divers fournisseurs de services infonuagiques rendent la technologie d'impression 3D disponible dans l'infonuage aujourd'hui, comme Craftcloud, qui permet aux utilisateurs de créer essentiellement une commande pour une pièce imprimée en 3D personnalisée sans avoir à posséder une imprimante 3D. Les utilisateurs peuvent télécharger leurs modèles 3D sur la plateforme Craftcloud, sélectionner leurs spécifications et recevoir leur pièce imprimée en 3D personnalisée par la poste.

Le processus d'impression 4D (4-D printing), également pris en charge en tant que plateforme en tant que service (PaaS) sur certains clouds, offre la capacité de programmer les matériaux fondamentaux utilisés dans l'impression 3D en créant des objets qui peuvent changer de forme ou de fonction après fabrication. Il est extensible et peut utiliser des environnements basés sur le cloud qui rationalisent le développement et le déploiement de matériaux intelligents et de structures dynamiques. Ces services offrent des ressources de calcul avancées et des outils logiciels spécialisés nécessaires pour la conception, la simulation et le contrôle des processus d'impression 4D, améliorant l'efficacité et l'innovation dans la création de produits adaptables et auto-transformables. L'impression 4D ajoute les éléments de temps et d'interactivité à l'impression 3D. L'impression 4D crée des objets avec des capacités dynamiques et de performance, de sorte qu'ils sont capables de changer de forme ou de fonction après fabrication. Ces objets peuvent être assemblés, désassemblés, puis réassemblés pour former des objets macroscopiques de forme et de multifonctionnalité désirées. Cette technologie est basée sur trois capacités clés : la machine, le matériau et le programme géométrique. À titre d'exemple, en utilisant cette technologie, le groupe de recherche sur les matériaux Stratasys a développé un nouveau polymère qui pouvait être étendu de 150 % lorsqu'il était immergé dans l'eau.

Pleins feux sur l'industrie

Impression 3D et 4D dans les soins de santé

Dans les soins de santé, l'impression 3D et 4D a révolutionné la technologie d'imagerie, améliorant des processus tels que la mammographie, la radiothérapie, la bronchoscopie et les échographies. Avec des avantages tels que l'imagerie tridimensionnelle, de meilleurs processus de livraison de médicaments, l'ingénierie tissulaire et des dispositifs médicaux plus sophistiqués, la technologie 3D et 4D améliore la qualité des images et permet aux professionnels de la santé de fournir des diagnostics plus précis et des traitements mieux ciblés, améliorant les soins aux patients et conduisant souvent à de meilleurs résultats.

Donnez un exemple spécifique de la façon dont vous pensez que l'impression 3D et 4D est susceptible d'améliorer les soins de santé au cours des cinq prochaines années.

Services de développement d'applications

Diverses capacités de support au développement d'applications sont fournies en tant que services PaaS sur les grands fournisseurs de services infonuagiques. Ces services aident les organisations à améliorer leurs opérations et incluent la gestion de l'intégration, la gestion de l'identité et de la sécurité, la gestion du cycle de vie des applications, la surveillance, ainsi que la gestion et la gouvernance.

Gestion de l'intégration

La gestion de l'intégration est un service PaaS qui prend en charge la gestion de projet avec des outils de communication, de coordination de projet, d'efficacité et même de résolution de conflits. AWS, GCP et IBM Cloud fournissent également des services PaaS de gestion de l'intégration et des capacités connexes.

Gestion de l'identité et de la sécurité

Avec la gestion de l'identité et de la sécurité prise en charge par PaaS, les organisations peuvent s'assurer que seuls les utilisateurs autorisés ont accès à leurs systèmes et applications. AWS, GCP et IBM Cloud fournissent également des services PaaS de gestion de l'identité et de la sécurité et des capacités connexes.

Gestion du cycle de vie des applications

La gestion du cycle de vie des applications est un outil qui guide le processus d'application logicielle de la planification jusqu'à ce que le logiciel soit mis hors service et retiré. Diverses capacités de gestion du cycle de vie des applications, y compris DevOps et la migration, sont fournies en tant que services PaaS sur les grands fournisseurs de services infonuagiques.

DevOps combine les personnes, les processus et les produits pour permettre la livraison continue de valeur aux utilisateurs finaux. DevOps vous permet de construire, tester et déployer n'importe quelle application, soit dans l'infonuage, soit sur site. AWS, GCP et IBM Cloud fournissent également des services PaaS DevOps et des capacités connexes.

Les services de migration minimisent le temps et les ressources nécessaires pour migrer un environnement sur site vers l'infonuage. AWS, GCP et IBM Cloud fournissent également des services de migration et des capacités connexes.

Surveillance

Les services de surveillance typiques incluent l'analytique des journaux d'applications pour piloter l'autoscaling des ressources. La surveillance permet aux organisations de détecter les problèmes d'application nécessitant une attention immédiate et de repérer les aspects dont les performances peuvent être améliorées. La surveillance fournit également des données sur les applications sous-utilisées et surchargées. AWS, GCP et IBM Cloud fournissent également des services PaaS de surveillance et des capacités connexes.

Gestion et gouvernance

Généralement, les capacités de gestion et de gouvernance incluent la récupération, la gestion des coûts et la facturation, et d'autres services. AWS, GCP et IBM Cloud fournissent également des services PaaS de gestion et de gouvernance et des capacités connexes.