Partager via


Hébergement d’applications sur Azure

Ceci est la troisième partie d’une série de 7 articles pour aider les développeurs à démarrer avec Azure.

Azure propose différentes manières d’héberger votre application en fonction de vos besoins. Cet article suggère des services pour correspondre aux exigences. Il n’est pas prescriptif. Vous pouvez combiner les services pour répondre à vos besoins. La plupart des environnements de production utilisent une combinaison de services pour répondre à leurs besoins commerciaux et organisationnels.

Les services que vous choisissez dépendent souvent de deux considérations :

  • Préférez-vous la simplicité ou le contrôle ?
  • Préférez-vous le cloud-native (c’est-à-dire, les conteneurs) ou l’Azure-native (outils et intégrations spécifiques) ?

La vidéo suivante explique la première considération : simplicité contre contrôle :

Simplicité et contrôle

Les services d’hébergement Azure sont proposés avec deux considérations :

  • Simplicité contre contrôle
    • Les plateformes d’hébergement simples nécessitent moins de configuration et de gestion mais offrent moins de contrôle sur l’infrastructure sous-jacente.
    • Les plateformes d’hébergement plus complexes nécessitent plus de configuration et de gestion mais offrent plus de contrôle sur l’infrastructure sous-jacente.
  • Cloud-native contre Azure-native
    • Le Cloud-native peut être considéré comme portable dans le cloud, utilisant des charges de travail open source telles que des conteneurs et des technologies open source comme Dapr. Les applications que vous construisez peuvent être déployées sur n’importe quel fournisseur de cloud.
    • L’Azure-native est spécifique à Azure, avec un investissement dans les outils et technologies spécifiques à Azure pour gérer cette infrastructure. Bien que ces services incluent des charges de travail conteneurisées, ils incluent également des outils de développement basés sur le code, peu de code, et des outils d’infrastructure spécifiques à Azure, avec un accent sur la connexion et l’intégration entre les services Azure.

Hébergement simplifié

Simplifié les solutions d’hébergement sont entièrement gérées par Azure. Vous êtes responsable des fonctionnalités telles que le code et la configuration de l’environnement. Azure gère l’exécution sous-jacente et l’infrastructure, y compris les mises à jour et les correctifs. L’hébergement simplifié est l’approche Azure-native.

  • Logic Apps : Créez et exécutez des workflows automatisés avec peu ou pas de code.
  • Power Automate : Utilisez-le lorsque vous devez automatiser des processus et des workflows métier.
  • Azure Static Web Apps : Déployez des applications web statiques générées telles que Blazor et React.
  • Azure Functions Apps : hébergement de code serverless ou de conteneur.

Hébergement équilibré

Équilibré les solutions d’hébergement équilibrent le besoin de simplicité avec le besoin de contrôle. Vous êtes responsable des fonctionnalités telles que le code et la configuration de l’environnement. Azure gère l’exécution sous-jacente et l’infrastructure, y compris les mises à jour et les correctifs. Vous pouvez également apporter votre propre conteneur au service. L’hébergement équilibré est à la fois Azure-native et Cloud-native.

  • Azure App Service : Hébergement web complet, incluant les environnements d’exécution, les conteneurs, et les charges de travail automatisées.
  • Azure Container Apps : Hébergement de conteneur serverless.
  • Azure Spring Apps : Migrer les applications Spring Boot vers le cloud Azure.

Hébergement contrôlé

Contrôlé les solutions d’hébergement vous donnent un contrôle total sur l’infrastructure sous-jacente. Vous êtes responsable des mises à jour et correctifs ainsi que de votre code, de vos actifs et de la configuration de l’environnement. L’hébergement contrôlé est l’approche Cloud-native.

Hébergement du code source

Pour les développeurs nouveaux sur Azure qui souhaitent démarrer un nouveau développement, utilisez le tableau suivant pour trouver la solution d’hébergement suggérée.

Diagramme montrant aucun code, peu de code dans la première boîte, du code dans la deuxième boîte et des conteneurs dans la troisième boîte avec les services recommandés pour chaque boîte.

Aucun code ou peu de code

Azure prend en charge les solutions sans code dans le cadre de son approche Azure-Cloud.

  • Logic Apps : Utilisez un concepteur visuel avec des opérations prédéfinies pour développer un workflow pour vos scénarios d’entreprise et d’échange interentreprises.
  • Power Automate comme Power apps : Utilisez-le lorsque vous devez automatiser des processus et des workflows métier au sein de l’organisation Microsoft 365.

Code contre conteneur

Low-code les solutions d’hébergement sont conçues pour vous permettre d’apporter la fonctionnalité de votre code sans avoir à gérer l’infrastructure de l’application.

  • Azure Static Web Apps : déployez des applications web statiques générées.
  • Azure Functions : déployez des fonctions de code dans les langages pris en charge sans avoir à gérer l’infrastructure de l’application.

Code-first les solutions d’hébergement sont conçues pour héberger du code. Vous pouvez déployer directement votre code dans la solution d’hébergement.

Container-first les solutions d’hébergement sont conçues pour héberger des conteneurs. Le service fournit des options de configuration spécifiques aux conteneurs et des fonctionnalités. Vous êtes responsable de la capacité de calcul utilisée à l’intérieur du conteneur. Les services qui hébergent des conteneurs varient du contrôle géré à la pleine responsabilité, de sorte que vous assumez uniquement le degré de gestion des conteneurs que vous souhaitez.

L’orchestration centrée sur Kubernetes inclut :

Service Focus Utiliser
Azure Kubernetes Service Cloud natif À utiliser pour les clusters Kubernetes avec une approche déclarative utilisant des fichiers de configuration et des artefacts externes.
Azure Service Fabric Azure-native Utilisez une approche impérative pour déployer des microservices sur des clusters de machines. Il fournit un modèle de programmation qui permet aux développeurs d’écrire du code décrivant l’état souhaité du système, et le runtime Service Fabric se charge de faire correspondre le système à cet état.

Préconfiguré l’hébergement de conteneur signifie que les options d’orchestration sont préconfigurées pour vous. Votre capacité à communiquer entre les conteneurs ou les clusters de conteneurs peut nécessiter un service supplémentaire tel que Dapr.

Service Utiliser
Azure App Service hébergement web complet
Azure Spring Apps Applications Spring Boot
Azure Container Apps hébergement de conteneurs serverless
Azure Container Instances hébergement simple, conteneur unique

Azure propose un registre de conteneurs pour stocker et gérer vos images de conteneurs ou vous pouvez utiliser un registre de conteneurs tiers.

Service Utiliser
Azure Container Registry À utiliser lorsque vous construisez et hébergez vos propres images de conteneurs, qui peuvent être déclenchées par des validations de code source et des mises à jour d’images de base.

Sans serveur

Serverless les solutions d’hébergement sont conçues pour exécuter du code sans état, qui comprend un modèle de tarification basé sur la consommation, avec une mise à l’échelle à zéro lorsqu’il n’est pas utilisé.

Service Utiliser
Azure Container Apps Hébergement de conteneurs.
Azure Functions Hébergement de code ou de conteneur.

Microservices

Microservices les solutions d’hébergement sont conçues pour exécuter de petits services indépendants qui fonctionnent ensemble pour former une application plus grande. Les microservices sont généralement déployés sous forme de conteneurs.

Service Utiliser
Azure Container Apps À utiliser pour des microservices conteneurisés sans serveur.
Azure Functions À utiliser pour des microservices conteneurisés ou sans serveur.

Cloud edge

Cloud edge est un terme qui indique si le service Cloud est situé pour bénéficier à l’utilisateur (client) ou à l’application (serveur).

Calcul client

Calcul client est un calcul qui s’exécute sur le client, en dehors du cloud Azure. Le calcul client est généralement utilisé pour le rendu côté client et le traitement côté client, comme les applications basées sur un navigateur ou sur mobile.

Service Utiliser
Azure Static Web Apps À utiliser pour les applications web statiques qui utilisent le rendu côté client comme React, Angular, Svelte, Vue, et Blazor.

Disponibilité client

Service Utiliser
Azure Front Door À utiliser pour toutes les applications orientées vers Internet afin de fournir un réseau global mis en cache et sécurisé à vos actifs statiques et dynamiques, y compris la protection DDoS, le cryptage TLS de bout en bout, les pare-feux d’applications et le filtrage géographique.

Calcul serveur

Calcul serveur les actifs sont des fichiers qui sont traités par le serveur avant d’être servis au client. Les actifs dynamiques sont développés à l’aide du calcul serveur, intégré éventuellement à d’autres services Azure.

Service Utiliser
Azure App Service Utilisez ce service pour l’hébergement web typique. Cela prend en charge une large gamme de fonctionnalités de points de terminaison API, d’applications full-stack et de tâches en arrière-plan. Ce service est livré avec de nombreux environnements d’exécution de langages de programmation ainsi que la possibilité de fournir votre propre pile, langage ou charge de travail à partir d’un conteneur.
Azure Functions Utilisez ce service pour fournir votre propre code dans les langages pris en charge, que ce soit pour des points de terminaison HTTP ou des déclencheurs basés sur des événements provenant des services Azure.
Azure Spring Apps Utilisez-le pour déployer des applications Spring Boot sans modifications de code.
Azure Container Apps Utilisez-le pour héberger des microservices gérés et des applications conteneurisées sur une plateforme sans serveur.
Azure Container Instances Utilisez-le pour des scénarios de conteneur simples qui n’ont pas besoin d’orchestration de conteneurs.
Azure Kubernetes Service Utilisez ce service lorsque vous avez besoin d’un cluster Kubernetes. Le plan de contrôle pour gérer le cluster est créé et fourni pour vous sans coût supplémentaire.

Gestion des points de terminaison serveur

Gestion des points de terminaison serveur est la capacité de gérer votre point de terminaison serveur et son calcul via une passerelle. Cette passerelle fournit des fonctionnalités telles que le contrôle de version, la mise en cache, la transformation, les politiques API et la surveillance.

Service Utiliser
Gestion des API Azure Utilisez ce service lorsque vous mettez en production vos API REST, OpenAPI et GraphQL avec une passerelle API, y compris des quotas et des limites de débit, l’authentification et l’autorisation, la transformation, et des réponses mises en cache.
Application Gateway Azure À utiliser pour l’équilibrage de charge régional (couche OSI 7). Il peut être utilisé pour router le trafic en fonction du chemin URL ou des en-têtes d’hôte, et il prend en charge le déchargement SSL, l’affinité de session basée sur les cookies et les fonctionnalités de pare-feu d’application web (WAF).
Azure Front Door À utiliser pour l’équilibrage de charge global (couche OSI 7) afin de fournir un réseau global mis en cache et sécurisé à vos actifs statiques et dynamiques, y compris la protection DDoS, le cryptage TLS de bout en bout, les pare-feux d’applications et le filtrage géographique.
Azure Traffic Manager À utiliser pour distribuer le trafic via le DNS (couche OSI 7) vers vos applications publiques à travers les régions mondiales d’Azure. Traffic Manager utilise le système DNS pour diriger les requêtes des clients vers le point de terminaison de service approprié, en fonction de la méthode de routage du trafic. Il prend en charge diverses méthodes de routage du trafic telles que le routage prioritaire, par performance et géographique. Il est idéal pour gérer le trafic entre plusieurs régions ou centres de données.

Calcul automatisé

Calcul automatisé est automatisé par un événement tel qu’un horaire planifié ou un autre service Azure, et est généralement utilisé pour le traitement en arrière-plan, le traitement par lots ou les processus de longue durée.

Service Utiliser
Power Automate À utiliser lorsque vous devez automatiser des processus métier et des workflows.
Azure Functions À utiliser lorsque vous devez exécuter du code basé sur un horaire planifié ou en réponse à des événements dans d’autres services Azure.
Services de conteneurs (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) À utiliser pour des charges de travail automatisables standard
Azure Batch À utiliser lorsque vous avez besoin d’une automatisation haute performance.

Cloud hybride

Le cloud hybride est un environnement informatique qui connecte les services de cloud privé sur site d’une entreprise et un cloud public tiers en une infrastructure flexible unique pour exécuter les applications et les charges de travail de l’organisation.

Service Utiliser
Azure Arc À utiliser lorsque vous devez gérer l’ensemble de votre environnement, à la fois les ressources cloud et sur site, y compris la sécurité, la gouvernance, l’inventaire et la gestion.

Si vous n’avez pas besoin de maintenir votre propre infrastructure, vous pouvez utiliser Azure Stack HCI pour exécuter des machines virtuelles sur site.

Calcul haute performance

Le calcul haute performance (HPC) est l’utilisation du traitement parallèle pour exécuter des programmes d’application avancés de manière efficace, fiable et rapide. Le terme s’applique particulièrement aux systèmes qui fonctionnent au-dessus d’un téraflop ou 10^12 opérations en virgule flottante par seconde.

Service Utiliser
Azure Batch Azure Batch crée et gère un pool de nœuds de calcul (machines virtuelles), installe les applications que vous souhaitez exécuter, et planifie les travaux à exécuter sur les nœuds. Les développeurs peuvent utiliser Azure Batch en tant que service de plateforme pour générer des applications SaaS ou des applications clientes où l’exécution à grande échelle est requise.
Azure BareMetal Instances À utiliser lorsque vous avez besoin d’exécuter dans un environnement non virtualisé avec un accès de niveau root au système d’exploitation, au stockage et au réseau.
Espace de travail Azure Quantum À utiliser lorsque vous avez besoin de développer et d’expérimenter avec des algorithmes quantiques.
Microsoft Genomics À utiliser pour le traitement génomique certifié ISO et conforme à la HIPAA.

En savoir plus sur Le calcul haute performance sur Azure.

Calcul basé sur des événements

Calcul basé sur des événements est un calcul déclenché par un événement tel qu’un horaire planifié ou un autre service Azure. Le calcul basé sur des événements est généralement utilisé pour le traitement en arrière-plan, le traitement par lots ou les processus de longue durée.

Service Utiliser
Power Virtual Agents À utiliser lorsque vous devez créer des chatbots avec une interface sans code.
Azure Functions À utiliser lorsque vous devez exécuter du code basé sur un horaire planifié ou en réponse à des événements dans d’autres services Azure.
Messagerie Azure Service Bus À utiliser lorsque vous devez découpler des applications et des services.

Calcul CI/CD

Calcul CI/CD est un calcul utilisé pour construire et déployer votre application.

Service Description
Azure DevOps Utilisez Azure DevOps pour une intégration étroite avec le cloud Azure, y compris l’authentification et l’autorisation aux agents hébergés, qui construisent et déploient votre application.
Actions GitHub Utilisez GitHub Actions pour construire et déployer vos applications à partir du référentiel GitHub. Utilisez l’interface CLI d’Azure pour accéder de manière sécurisée à Azure au sein de l’action.
Machines virtuelles Azure Si vous utilisez un autre système CI/CD, vous pouvez utiliser Azure Virtual Machines pour héberger votre système CI/CD.

Ressources relatives à Java

Ressources supplémentaires