Choisir une option d’hébergement qui convient à votre application MySQL

Effectué

Si vous développez une nouvelle application ou que vous modernisez une application existante, le choix d’une option d’hébergement appropriée est essentiel pour optimiser les performances, la sécurité et l’efficacité des coûts. Traditionnellement, les applications sont hébergées sur des serveurs web comme Internet Information Services (IIS), Apache ou NGINX sur du matériel physique ou virtualisé local. Bien que cette option offre l’avantage de fournir à l’équipe d’infrastructure un contrôle total de l’environnement, elle nécessite du travail supplémentaire en termes de gestion, de coûts initiaux, de disponibilité, de scalabilité, de résilience, de sécurité et de conformité.

Quand vous déployez votre application dans le cloud, vous éliminez la nécessité de gérer ces aspects. L’hébergement d’une application dans le cloud réduit les coûts globaux de configuration, améliore la disponibilité et la fiabilité avec les options de continuité d’activité et reprise d’activité (BCDR), vous permet de mettre à l’échelle vos ressources d’application à la demande, et renforce la sécurité.

Microsoft Azure offre un large éventail d’options d’hébergement d’application personnalisées pour répondre aux exigences en termes d’architecture et aux cas d’usage de votre application.

Diagramme montrant les types d’applications MySQL et les services Azure correspondants.

La plupart de ces options d’hébergement d’applications s’intègrent facilement à Azure Database pour MySQL – Serveur flexible, un service particulièrement efficace pour les bases de données back-end dû à sa scalabilité, ses performances et sa facilité de gestion. Cette unité explore des services Azure et des architectures d’applications MySQL courantes pour vous aider à déterminer l’option d’hébergement la plus appropriée pour votre charge de travail d’application.

Applications web sur Azure App Service

MySQL est l’une des bases de données les plus répandues pour le développement d’applications web et mobiles en raison de sa portabilité, de sa rapidité, de sa scalabilité et de sa fiabilité, le tout à faible coût. En utilisant Azure Database pour MySQL – Serveur flexible dans le back-end, vous pouvez créer plus facilement des applications à l’échelle d’Internet légères ou stratégiques de la pile LAMP (Linux-Apache-MySQL-PHP). Vous pouvez aussi développer en utilisant des systèmes de gestion de contenu répandus comme WordPress, Drupal ou Joomla, des systèmes de gestion des formations comme Moodle et des plateformes d’e-commerce comme Magento, qui sont tous compatibles avec Azure Database pour MySQL – Serveur flexible.

Les développeurs peuvent déployer ces applications web et mobiles basées sur MySQL dans un environnement Windows ou Linux en utilisant Azure App Service, qui est une solution PaaS (Platform-as-a-Service) basée sur HTTP pour héberger des applications web, des API REST et des back-ends mobiles. Avec Azure App Service, vous pouvez réduire la surcharge de travail liée à la gestion, développer dans vos langages favoris, automatiser le déploiement d’applications, effectuer un scale-up et un scale-down rapidement, et même « dockeriser » votre application pour héberger des conteneurs Windows ou Linux personnalisés.

Applications conteneurisées sur Azure Kubernetes Service ou Azure Container Apps (architecture de microservices)

Récemment, les applications avec une architecture de microservices sont devenues de plus en plus répandues en raison de leur efficacité, leur résilience, leur scalabilité et leur facilité de déploiement. Contrairement aux applications monolithiques traditionnelles, chaque microservice ou conteneur fonctionne indépendamment et peut être mis à jour sans redéployer l’ensemble de l’application.

Sur Azure, vous pouvez déployer ces microservices sur Azure Kubernetes Service (AKS), un service Kubernetes entièrement managé qui vous permet de définir, déployer, déboguer et mettre à niveau facilement et rapidement les applications conteneurisées les plus complexes.

En plus d’AKS, Azure Container Apps (ACA) offre un service d’hébergement de conteneurs serverless idéal pour les applications modernes créées à partir de microservices. ACA simplifie le déploiement et la mise à l’échelle des conteneurs sans devoir gérer l’infrastructure sous-jacente, comme des machines virtuelles ou des clusters Kubernetes. Il s’intègre bien avec Azure Logic Apps et Azure Functions pour l’architecture basée sur les événements, prenant en charge la mise à l’échelle et la gestion rapides des composants d’application. ACA est particulièrement avantageux pour les applications nécessitant des opérations agiles et des itérations rapides, fournissant des options de mise à l’échelle dynamique basées sur le trafic HTTP ou sur des déclencheurs pilotés par les événements. Ce service prend en charge les conteneurs Windows et Linux, ce qui vous permet de déployer facilement des microservices développés dans différents environnements de programmation.

En tirant parti d’ACA et de déploiements Kubernetes traditionnels via AKS, vous pouvez bénéficier d’une plus grande flexibilité dans la façon dont ils orchestrent, mettent à l’échelle et gèrent leurs applications conteneurisées. Cette approche optimise non seulement l’efficacité opérationnelle, mais améliore également la capacité de répondre rapidement aux changements du marché et aux demandes des clients.

Applications serverless pilotées par les événements avec Azure Functions et Azure Logic Apps

Les applications serverless accélèrent le développement en utilisant un modèle piloté par les événements, avec des déclencheurs qui exécutent automatiquement du code pour répondre à des événements et avec des liaisons pour intégrer facilement des services supplémentaires. Vous êtes facturé seulement en fonction du temps et des ressources utilisés pour exécuter le code.

Azure Functions et Azure Logic Apps sont des solutions serverless sur Azure qui vous aident à créer des systèmes pour réagir à une série d’événements critiques.

  • Azure Functions Azure Functions est un service de calcul serverless hautement polyvalent qui exécute du code en réponse à divers déclencheurs, comme des requêtes HTTP, des événements de minuteur (travaux cron) ou des événements du service Azure (tels que des messages provenant de files d’attente de stockage Azure ou de Service Bus). Cette flexibilité vous permet de créer des applications qui répondent en temps réel à des modifications sans gérer l’infrastructure du serveur. Azure Functions prend en charge un large éventail de langages de programmation, notamment C#, Java, JavaScript, Python et PowerShell, ce qui le rend accessible à de nombreux développeurs. Ces fonctions peuvent également interagir avec d’autres ressources Azure.
  • Azure Logic Apps offre une expérience de conception serverless qui permet d’automatiser et d’orchestrer des tâches, des processus et des workflows entre des applications et des entreprises. En utilisant un concepteur visuel dans le portail Azure ou dans Visual Studio, vous pouvez configurer des workflows pour automatiser des scénarios métier complexes avec un codage minimal. Ces workflows orchestrent une collection de fonctions ou d’étapes appelées actions, qui sont exécutées pour effectuer une tâche complexe, comme le traitement des commandes par lots et l’agrégation de résultats.

Azure fournit également des services comme Azure Event Grid, Azure Service Bus et Azure Event Hubs pour relayer et gérer des événements et des messages qui peuvent déclencher des applications serverless dans des workflows pilotés par les événements.

Applications héritées monolithiques sur Machines virtuelles Azure

Certaines organisations peuvent avoir des applications héritées avec des architectures monolithiques étroitement couplées à des processus métier et difficiles à moderniser. Vous pouvez migrer ces applications vers Azure en utilisant un modèle lift-and-shift et les héberger sur Machines virtuelles Azure, qui est un service IaaS (Infrastructure as a Service).

Si les avantages d’Azure incluent la possibilité d’activer des services de sauvegarde et de restauration, le chiffrement de disque et des options de mise à l’échelle qui ne nécessitent aucun coût initial, vous devez néanmoins toujours effectuer des tâches manuelles pour déployer, maintenir et gérer les applications sur Machines virtuelles Azure.