Cet article a été publié à l'origine sur Alibaba Cloud . Merci de soutenir les partenaires qui rendent SitePoint possible.
Le déploiement d'une application Web hautement disponible et évolutive sur un centre de données traditionnel est une entreprise complexe et coûteuse. Il faut investir beaucoup d’efforts et de ressources dans la gestion de la capacité. Mais le plus souvent, il aboutit à un surapprovisionnement ou à un sous-provisionnement des ressources, ce qui entraîne également un investissement inefficace dans du matériel sous-utilisé. Pour relever ce défi, Alibaba Cloud propose une infrastructure cloud fiable, évolutive et performante pour les scénarios de déploiement d'applications Web les plus exigeants. Ce document propose des solutions pratiques et les meilleures pratiques en matière de dimensionnement de votre application Web sur Alibaba Cloud.
Solution traditionnelle pour l’hébergement commun d’applications Web
Dans un espace d’hébergement Web traditionnel, la conception d’une architecture évolutive est toujours un défi. . Le diagramme ci-dessous illustre un modèle d'hébergement Web traditionnel. Le but de ce diagramme est de vous aider à le comparer à une architecture similaire hébergée sur le nuage.
L'hébergement Web traditionnel suit généralement une conception à trois niveaux qui divise l'architecture en couches de présentation, d'application et de persistance. La conception permet l'évolutivité grâce à l'inclusion de serveurs supplémentaires à chacune de ces couches. L'architecture possède également des fonctionnalités intégrées de haute disponibilité. La section ci-dessous examine les moyens de déployer cet hébergement Web traditionnel dans le nuage Alibaba.
Architecture d'hébergement d'applications Web simple sur Alibaba Cloud
Le diagramme ci-dessous montre à quoi ressemble l'architecture d'hébergement Web traditionnelle déployée à l'aide de divers produits Alibaba Cloud. services:
Les composants clés de cette architecture sont les suivants:
- Elastic Compute Service (ECS) – Construit sur le système informatique distribué à grande échelle d'Alibaba Cloud, Elastic Compute Service ou ECS est évolutif et hautement efficace. service d'informatique en nuage. Alibaba Cloud ECS vous aide à créer rapidement des applications Web plus stables et sécurisées pour s'adapter aux besoins de votre entreprise en temps réel.
- Service de stockage d'objets (OSS) – Alibaba Cloud propose diverses options de stockage, d'accès et de sauvegarde. vos données sur le cloud. Pour le stockage statique, il fournit un service de stockage d'objets (OSS) facilitant la réplication automatique des données et la récupération sur incident.
- ApsaraDB pour RDS – Le service de base de données relationnelle ou RDS est un service de base de données en ligne stable, fiable, élastique et hautes performances basé sur le propre système distribué d'Alibaba Cloud. Il supporte MySQL, SQL Server, PostgreSQL et PPAS. En outre, il fournit un ensemble complet de fonctionnalités, notamment la reprise après sinistre, la sauvegarde, la surveillance et la migration des données.
- DNS – Le service DNS Alibaba Cloud fournit un service DNS hautement disponible et évolutif pour vos besoins de gestion de domaine. Il redirige automatiquement les demandes de votre domaine vers le serveur DNS le plus proche.
- Équilibreur de charge du serveur (SLB) – Équilibreur de charge du serveur est un service de distribution de trafic Web qui optimise et étend les capacités de service externe de vos applications Web. En répartissant le trafic de manière transparente sur plusieurs serveurs cloud et en éliminant les points de défaillance uniques, SLB améliore la fiabilité, la convivialité et la disponibilité de vos applications.
Exploitation du cloud pour l'hébergement d'applications Web
Lors du déploiement d'une application Web sur Alibaba Cloud, vous devez envisager de modifier votre déploiement pour exploiter pleinement les avantages du cloud. Vous trouverez ci-dessous quelques considérations essentielles à prendre en compte lors de l'hébergement d'une application sur Alibaba Cloud.
Plusieurs centres de données dans une région
Dans une région donnée, Alibaba Cloud exploite généralement au moins deux centres de données appelés Zones de disponibilité (AZ). Elastic Compute Service (ECS) dans différentes zones de disponibilité sont à la fois logiquement et physiquement séparés. Alibaba Cloud fournit un modèle facile à utiliser pour déployer vos applications sur plusieurs AZ afin d'accroître la disponibilité et la fiabilité.
Haute sécurité pour les applications et serveurs Web
La sécurité des applications Web est l'une des principales préoccupations des entreprises d'aujourd'hui. que 90% des applications sont vulnérables aux attaques de sécurité. Ces attaques peuvent exploiter des sites Web et des serveurs inhérents, ce qui expose les entreprises au risque de pertes financières. Pour protéger vos applications Web contre de telles attaques, Alibaba Cloud fournit une suite de services de sécurité réseau et d'application, tels que Anti-DDoS (Basic et Pro), Web Application Firewall (WAF). et Server Guard .
En plus de ces services, les utilisateurs peuvent limiter le trafic externe de manière proactive en définissant des pare-feu et des autorisations. Le diagramme ci-dessous illustre l'architecture d'hébergement d'applications Web Alibaba Cloud, dotée d'un pare-feu de groupe destiné à sécuriser l'ensemble de l'infrastructure.
- Pour le cluster de serveurs Web, un groupe de sécurité de pare-feu autorise uniquement l'accès aux ports 80 et 443 (HTTP et HTTPS).
- Pour protéger le cluster de serveurs d'applications, le groupe de sécurité autorise uniquement l'accès aux serveurs Web. .
- Pour le serveur de base de données, son groupe de sécurité permet d’accéder aux demandes de données d’application provenant des serveurs d’application. De plus, le groupe de sécurité pour les serveurs de base de données autorise l'accès uniquement à partir de la couche d'application. Pour garantir une sécurité totale, l'accès au port 22 (SSH) pour la gestion directe des hôtes n'est autorisé qu'à partir des adresses IP inscrites sur la liste blanche configurées dans les règles de pare-feu du groupe de sécurité.
Traitement de ECS en tant que ressources dynamiques
Pour créer et héberger un groupe tolérant aux pannes et une application évolutive sur Alibaba Cloud, vous aurez besoin d’un système flexible qui prend en compte la nature dynamique d’ECS. Il est essentiel de comprendre que les ressources du cloud peuvent devenir indisponibles ou perdues en cas de défaillance. De plus, une fois qu'un nouveau serveur virtuel est mis en service, vous ne pouvez plus présumer de l'adresse IP qui lui est attribuée. Pour gérer de tels scénarios, Alibaba Cloud vous permet de sélectionner l'emplacement des ressources et fournit des IP élastiques . Ils sont achetés pour conserver l'adresse IP d'une ressource sous forme statique. Si vous configurez une nouvelle instance ECS, vous pouvez mapper le même EIP sur la nouvelle instance.
Compte tenu de tous ces facteurs, examinons quelques-unes des meilleures pratiques pour le déploiement de vos applications Web en fonction de scénarios spécifiques. ] Meilleure pratique n ° 1: Hébergement d'applications avec livraison de contenu
Jusqu'à présent, l'architecture d'applications Web décrite ci-dessus était la mieux adaptée pour répondre à toutes les demandes des utilisateurs à partir d'un emplacement centralisé unique. Cependant, en cas de volume de trafic élevé, Content Delivery Network (CDN) contribue à optimiser les performances de votre application Web, tout en garantissant une expérience sans latence.
Architecture de référence
avec Alibaba Cloud CDN un réseau croissant d'emplacements périphériques mondiaux est responsable de la mise en cache du contenu statique et en continu. CDN extrait le contenu d'origine de l'OSS et le met en cache au niveau des nœuds périphériques. Une fois mises en cache, les futures demandes sont automatiquement acheminées vers l'emplacement Edge le plus proche pour garantir la livraison du contenu avec les meilleures performances possibles. Ce processus, à son tour, libère une charge supplémentaire des serveurs en raison du trafic qui frappe directement les serveurs, ce qui permet une consommation efficace des ressources de calcul.
Le diagramme d'architecture suivant illustre un hébergement typique d'une application Web avec CDN.
Alibaba Cloud CDN peut également fonctionner de manière transparente avec tout serveur d’origine non Alibaba Cloud. Alibaba Cloud CDN ne fait également l'objet d'aucun engagement financier: vous payez uniquement pour le contenu disponible en très grande quantité via le service.
Meilleure pratique n ° 2: Hébergement d'applications Web avec Auto Scaling
Dans un environnement traditionnel modèle d'hébergement d'infrastructure où vous devez provisionner un nombre fixe de serveurs, vous êtes obligé de faire fonctionner des serveurs en fonction des pics de demande. Cette méthode repose sur une planification précise de la capacité, sans quoi cela entraînerait des dépenses considérables en termes de capacité de serveur non utilisée. Dans le monde réel, un trafic typique expérimenté sur un site Web ressemble à ceci:
Architecture de référence
Sur Alibaba Cloud, une application Web peut exploiter le provisionnement à la demande de serveurs supplémentaires, ou un ajustement à la baisse pendant une période de moindre trafic afin de minimiser les coûts liés aux services publics. Toutes ces opérations sont effectuées automatiquement par le service Alibaba Cloud Auto Scaling . Alibaba Cloud Elastic Compute Service (les instances ECS sont provisionnées à la volée en fonction d'un ensemble de déclencheurs permettant de redimensionner la flotte, puis de revenir en arrière). Ajout ou suppression de serveurs gérés par Auto Scaling à partir du serveur Load Balancer se produit automatiquement, ce qui fait de cette option de déploiement une configuration véritablement robuste. Le diagramme ci-dessous illustre un hébergement typique d'applications Web ainsi qu'une mise à l'échelle automatique:
Voyons maintenant brièvement le composant clé de cette architecture, Auto Scaling: vous pouvez configurer les déclencheurs Auto Scaling en fonction des données de métriques obtenues directement auprès d'Alibaba Cloud Monitor . Par exemple, vous pouvez configurer Auto-Scaling pour qu'il se déclenche si l'utilisation de l'UC a été égale ou supérieure à 75%. les cinq dernières minutes ou si votre application actuelle utilise jusqu'à 35% de la mémoire, vous pouvez également configurer un nombre défini d'instances à un moment donné, en fonction des attentes. Charge utile et exigences de votre organisation.
Meilleure pratique n ° 3: Hébergement d'applications Web avec des performances d'IO supérieures
Face à la demande croissante des entreprises, la nécessité de maintenir les performances élevées de votre application est cruciale. Même les plus infimes défaillances peuvent entraîner un temps de réponse extrême et nuire à l'expérience de l'utilisateur. La conception traditionnelle de la base de données d'instance unique peut ne pas suffire pour traiter un grand nombre de demandes d'E / S.
Pour réduire la charge de la base de données, vous devez séparer les demandes d'écriture et de lecture dans différentes instances de la base de données. Lorsque vous effectuez la séparation, n'oubliez pas d'inclure une couche memcached entre les serveurs d'hébergement Web et la base de données.
Cette architecture comporte deux composants clés:
- ApsaraDB pour Memcache: Il s'agit d'un service de mise en cache ouvert en ligne qui fournit un accès haute vitesse aux requêtes et aux données tout en accédant aux données de point d'accès. De plus, il prend en charge les bases de données clé-valeur et est compatible avec le service ECS. Vous pouvez conserver les données de points d'accès et réduire le stress sur la base de données afin de réduire le temps de réponse en lecture.
- ApsaraDB pour lecture seule RDS: Si les demandes de lecture dépassent les demandes d'écriture, une seule instance échouera. les gérer, ce qui a un impact sur les performances de l'application. Pour permettre une lecture et une écriture plus fluides, ApsaraDB peut créer des répliques d’instances maîtres avec des comptes en lecture seule pour RDS dans une région donnée. Ceci offre une réponse plus rapide aux demandes de lecture / écriture. En outre, les répliques gèrent les demandes de lecture, tandis que l'instance principale ne prend en charge que les demandes d'écriture.
Meilleure pratique n ° 4: Hébergement d'applications Web avec reprise sur sinistre multi-DC
Pour les entreprises disposant d'applications Web critiques à grande échelle. , la nécessité de maintenir une haute disponibilité pour une expérience utilisateur transparente est cruciale. Malgré le fait que l'infrastructure en nuage assure la protection par le biais de services de sécurité, vous avez toujours besoin de déploiements de centres de données multiples pour fournir une sécurité supplémentaire. Cela devient encore plus impératif en cas de panne du centre de données.
Architecture de référence
La principale caractéristique de cette architecture en nuage consiste à répartir tous les serveurs et services de base de données sur plusieurs contrôleurs d'accès ou zones disponibles. Cette distribution est effectuée tant que les serveurs se trouvent dans la même région et peuvent servir de système d'application Web unique.
Examinons les principales considérations relatives à l'hébergement d'applications Web Alibaba Cloud avec Multi-DC. Récupération après sinistre.
Automatisation complète: Cette architecture détecte les problèmes liés au serveur et garantit la récupération en basculant l'environnement de production avec l'environnement de reprise après sinistre. ApsaraDB pour RDS gère une sauvegarde des données, mais active également les points de terminaison des bases de données au cas où la base de données principale ne fonctionnerait pas, assurant ainsi une excellente disponibilité.
Full Resource Utilization: architecture cloud, il n’existe aucune ressource dédiée à l’environnement de reprise après sinistre. Dès qu'un problème survient, le système utilise les ressources de l'environnement de production pour assurer la reprise après sinistre. Cela facilite l'utilisation complète des ressources, ce qui en fait une solution rentable pour les entreprises.
Meilleure pratique n ° 5: Hébergement d'applications Web avec déploiement multirégion
Pour les entreprises opérant dans plusieurs pays ou envisageant une expansion mondiale, disposer d'une architecture informatique flexible est essentiel à la croissance de l'entreprise. Ces entreprises ont besoin de réseaux extrêmement stables et de qualité supérieure pour suivre l'évolution de la technologie et de la demande. Pour ces entreprises, la principale préoccupation est liée au besoin essentiel d’un réseau efficace et sécurisé leur permettant de connecter leurs activités mondiales. Les lignes de crédit-bail de fournisseurs de services de télécommunication peuvent être une option coûteuse pour les petites et moyennes entreprises. Pour remédier à cela, Alibaba Cloud offre un moyen simple et économique de se connecter avec différentes régions du monde via des lignes dédiées. Il fournit également plusieurs autres solutions pour traiter la réplication / synchronisation des données entre les régions.
Architecture de référence
L'architecture ci-dessous répond au besoin de déploiements à plusieurs noeuds dans différentes régions. Une application déployée en Chine peut également être déployée simultanément dans la région américaine. Les deux applications interagissent au niveau des couches de service et de données. En utilisant Alibaba Cloud Express Connect les deux VPC de plusieurs régions sont connectés via une ligne dédiée. Cela permet une connexion sécurisée via Internet entre les instances ECS situées dans la région Chine et celles situées dans la région américaine. Bien qu'ils se trouvent à des emplacements différents, les deux instances RDS peuvent également synchroniser des données en temps réel. Alibaba Cloud OSS permet la réplication de données entre régions pour répondre aux exigences d'un grand volume de réplication de données via Internet.
Un déploiement multirégion basé sur cette architecture est simple et rentable. construisez rapidement leur application multirégion et gérez toutes les ressources cloud dans le monde entier avec un seul compte Alibaba Cloud. Alibaba Cloud propose également de multiples solutions de transmission de données pour répondre aux besoins de scénarios de la plupart des utilisateurs.
Conclusion
Si vous comparez les méthodes d’hébergement Web traditionnelles et en nuage, il est impératif pour vous d’aller au-delà du matériel et des prix. Tirez parti de la véritable valeur intrinsèque de la solution d'hébergement et des avantages commerciaux associés. Un système d'hébergement Web classique nécessite l'achat, l'installation, la gestion et la maintenance de la configuration matérielle et de l'infrastructure permettant d'héberger votre site. une tâche qui peut prendre une très longue durée. De telles nécessités rendent la solution d'hébergement traditionnelle fastidieuse, fastidieuse et exorbitante.
En outre, la plupart des grandes entreprises sont présentes dans de nombreux sites, chacune ayant besoin d'un fournisseur / d'un personnel dédié. La gestion de ces fournisseurs à partir d’un emplacement distant s’ajoute au coût d’organisation. En outre, il existe d'autres coûts cachés, tels que des taxes supplémentaires pour l'achat de matériel, des frais de livraison et des frais généraux opérationnels.
En revanche, l'hébergement Web en nuage offre de multiples avantages pouvant potentiellement générer d'importants avantages pour l'entreprise. De plus, l'hébergement Web en nuage garantit des accords de niveau de service qui promettent une haute disponibilité pour votre site Web. En outre, cela vous permet de payer en consommant les ressources sans coûts cachés, ce qui vous permet de planifier efficacement votre budget informatique.
Source link