Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure fournit de nombreuses façons d’héberger votre code d’application. Le terme calcul fait référence au modèle d’hébergement pour les ressources sur lesquelles votre application s’exécute. Cet article vous aide à choisir un service de calcul pour votre application.
Architecture
Utilisez l’organigramme suivant pour sélectionner un service de calcul candidat.
Téléchargez un fichier Visio de cette architecture.
Le diagramme précédent fait référence à deux stratégies de migration :
Lift-and-shift : Stratégie de migration d’une charge de travail vers le cloud sans reconcevoir l’application ou apporter des modifications de code. Il est également appelé réhébergement. Pour plus d’informations, consultez le Centre de migration et de modernisation du cloud Azure.
Optimisé pour le cloud : Stratégie de migration vers le cloud en refactorisant une application pour tirer parti des fonctionnalités et fonctionnalités natives du cloud.
La sortie de cet organigramme est votre point de départ. Ensuite, évaluez le service pour voir s’il répond à vos besoins.
Cet article comprend plusieurs tables qui peuvent vous aider à choisir un service. Le candidat initial de l’organigramme peut ne pas convenir à votre application ou à votre charge de travail. Dans ce cas, développez votre analyse pour inclure d’autres services de calcul.
Si votre application se compose de plusieurs charges de travail, évaluez chaque charge de travail séparément. Une solution complète peut incorporer deux services de calcul ou plus.
Comprendre les fonctionnalités de base
Si vous n’êtes pas familiarisé avec le service Azure que vous sélectionnez dans la section précédente, consultez la documentation de présentation suivante :
Azure App Service est un service managé pour l’hébergement d’applications web, de back-ends d’applications mobiles, d’API RESTful ou de processus métier automatisés.
Azure Batch est un service managé permettant d’exécuter des applications de calcul haute performance et parallèles à grande échelle.
Azure Container Apps est un service managé basé sur Kubernetes, qui simplifie le déploiement d’applications conteneurisées dans un environnement serverless.
Azure Container Instances est un service permettant d’exécuter un seul conteneur ou un groupe de conteneurs dans Azure. Container Instances ne fournit pas d’orchestration de conteneur complète, mais vous pouvez implémenter des conteneurs sans avoir à provisionner des machines virtuelles ou à adopter un service de niveau supérieur.
Azure Functions est un service qui fournit des fonctions managées qui s’exécutent en fonction de divers types de déclencheurs pour les applications pilotées par les événements.
Azure Kubernetes Service (AKS) est un service Kubernetes managé pour l’exécution d’applications conteneurisées.
Azure Red Hat OpenShift est un cluster OpenShift complètement managé pour l’exécution de conteneurs en production avec Kubernetes.
Azure Service Fabric est une plateforme de systèmes distribués qui peut s’exécuter dans de nombreux environnements, notamment Azure ou en local.
Azure VMware Solution est un service managé pour exécuter des charges de travail VMware en mode natif sur Azure.
Les machines virtuelles Azure sont un service où vous déployez et gérez des machines virtuelles à l’intérieur d’un réseau virtuel Azure.
Comprendre les modèles d’hébergement
Pour les modèles d’hébergement, les services cloud se répartissent en trois catégories :
L’infrastructure en tant que service (IaaS) vous permet de provisionner des machines virtuelles, ainsi que les composants réseau et de stockage associés. Vous pouvez ensuite déployer tous les logiciels et applications sur ces machines virtuelles. Ce modèle est le plus proche d’un environnement local traditionnel. Microsoft gère l’infrastructure et vous gérez les machines virtuelles.
Platform as a service (PaaS) fournit un environnement d’hébergement managé dans lequel vous pouvez déployer votre application sans avoir à gérer les machines virtuelles ou les ressources réseau. App Service et Container Apps sont des services PaaS.
Functions as a service (FaaS) vous permet de déployer votre code sur le service, qui l’exécute automatiquement. Azure Functions est un service FaaS.
Note
Azure Functions est une offre de calcul serverless Azure . Pour voir comment ce service se compare à d’autres offres serverless Azure, telles qu’Azure Logic Apps pour les flux de travail serverless, consultez Choisir les services d’intégration et d’automatisation appropriés dans Azure.
Il existe un spectre entre IaaS et PaaS complètement managé. Par exemple, les machines virtuelles Azure peuvent automatiquement être mises à l’échelle à l’aide de groupes de machines virtuelles identiques. Cette fonctionnalité n’est pas strictement PaaS, mais elle ressemble aux fonctionnalités de gestion dans PaaS.
Il y a un compromis entre le contrôle et la facilité de gestion. IaaS offre le plus de contrôle, de flexibilité et de portabilité. Toutefois, vous devez provisionner, configurer et gérer les machines virtuelles et les composants réseau que vous créez. Les services FaaS gèrent automatiquement presque tous les aspects de l’exécution d’une application. PaaS fournit une gestion partielle tout en nécessitant une configuration utilisateur.
| Service | Composition de l’application | Densité | Nombre minimal de nœuds | Gestion de l'état | Hébergement web |
|---|---|---|---|---|---|
| Virtual Machines | Agnostique | Agnostique | 1 2 | Sans état ou avec état | Agnostique |
| App Service | Applications, conteneurs | Plusieurs applications pour chaque instance à l’aide du plan App Service | 1 | Sans état | Intégré |
| Azure Functions | Fonctions, conteneurs | Serverless 1 | Serverless 1 | Sans état ou avec état 6 | Sans objet |
| AKS | Containers | Plusieurs conteneurs pour chaque nœud | 3 3 | Sans état ou avec état | Agnostique |
| Container Apps | Containers | Serverless | Serverless | Sans état ou avec état | Agnostique |
| Container Instances | Containers | Aucune instance dédiée | Aucun nœud dédié | Sans état | Agnostique |
| Azure Red Hat OpenShift | Containers | Plusieurs conteneurs pour chaque nœud | 6 5 | Sans état ou avec état | Agnostique |
| Service Fabric | Services, exécutables invités, conteneurs | Plusieurs services pour chaque machine virtuelle | 5 3 | Sans état ou avec état | Agnostique |
| Batch | Travaux planifiés | Plusieurs applications pour chaque machine virtuelle | 1 4 | Sans état | Non |
| Azure VMware Solution | Agnostique | Agnostique | 3 7 | Sans état ou avec état | Agnostique |
Remarques :
1Pour Azure Functions, le plan Consommation est serverless. Pour un plan App Service, les fonctions s’exécutent sur les machines virtuelles allouées pour ce plan. Choisissez le plan de service approprié pour Azure Functions.
2 Contratde niveau de service supérieur (SLA) qui a deux instances ou plus.
3Recommandé pour les environnements de production.
4Peut être réduit à zéro une fois le travail terminé.
5Trois nœuds principaux et trois nœuds Worker.
6Lorsque vous utilisez des fonctions durables.
7Voir Hôtes.
Networking
| Service | Intégration du réseau virtuel | Connectivité hybride |
|---|---|---|
| Virtual Machines | Soutenu | Soutenu |
| App Service | Prise en charge de 1 | Pris en charge 2 |
| Azure Functions | Prise en charge de 1 | Pris en charge 3 |
| AKS | Supported | Soutenu |
| Container Apps | Soutenu | Soutenu |
| Container Instances | Supported | Supported |
| Azure Red Hat OpenShift | Supported | Soutenu |
| Service Fabric | Soutenu | Soutenu |
| Batch | Soutenu | Soutenu |
| Azure VMware Solution | Supported | Supported |
Remarques :
1Nécessite App Service Environment ou un niveau tarifaire de calcul dédié.
2Utiliser des connexions hybrides App Service.
3Nécessite un plan App Service ou un plan Azure Functions Premium.
DevOps
| Service | Débogage local | Modèle de programmation | Mise à jour de l’application |
|---|---|---|---|
| Virtual Machines | Agnostique | Agnostique | Aucune prise en charge intégrée |
| App Service | IIS Express, autres 1 | Applications web et API, WebJobs pour les tâches en arrière-plan | Emplacements de déploiement |
| Azure Functions | Visual Studio ou Azure Functions CLI | Serverless, piloté par les événements | Emplacements de déploiement |
| AKS | Minikube, Docker, autres | Agnostique | Mise à jour propagée |
| Container Apps | Runtime de conteneur local | Agnostique | Gestion des révisions |
| Container Instances | Runtime de conteneur local | Agnostique | Sans objet |
| Azure Red Hat OpenShift | Minikube, Docker, autres | Agnostique | Mise à jour propagée |
| Service Fabric | Cluster de nœuds locaux | Exécutable invité, modèle de service, modèle d’acteur, conteneurs | Mise à niveau propagée pour chaque service |
| Batch | Non prise en charge | Application en ligne de commande | Sans objet |
| Azure VMware Solution | Agnostique | Agnostique | Aucune prise en charge intégrée |
Remarque :
1Les options incluent IIS Express pour ASP.NET ou node.js (iisnode), le serveur web PHP, le kit de ressources Azure pour IntelliJ et le kit de ressources Azure pour Eclipse. App Service prend également en charge le débogage à distance des applications web déployées.
Extensibilité
| Service | Autoscaling | Équilibreur de charge | Limited’échelle 3 |
|---|---|---|---|
| Virtual Machines | Groupes identiques de machines virtuelles | Azure Load Balancer (répartiteur de charge Azure) | Image de plateforme : 1 000 nœuds pour chaque groupe identique. Image personnalisée : 600 nœuds pour chaque groupe identique. |
| App Service | Service intégré | Intégré | 30 instances, 100 avec App Service Environment |
| Azure Functions | Service intégré | Intégré | 200 instances pour chaque application de fonction |
| AKS | Mise à l’échelle automatique des pods1, mise à l’échelle automatique du cluster2 | Load Balancer ou Azure Application Gateway | 5 000 nœuds lorsque vous utilisez le contrat SLA de temps d’activité |
| Container Apps | Règles de mise àl’échelle 4 | Intégré | 15 environnements pour chaque région (limite par défaut), applications conteneur illimitées pour chaque environnement et réplicas pour chaque application conteneur (en fonction des cœurs disponibles) |
| Container Instances | Non prise en charge | Aucune prise en charge intégrée | 100 groupes de conteneurs pour chaque abonnement (limite par défaut) |
| Azure Red Hat OpenShift | Mise à l’échelle automatique des pods, mise à l’échelle automatique du cluster | Load Balancer ou Application Gateway | 250 nœuds pour chaque cluster (limite par défaut) |
| Service Fabric | Groupes identiques de machines virtuelles | Équilibreur de charge | 100 nœuds pour chaque groupe de machines virtuelles identiques |
| Batch | Sans objet | Équilibreur de charge | Limite de cœur de 900 dédiés et de 100 basse priorité (limite par défaut) |
| Azure VMware Solution | Service intégré5 | Intégré6 | 3 à 16 hôtes VMware ESXi par VMware vCenter |
Remarques :
1Consultez les pods de mise à l’échelle automatique.
2 VoirMettre automatiquement à l’échelle un cluster pour répondre aux demandes d’application sur AKS.
3Consultez les limites, quotas et contraintes d’abonnement Azure et de service
4Voir Définir des règles de mise à l’échelle dans Container Apps
5Voir Mettre à l’échelle Azure VMware Solution
6Voir VMware NSX
Availability
| Service | Option de basculement multirégion |
|---|---|
| Virtual Machines | Azure Traffic Manager, Azure Front Door et Load Balancer inter-régions |
| App Service | Traffic Manager et Azure Front Door |
| Azure Functions | Traffic Manager et Azure Front Door |
| AKS | Traffic Manager, Azure Front Door et cluster multirégion |
| Container Apps | Traffic Manager et Azure Front Door |
| Container Instances | Traffic Manager et Azure Front Door |
| Azure Red Hat OpenShift | Traffic Manager et Azure Front Door |
| Service Fabric | Traffic Manager, Azure Front Door et Load Balancer inter-régions |
| Batch | Sans objet |
| Azure VMware Solution | Sans objet |
Pour une formation guidée sur les garanties de service, consultez les garanties d’architecture et de service Azure.
Security
Passez en revue et comprenez les contrôles de sécurité et la visibilité disponibles pour chacun des services suivants :
- AKS
- App Service
- Azure Functions
- Machines virtuelles pour Linux
- Azure VMware Solution
- Machines virtuelles pour Windows
- Batch
- Applications de conteneur
- Instances de conteneur
- Service Fabric
Autres critères
Prendre en compte les limites et les coûts
En plus des tableaux de comparaison précédents, effectuez une évaluation plus détaillée des aspects suivants du service candidat :
Contributeurs
Microsoft gère cet article. Les contributeurs suivants ont écrit cet article.
- Ayobami Ayodeji | Responsable du programme senior
- Jelle Druyts | Ingénieur du service principal
- Martin Gjoshevski | Ingénieur de service senior
- Phil Huang | Architecte de solution cloud senior
- Julie Ng | Ingénieur de service senior
- Paolo Salvatori | Ingénieur des services principaux
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.