Options de calcul Azure

Concepts essentiels de Calcul Azure

Qu’est-ce que Calcul Azure ?

Calcul Azure est un service de calcul à la demande pour l’exécution d’applications basées sur le cloud. Il fournit des ressources informatiques telles que des processeurs multicœurs et des superordinateurs par le biais de machines virtuelles et de conteneurs. Il fournit également une informatique serverless pour exécuter des applications sans nécessiter l’installation ou la configuration d’infrastructure.

Il existe quatre techniques courantes pour le calcul dans Azure :

  • Machines virtuelles
  • Conteneurs
  • Azure App Service
  • Informatique Serverless

Que sont les machines virtuelles ?

Les machines virtuelles sont des émulations logicielles d’ordinateurs physiques. Elles incluent un processeur virtuel, une mémoire, un stockage et des ressources réseau. Elles hébergent un système d’exploitation, et permettent d’installer et d’exécuter un logiciel comme sur un ordinateur physique.

Que sont les conteneurs ?

Les conteneurs sont un environnement de virtualisation pour l’exécution d’applications. Tout comme les machines virtuelles, les conteneurs sont exécutés sur un système d’exploitation hôte. Toutefois, contrairement aux machines virtuelles, ils ne comprennent pas de système d’exploitation pour les applications qui sont exécutées à l’intérieur du conteneur. Les conteneurs regroupent les bibliothèques et les composants nécessaires à l’exécution de l’application, et utilisent le système d’exploitation hôte existant sur lequel est exécuté le conteneur.

Qu’est-ce qu’Azure App Service ?

Azure App Service est une offre PaaS (platform as a service) dans Azure, conçue pour héberger des applications web de niveau entreprise. Vous pouvez répondre à des exigences strictes aux niveaux des performances, de la scalabilité, de la sécurité et la conformité tout en utilisant une plateforme complètement managée pour effectuer la maintenance de l’infrastructure.

Qu’est-ce que l’informatique Serverless ?

L’informatique serverless est un environnement d’exécution hébergé dans le cloud qui exécute votre code, mais fait complètement abstraction de l’environnement d’hébergement sous-jacent. Vous créez une instance du service, puis vous ajoutez votre code. Aucune configuration ou maintenance de l’infrastructure n’est nécessaire, ou même autorisée.

Explorer des machines Virtuelles Azure

Les machines virtuelles constituent un choix idéal quand vous devez :

  • Avoir un contrôle total sur le système d’exploitation
  • Exécuter des logiciels personnalisés, ou
  • Pour utiliser des configurations d’hébergement personnalisées

Exemples de cas d’utilisation de machines virtuelles :

  • Pendant le test et le développement.
  • Pendant l’exécution d’applications dans le cloud.
  • Pendant l’extension de votre centre de données dans le cloud.
  • Pendant une reprise d’activité après sinistre.

Mise à l’échelle de machines virtuelles dans Azure

Vous pouvez exécuter des machines virtuelles uniques à des fins de test, de développement ou pour des tâches mineures, ou vous pouvez regrouper les machines virtuelles afin d’offrir redondance, évolutivité et haute disponibilité. Ces fonctionnalités sont les suivantes :

  • Groupes à haute disponibilité
  • Groupes de machines virtuelles identiques
  • Azure Batch

Que sont les groupes à haute disponibilité ?

Un groupe à haute disponibilité est un regroupement logique d’au moins deux machines virtuelles qui permettent à votre application de rester disponible pendant une maintenance planifiée ou non.

Vos machines virtuelles sont ensuite placées séquentiellement dans les domaines d’erreur et de mise à jour. Le schéma suivant montre un exemple où vous avez six machines virtuelles dans un groupe à haute disponibilité réparti entre deux domaines d’erreur et cinq domaines de mise à jour.

Domaine erreur

Que sont les groupes de machines virtuelles identiques ?

Les groupes de machines virtuelles identiques Azure vous permettent de créer et de gérer un groupe de machines virtuelles identiques à charge équilibrée.

Azure Batch

Azure Batch permet la planification de travaux et la gestion des calculs à grande échelle, avec une capacité d’extension à des dizaines, centaines ou milliers de machines virtuelles.

Quand vous êtes prêt à exécuter un travail, Batch :

  • Démarre un pool de machines virtuelles de calcul pour vous
  • Installe des applications et des données intermédiaires
  • Exécute les travaux avec autant de tâches que vous avez
  • Identifie les défaillances
  • Remet en file d’attente le travail
  • Effectue un scale-down du pool quand le travail prend fin

Explorer les conteneurs dans Azure

Les conteneurs constituent un excellent choix si vous souhaitez exécuter plusieurs instances d’une application sur une seule machine hôte. L’orchestrateur de conteneurs peut démarrer, arrêter et augmenter la taille des instances d’application en fonction des besoins.

Conteneurs dans Azure

Azure prend en charge les conteneurs Docker (modèle de conteneur standardisé) et offre plusieurs façons de les gérer.

  • Azure Container Instances (ACI)
  • Azure Kubernetes Service (AKS)

Azure Container Instances

Azure Container Instances (ACI) offre le moyen le plus rapide et plus simple d’exécuter un conteneur dans Azure. Vous n’êtes pas obligé de gérer toutes les machines virtuelles ni de configurer d’autres services. C’est un produit PaaS qui vous permet de charger vos conteneurs et de les exécuter directement avec une mise à l’échelle élastique automatique.

Azure Kubernetes Service

La tâche d’automatisation et de gestion d’un grand nombre de conteneurs et de leur interaction porte le nom d’orchestration. Azure Kubernetes Service (AKS) est un service d’orchestration complet pour les conteneurs avec des architectures distribuées sur plusieurs conteneurs.

Utilisation des conteneurs dans vos solutions

Les conteneurs sont souvent utilisés pour créer des solutions utilisant une architecture de microservices. C’est dans cette architecture que vous divisez vos solutions en structures plus petites et indépendantes. Par exemple, vous pourrez fractionner un site web en un conteneur hébergeant votre serveur frontal, un autre hébergeant votre serveur principal et un troisième destiné au stockage.

Qu’est-ce qu’un microservice ?

Imaginons que le serveur principal de votre site web a atteint sa capacité, mais que le serveur frontal et le stockage sont sollicités à l’extrême. Vous pouvez monter le back-end séparément pour améliorer les performances, ou vous pouvez décider d’utiliser un autre service de stockage. Ou encore, vous pouvez remplacer le conteneur de stockage sans en affecter le reste de l’application.

Explorer Azure App Service

Azure App Service vous permet de créer et d’héberger des applications web, des tâches en arrière-plan, des back-ends mobiles et des API RESTful dans le langage de programmation de votre choix sans gérer l’infrastructure. Il offre une mise à l’échelle automatique et une haute disponibilité. App Service prend en charge à la fois Windows et Linux et permet des déploiements automatisés à partir de GitHub, Azure DevOps ou n’importe quel dépôt Git pour prendre en charge un modèle de déploiement continu.

Coûts d’App Service

Vous payez pour les ressources de calcul Azure que votre application utilise lors du traitement des demandes basées sur le plan App Service que vous choisissez. Le plan App Service détermine la quantité de ressources matérielles dédiées à votre hôte, que ce soit du matériel dédié ou partagé, et la quantité de mémoire réservée. Il existe même un niveau gratuit que vous pouvez utiliser pour héberger des sites de petite taille et avec un trafic faible.

Types d’applications web

Avec Azure App Service, vous pouvez héberger les styles d’application web les plus courants, notamment :

  • Web Apps
  • Applications API
  • WebJobs
  • Mobile Apps
Applications web

App Service inclut une prise en charge complète pour l’hébergement d’applications web avec ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP ou Python. Vous pouvez choisir un système d’exploitation hôte Windows ou Linux.

Applications API

Comme dans l’hébergement d’un site web, vous pouvez générer des API Web REST en utilisant la langue et l’infrastructure de votre choix. Vous disposez d’une prise en charge complète de Swagger, avec la capacité d’empaqueter et de publier votre API dans la Place de marché Azure.

Tâches web

Les tâches web vous permettent d’exécuter un programme (.exe, Java, PHP, Python ou Node.js) ou un script (.cmd, .bat, PowerShell ou Bash) dans le même contexte qu’une application web, une application API ou une application mobile. Elles peuvent être planifiées ou exécutées par un déclencheur. Les tâches web sont souvent utilisées pour exécuter des tâches en arrière-plan dans le cadre de votre logique d’application.

Explorer l’informatique Serverless dans Azure

L’informatique Serverless fait abstraction des serveurs, de l’infrastructure et des systèmes d’exploitation. Avec l’informatique Serverless, Azure gère l’infrastructure serveur et l’allocation/désallocation des ressources en fonction de la demande. L’infrastructure ne relève pas de votre responsabilité. La mise à l’échelle et les performances sont gérées automatiquement, et vous êtes facturé uniquement pour les ressources que vous utilisez. Il n’est même pas nécessaire de réserver de la capacité.

L’informatique Serverless repose sur trois idées : abstraction des serveurs, mise à l’échelle basée sur les événements et microfacturation.

  1. Abstraction des serveurs
  2. Mise à l’échelle basée sur les événements
  3. Microfacturation

Azure propose deux implémentations de calcul serverless :

  • Azure Functions, qui peut exécuter du code dans presque n’importe quel langage moderne.
  • Azure Logic Apps, qui est conçu dans un concepteur web et qui peut exécuter la logique déclenchée par les services Azure sans écrire de code.

Azure Functions

Azure Functions est le choix idéal lorsque vous vous préoccupez uniquement du code exécutant votre service, mais pas de la plateforme ou de l’infrastructure sous-jacentes.

Azure Logic Apps

Les applications logiques Azure sont similaires aux fonctions : elles permettent aussi de déclencher une logique basée sur un événement. Alors que les fonctions exécutent du code, les applications logiques exécutent des workflows conçus pour automatiser des scénarios métier et créés à partir de blocs de logique prédéfinis.

Questionnaire

  1. Supposons que vous avez une application qui s’exécute localement sur votre propre serveur. Vous avez besoin de capacité supplémentaire, mais vous préférez migrer vers Azure au lieu d’acheter du matériel local plus performant. Quelle option de calcul vous permettra d’exécuter le plus rapidement votre application dans Azure ?

Informatique Serverless

Conteneurs

Machines virtuelles

  1. Vous travaillez sur une application de partage de photos qui s’exécute sur des millions d’appareils mobiles. La demande est imprévisible, puisque vous constatez un pic d’utilisation dès qu’un événement important se produit au niveau local ou national. Parmi les ressources de calcul Azure, laquelle est la mieux adaptée à cette charge de travail ?

Informatique Serverless

Conteneurs

Machines virtuelles

  1. Les options de calcul vous offrent différents niveaux de contrôle sur la configuration de l’environnement dans lequel votre application s’exécute. Parmi les propositions suivantes, laquelle classe les options de calcul de celle qui fournit le plus de contrôle à celle qui en fournit le moins ?

Informatique Serverless, conteneurs, machines virtuelles

Conteneurs, informatique Serverless, machines virtuelles

Machines virtuelles, conteneurs, informatique Serverless