Découvrez comment convertir des applications monolithiques en services en conteneur sur Oracle Cloud
Par leur nature, les applications monolithiques sont fixes et linéaires, ce qui les rend difficiles à gérer et à mettre à jour au fil du temps.
Parce que les modèles architecturaux monolithiques sont utilisés pour concevoir et développer une application complète comme une seule unité, la fiabilité peut être un problème majeur, en particulier dans les cas impliquant l'entanglement et le couplage. En effet, si un problème survient dans un module, l'ensemble de l'application peut être inutilisable.
Si votre application exige évolutivité, fiabilité, agilité et autonomie, envisagez d'adopter une architecture de microservices. Contrairement aux monolithes fixes et linéaires, une architecture de microservices repose sur la conception, le développement et le déploiement d'une application en tant qu'ensemble de services faiblement couplés pouvant être déployés et testés de manière indépendante.
L'un des principaux avantages des architectures de microservices est qu'elles n'affectent pas le développement et le déploiement d'autres services et de leurs capacités. Vous pouvez redimensionner un microservice particulier indépendamment des autres microservices, et vous avez la possibilité de choisir une pile de technologie et un langage de programmation pour chaque service particulier.
Architecture
Le diagramme d'architecture ci-dessous illustre le déploiement final avec les applications en conteneur exécutées indépendamment les unes des autres.
apps-multiservices-arch-oracle.zip
L'architecture comprend les composants suivants :
- Location
Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lorsque vous êtes inscrit à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud dans votre location. Une location est synonyme d'entreprise ou d'organisation. Généralement, une entreprise dispose d'une location unique et reflète sa structure organisationnelle dans cette location. Une location unique est généralement associée à un seul abonnement et un seul abonnement ne comporte généralement qu'une seule location.
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des 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 (dans tous les pays ou même les continents).
- Domaine de disponibilité
Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Ainsi, il est peu probable qu'un problème survenant dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
- Domaine de pannes
Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité dispose de trois domaines de pannes avec une alimentation et un matériel indépendants. Lorsque vous distribuez des ressources sur plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physique, de maintenance du système et d'alimentation au sein d'un domaine de pannes.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- Liste de sécurité
Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic qui doivent être autorisés vers et depuis le sous-réseau.
- Table de routage
Les tables de routage virtuel contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.
- Equilibreur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une distribution automatisée du trafic d'un point d'entrée unique vers plusieurs serveurs du back-end.
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes est un service entièrement géré, évolutif et hautement disponible que vous pouvez utiliser pour déployer vos applications en conteneur vers le cloud. Vous indiquez les ressources de calcul requises par vos applications, et Container Engine for Kubernetes les provisionne sur Oracle Cloud Infrastructure dans une location existante. Container Engine for Kubernetes utilise Kubernetes pour automatiser le déploiement, le redimensionnement et la gestion d'applications en conteneur sur les clusters d'hôtes.
- Calcul
Le service Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul dans le cloud. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources en matière de CPU, de mémoire, de bande passante réseau et de stockage. Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, associer et détacher des volumes, et y mettre fin lorsque vous n'en avez plus besoin.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données à pilotage, sécurité et réparation automatiques, optimisé pour les charges de travail de traitement des transactions. Il n'est pas nécessaire 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 la base de données.