Mise à l'échelle automatique d'une application Web basée sur la charge
Pour exécuter vos applications Web dans le cloud, vous avez besoin d'une infrastructure fiable et sécurisée, d'une topologie élastique et facile à entretenir, et d'une facturation basée sur l'utilisation. Une fonctionnalité Oracle Cloud qui répond à toutes ces exigences est le redimensionnement automatique.
Le redimensionnement automatique garantit que vos ressources dans le cloud sont utilisées efficacement et disponibles au besoin. Vous pouvez configurer votre déploiement cloud pour ajuster automatiquement les ressources de calcul en fonction des mesures de performances, telles que l'utilisation de l'UC. Vos utilisateurs ont des performances constantes même lorsque la charge est élevée. Et vos coûts sont proportionnellement faibles pendant les périodes de faible demande.
Architecture
Cette architecture de référence présente une topologie à 3 niveaux composée d'un équilibreur de charge (LB), d'un niveau Web à redimensionnement automatique et d'une base de données hautement disponible.
Toutes les ressources sont déployées dans un domaine de disponibilité unique dans une région Oracle Cloud Infrastructure. Le niveau LB, le niveau Web et le niveau de base de données sont isolés dans des sous-réseaux distincts au sein d'un seul VCN. Les groupes de sécurité réseau (GNS) servent de pare-feu pour réglementer le trafic réseau à destination et à partir des ressources de chaque niveau. Une table de routage attachée à chaque sous-réseau contient des règles permettant de diriger le trafic vers des destinations en dehors de VCN.
Le diagramme suivant illustre l'architecture de référence.
Cette architecture comporte les composants suivants :
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).
Toutes les ressources de cette architecture se trouvent dans une seule région.
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui permet de tolérer les pannes. Les domaines de disponibilité ne partagent pas d'infrastructure telle que l'alimentation ou le refroidissement, ni le réseau de domaine de disponibilité interne. Par conséquent, il est peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
Les ressources de cette architecture sont déployées dans un seul domaine de disponibilité.
- Domaines de pannes
Un domaine de panne est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes dotés d'une alimentation et d'un matériel indépendants. Lorsque vous distribuez des ressources dans plusieurs domaines de pannes, vos applications peuvent tolérer les pannes physiques du serveur, la maintenance du système et les pannes de courant dans un domaine de pannes.
Les ressources de chaque niveau de cette architecture sont réparties dans plusieurs domaines de pannes.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisé et défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux traditionnels de centres de données, les VCN vous donnent un contrôle complet sur votre environnement réseau. Un VCN peut avoir plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être étendus à une région ou à un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux de VCN. Vous pouvez modifier la taille d'un sous-réseau après la création. Un sous-réseau peut être public ou privé.
L'équilibrage de charge et les niveaux Web de cette architecture utilisent des sous-réseaux publics distincts. La base de données est jointe à un sous-réseau privé.
- Balanceur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une distribution automatisée du trafic à partir d'un point d'entrée unique vers plusieurs serveurs dans le back-end.
- Groupes de sécurité réseau (NSG)
Les groupes de sécurité réseau agissent comme des pare-feu virtuels pour vos ressources cloud. Avec le modèle de sécurité zéro confiance d'Oracle Cloud Infrastructure, tout le trafic est refusé et vous pouvez contrôler le trafic réseau à l'intérieur d'un VCN. Un groupe de sécurité réseau se compose d'un ensemble de règles de sécurité entrantes et sortantes qui s'appliquent uniquement à un ensemble spécifié de cartes d'interface réseau virtuelles dans un seul VCN.
Des GNS distincts sont utilisés pour les ressources de chaque niveau de cette architecture.
- Tables de routage
Les tables de routage virtuelles contiennent des règles pour acheminer le trafic de sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.
- Passerelle Internet
La passerelle Internet permet le trafic entre les sous-réseaux publics dans un VCN et Internet public.
- Configuration de l'instance
Une configuration de l'instance est un modèle qui définit les paramètres à utiliser lors de la création des instances de calcul, y compris les détails tels que l'image de base, la forme et les métadonnées. Vous pouvez également spécifier les ressources associées à l'instance, telles que les pièces jointes au volume de blocs et la configuration du réseau.
- Pool d'instances
Un pool d'instances est un groupe d'instances d'une région qui sont créées à partir de la même configuration de l'instance et gérées en tant que groupe.
- Mise à l'échelle automatique
La mise à l'échelle automatique vous permet d'ajuster automatiquement le nombre d'instances de calcul dans un pool d'instances en fonction des mesures de performance, telles que l'utilisation de l'UC.
Lorsque le pool d'instances expire ou entre, le jeu de back-ends de l'équilibreur de charge associé est mis à jour automatiquement.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données autonome, auto-sécurisé et auto-réparateur optimisé pour le traitement des transactions. Vous n'avez pas besoin de configurer ou de gérer un matériel, ni d'installer un logiciel. Oracle Cloud Infrastructure gère la création de la base de données, ainsi que la sauvegarde, l'application de patches, la mise à niveau et le réglage de celle-ci.
Recommandations
Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.
- VCN
Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher à des sous-réseaux dans VCN. Utilisez les blocs CIDR qui se trouvent dans l'espace d'adresse IP privé standard.
Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) auquel vous avez l'intention de configurer des connexions privées.
Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.
Lorsque vous concevez les sous-réseaux, tenez compte de vos besoins en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.
Utilisez des sous-réseaux régionaux.
- Pool d'instances
S'il n'y a pas de restrictions, incluez tous les domaines de disponibilité disponibles dans le pool.
- Configuration de l'instance
Choisissez des formes d'instance qui offrent le meilleur rapport performance/coût et répondent aux exigences minimales de votre charge de travail.
- Configuration de redimensionnement automatique
Évaluez les besoins en ressources de votre application et utilisez ces informations pour définir les limites de mise à l'échelle et le comportement de refroidissement lors de la mise à l'échelle. Cela détermine le coût maximal du pool d'instances.
Remarques
Lorsque vous déployez une pile d'applications multiniveaux à redimensionnement automatique, tenez compte des facteurs suivants :
- Evolutivité de la base de données
Vous pouvez mettre à l'échelle manuellement le nombre de coeurs d'UC de la base de données vers le haut ou vers le bas à tout moment. La fonction de mise à l'échelle automatique des bases de données autonomes permet à votre base de données d'utiliser jusqu'à trois fois le nombre de base actuel des coeurs de CPU à tout moment. À mesure que la demande augmente, le redimensionnement automatique augmente automatiquement le nombre de noyaux utilisés. Les bases de données autonomes vous permettent de mettre à l'échelle la capacité de stockage à tout moment sans affecter la disponibilité ou les performances.
- Disponibilité de la base de données
Le diagramme d'architecture affiche une base de données Oracle Autonomous Transaction Processing unique. Lors du déploiement de l'architecture, vous pouvez activer Oracle Autonomous Data Guard pour provisionner et gérer une base de données de secours.
- Disponibilité de l'application
Les domaines d'erreur fournissent la résilience dans un domaine de disponibilité. Dans la mesure du possible, envisagez de répartir vos ressources entre plusieurs domaines de disponibilité ou plusieurs régions.
- Contrôle d'accès
Utilisez des stratégies pour restreindre qui peut accéder à vos ressources dans le cloud et les actions qu'elles peuvent effectuer.
- Performances
La taille du pool peut s'étendre ou s'éteindre automatiquement, mais il est important de connaître le comportement de l'application afin que vous puissiez affiner la stratégie de redimensionnement automatique. Les limites de ressources peuvent avoir une incidence sur la capacité du pool à évoluer.
Déployer
Le code requis pour déployer cette architecture de référence est disponible dans GitHub. Vous pouvez extraire le code dans Oracle Cloud Infrastructure Resource Manager en un seul clic, créer la pile et le déployer. Vous pouvez également télécharger le code à partir de GitHub vers votre ordinateur, personnaliser le code et déployer l'architecture à l'aide de la CLI Terraform.
- Déployer à l'aide d'Oracle Cloud Infrastructure Resource Manager :
- Cliquez sur
Si vous n'êtes pas déjà connecté, entrez les informations d'identification et de connexion utilisateur.
- Vérifiez et acceptez les conditions générales.
- Sélectionnez la région dans laquelle déployer la pile.
- Suivez les invites à l'écran et les instructions pour créer la pile.
- Une fois la pile créée, cliquez sur Actions Terraform, puis sur Plan.
- Attendez que le travail soit terminé et vérifiez le plan.
Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications requises. Ensuite, réexécutez l'action Plan.
- Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
- Cliquez sur
- Déployer à l'aide de la CLI Terraform :
- Accédez à GitHub.
- Téléchargez ou clonez le code sur votre ordinateur local.
- Suivez les instructions du fichier
README
.
Explorer plus
En savoir plus sur le déploiement d'applications à redimensionnement automatique dans le cloud.
- Documentation Oracle Cloud Infrastructure pour la mise à l'échelle automatique
- Meilleures pratiques pour concevoir des topologies cloud fiables et résilientes
- Atelier Déployer des applications HA à l'aide d'équilibreurs de charge
- Déployer une base de données autonome avec une adresse privée
- Rationaliser les données IoT vers une base de données autonome à l'aide de fonctions sans serveur
Journal des modifications
Ce journal répertorie uniquement les modifications importantes :
31 mars 2022 | Ajout de l'option permettant de télécharger des versions modifiables (. SVG et . DRAWIO) du diagramme d'architecture. |
4 décembre 2020 |
|