Connecter Azure Kubernetes à Oracle Exadata Database Service sur Oracle Database@Azure

Voyez comment connecter le service Microsoft Azure Kubernetes à Oracle Exadata Database Service sur Oracle Database@Azure pour déverrouiller la meilleure performance, haute disponibilité et évolutivité d'Oracle Database, notamment Oracle Real Application Clusters (Oracle RAC) et la sécurité pour les applications Azure. Cela permet aux développeurs d'applications de déployer une application Kubernetes à partir du portail Microsoft Azure et de se connecter à Oracle Exadata Database Service avec Oracle Exadata Cloud Infrastructure résidant dans les centres de données Azure, s'exécutant à proximité du service Azure Kubernetes pour obtenir la latence la plus faible possible.

Étapes préliminaires

Pour tirer parti de cette architecture de référence, les éléments suivants sont requis :

  • Service Microsoft Azure Kubernetes (AKS)
  • Déployer votre grappe AKS
  • Configurez Oracle Database@Azure avec les éléments suivants :
    • Accès à un abonnement et à un annuaire Azure
    • Accès à une location OCI
    • Lien multinuage Oracle Database@Azure actif entre les nuages Azure et Oracle
Avant de provisionner Oracle Database@Azure, assurez-vous de disposer des limites appropriées pour Oracle Exadata Database Service et les limites de service Oracle Cloud Infrastructure (OCI) :
  1. Dans le menu OCI, cliquez sur Gouvernance et administration.
  2. Sous Gestion des locations, cliquez sur Limites, quotas et utilisation.
  3. Dans le menu déroulant Service, sélectionnez Base de données.

Architecture

L'architecture présente une application conteneurisée déployée dans le service Azure Kubernetes (AKS) et Oracle Exadata Database Service dans une région Microsoft Azure avec des sauvegardes automatiques vers Oracle Database Autonomous Recovery Service dans la région Azure ou le stockage d'objets OCI dans la région OCI.

Kubernetes est une plate-forme portative, extensible et à code source libre pour la gestion des charges de travail et des services en conteneur qui facilite la configuration déclarative et l'automatisation. Kubernetes est considéré comme une technologie de base pour l'informatique native en nuage et dispose d'un écosystème étendu et en croissance rapide. Les services, le soutien et les outils Kubernetes sont largement disponibles.

Dans cette architecture, une application conteneurisée dans AKS se trouve dans son propre sous-réseau d'applications. Une grappe Kubernetes peut contenir plusieurs pods, chacun se connectant à sa propre base de données enfichable Oracle (PDB) respective. The PDBs in the primary database are deployed on Oracle Database@Azure that runs on Oracle Exadata Database Service on Dedicated Infrastructure in an Azure Availability Zone. Les images de conteneur sont stockées dans le registre de conteneur Azure. Les utilisateurs accèdent à l'application en externe au moyen d'un équilibreur de charge public.

L'automatisation du nuage simplifie la plupart des tâches de cycle de vie et de gestion pour l'infrastructure Oracle Exadata et les bases de données multilocataires Oracle (bases de données conteneur et bases de données enfichables). Par exemple, l'ajout de serveurs et l'ajustement des OCPU à la hausse ou à la baisse, la création de bases de données et de répertoires de base de données, la programmation de la maintenance de l'infrastructure, la mise à jour et la mise à niveau du système d'exploitation de machine virtuelle, de Grid Infrastructure et des bases de données, l'exécution d'opérations de sauvegarde et de récupération, et même l'activation des protections de récupération après sinistre au moyen d'Oracle Data Guard.

Le diagramme suivant illustre cette architecture de référence.

Description d'azure-kube-exadata-db.png ci-dessous
Description de l'illustration azure-kube-exadata-db.png

azure-kube-exadata-db-oracle.zip

L'architecture comprend les composants suivants :

  • Régions

    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 les unes des autres, et de grandes distances peuvent les séparer (entre des pays ou même des continents).

    Une région Azure est une zone géographique dans laquelle résident un ou plusieurs centres de données Azure physiques, appelés zones de disponibilité. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (entre des pays ou même des continents).

    Les régions Azure et OCI sont des zones géographiques localisées. Pour Oracle Database@Azure, une région Azure est connectée à une région OCI, avec des zones de disponibilité dans Azure connectées à des domaines de disponibilité dans OCI. Les paires de régions Azure et OCI sont sélectionnées pour réduire la distance et la latence.

  • Zone de disponibilité Azure

    Une zone de disponibilité est un centre de données physiquement séparé dans une région qui est conçu pour être disponible et tolérant aux pannes. Les zones de disponibilité sont suffisamment proches pour avoir des connexions à faible latence vers d'autres zones de disponibilité.

    La délégation de sous-réseau est la capacité de Microsoft à injecter un service géré, en particulier un service de plate-forme-service, directement dans votre réseau virtuel.

  • Réseau virtuel Microsoft Azure

    Microsoft Azure Virtual Network (VNet) est le bloc de construction fondamental de votre réseau privé dans Azure. VNet permet à de nombreux types de ressources Azure, telles que les machines virtuelles Azure, de communiquer en toute sécurité les unes avec les autres, avec Internet et avec les réseaux sur place.

    La délégation de sous-réseau est la capacité de Microsoft à injecter un service géré, en particulier un service de plate-forme-service, directement dans votre réseau virtuel.

  • Service Exadata Database sur une infrastructure dédiée

    Oracle Exadata Database Service offre des capacités éprouvées d'Oracle Database sur Oracle Exadata Cloud Infrastructure spécialement conçu et optimisé dans le nuage public. Automatisation en nuage intégrée, évolutivité élastique des ressources, sécurité et performance rapide pour OLTP, analyses en mémoire et charges de travail Oracle Database convergées aident à simplifier la gestion et à réduire les coûts.

    Oracle Exadata Cloud Infrastructure apporte plus de coeurs d'UC, plus de stockage et une matrice réseau plus rapide au nuage public. Les serveurs de stockage Oracle Exadata comprennent la mémoire RDMA (XRMEM) Exadata, ce qui crée un niveau de stockage supplémentaire et améliore la performance globale du système. Exadata combine XRMEM à des algorithmes RDMA innovants qui contournent la pile réseau et d'E/S, éliminant ainsi les interruptions coûteuses d'UC et les commutateurs de contexte.

    Oracle Exadata Cloud Infrastructure augmente le débit de son réseau interne actif-actif de 100 Gbit/s pour la mémoire directe distante sur Ethernet convergé (RoCE), offrant une interconnexion plus rapide que les générations précédentes avec une latence extrêmement faible entre tous les serveurs de calcul et de stockage.

  • Service de récupération autonome d'Oracle Database

    Oracle Database Autonomous Recovery Service est un service entièrement géré conçu pour protéger les bases de données Oracle contre la perte de données et les cybermenaces. Il offre des sauvegardes plus rapides avec une surcharge de base de données réduite, une récupération fiable avec des sauvegardes validées et une protection en temps réel permettant la récupération en moins d'une seconde d'une panne ou d'une attaque par ransomware. Ce service fournit un tableau de bord centralisé de protection des données et est recommandé pour la sauvegarde des bases de données Oracle.

  • Services Azure Kubernetes

    Azure Kubernetes Service (AKS) est un service Kubernetes géré offert par Microsoft Azure pour déployer et gérer des applications conteneurisées. Une grappe Kubernetes peut contenir plusieurs pods.

  • Oracle Database@Azure

    Oracle Database@Azure is the Oracle Database service (Oracle Exadata Database Service on Dedicated Infrastructure and Oracle Autonomous Database Serverless) running on Oracle Cloud Infrastructure (OCI), deployed in Microsoft Azure data centers. Le service offre des fonctions et une parité de prix avec OCI. Les utilisateurs achètent le service sur Azure Marketplace.

    Oracle Database@Azure intègre les technologies Oracle Exadata Database Service, Oracle Real Application Clusters (Oracle RAC) et Oracle Data Guard dans la plate-forme Azure. Les utilisateurs gèrent le service sur la console Azure et avec les outils d'automatisation Azure. Le service est déployé dans le réseau virtuel Azure (VNet) et intégré au système de gestion des identités et des accès Azure. Les mesures génériques OCI et Oracle Database et les journaux de vérification sont disponibles de manière native dans Azure. Le service exige que les utilisateurs disposent d'un abonnement Azure et d'une location OCI. Oracle Autonomous Database est fondé sur Oracle Exadata Cloud Infrastructure, est autogéré, autosécurisé et autoréparable, ce qui aide à éliminer la gestion manuelle des bases de données et les erreurs humaines. Autonomous Database permet le développement d'applications évolutives optimisées par l'intelligence artificielle avec toutes les données au moyen de capacités d'intelligence artificielle intégrées au moyen d'un modèle linguistique volumineux de votre choix et d'un emplacement de déploiement.

    Oracle Exadata Database Service et Oracle Autonomous Database Serverless sont facilement provisionnés au moyen du portail Azure natif, ce qui permet d'accéder à l'écosystème Azure au sens large.

    Les avantages commerciaux des clients comprennent l'utilisation d'engagements Azure (MACC) pour l'achat de frais de transfert de données pour Oracle Exadata Database Service, le stockage d'objets OCI et Oracle Cloud Infrastructure Networking. Il est possible d'exploiter les licences Oracle existantes avec l'option BYOL, ainsi que la licence incluse, un modèle de soutien collaboratif et l'approvisionnement dans Microsoft Azure Marketplace, tous présentés sous forme de facture unifiée.

  • Plan de contrôle

    Un plan de contrôle Kubernetes gère les ressources pour les noeuds de travail et les pods d'une grappe Kubernetes. Les composants du plan de contrôle détectent les événements et y répondent, effectuent la programmation et déplacent les ressources de la grappe.

  • Stockage d'objets

    Le service de stockage d'objets pour OCI offre un accès rapide à de grandes quantités de données structurées et non structurées de tous types, notamment des sauvegardes de base de données, des données analytiques et du contenu riche, comme des images et des vidéos. Vous pouvez stocker des données en toute sécurité directement à partir d'Internet ou de la plate-forme en nuage. Vous pouvez adapter le stockage sans que la performance ou la fiabilité des services soit affectée.

    Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous retenez pendant de longues périodes et auquel vous accédez rarement.

  • Passerelle de service

    Une passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic entre le réseau VCN et le service Oracle circule sur la matrice réseau Oracle et ne passe pas par Internet.

Points à considérer

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

  • Mettre à jour le fichier YAML

    Utilisez des chaînes de connexion pour mettre à jour le fichier YAML du déploiement du service Azure Kubernetes. Vous pouvez trouver les chaînes de connexion à vos bases de données dans la console OCI.

  • Performance
    • Une architecture multilocataire Oracle est recommandée pour la couche de persistance pour l'architecture de microservices, pour l'isolement contextuel limité des données, la sécurité et la haute disponibilité.

      Avec l'architecture multilocataire Oracle, une base de données Oracle Database peut fonctionner comme une base de données conteneur qui contient plusieurs bases de données enfichables. Cela permet aux microservices qui ont une variété de types de données et de charges de travail d'utiliser une seule base de données conteneur convergée. En tirant parti des bases de données enfichables, Oracle peut fournir les microservices des bases de données isolées au sein de la base de données conteneur et permettre le déplacement des bases de données enfichables entre les conteneurs physiques. Microservices can connect to an Oracle Database instance that is running on Oracle Exadata Database Service on Dedicated Infrastructure.

  • Sécurité
    • Envisagez d'utiliser une chambre forte, telle qu'Azure Key Vault, au lieu de stocker le mot de passe et le portefeuille de la chaîne de connexion (le cas échéant) dans les clés secrètes Kubernetes pour le service Azure Kubernetes.
  • Réseau
    • Nécessite au moins un réseau virtuel Azure (VNet) avec un sous-réseau délégué à un attachement de réseau Oracle Database.

    • Envisagez de déployer le sous-réseau de service Microsoft Azure Kubernetes et le sous-réseau client de grappe de machines virtuelles Oracle Exadata Database Service dans le même VNet.

  • Disponibilité
    • Envisagez d'utiliser et de configurer la réserve de connexions universelle (UCP), le pilote JDBC Oracle et Oracle Real Application Clusters (Oracle RAC) pour tirer parti des capacités de haute disponibilité d'Oracle Database pour un service continu pendant un temps d'arrêt planifié et non planifié afin de maintenir la disponibilité continue de vos applications.

      UCP prend en charge toutes les configurations et capacités essentielles d'Oracle Database (disponibilité, évolutivité et équilibrage de charge) prêtes à l'emploi, notamment Oracle RAC, Oracle Data Guard, Oracle Sharding, API asynchrone, équilibrage de charge à l'exécution, XA, continuité des applications, Transaction Guard, basculement transparent des applications, nom d'accès client unique (SCAN) et réserve de connexions résidente de base de données (DRCP). Avec le système Oracle RAC, tout service de base de données Oracle est également accessible à partir de plusieurs noeuds de serveur. Si un noeud ou un sous-ensemble de la grappe Oracle RAC échoue ou est mis hors ligne pour maintenance, la base de données est toujours accessible au moyen des noeuds actifs restants.

    • Voici les composants de base permettant d'implémenter la haute disponibilité des applications avec Oracle Database :
      1. Utiliser un service de base de données
      2. Configurer une URL ou une chaîne de connexion pour la haute disponibilité
      3. Activer l'avis rapide des applications
      4. Implémenter le drainage et permettre la disponibilité continue des bases de données pour les applications Java
    • Envisagez d'utiliser Oracle Database Autonomous Recovery Service comme destination de sauvegarde recommandée pour Oracle Database.

      Les deux options disponibles pour stocker les sauvegardes sont les suivantes : dans la même région Azure réside Oracle Exadata Database Service, ou dans une région OCI par défaut associée à la région Azure.

Déployez

Pour déployer cette architecture de référence, procédez comme suit :

  1. Pour déployer la grappe du service Azure Kubernetes (AKS), allez à Démarrage rapide : Déployer une grappe Azure Kubernetes Service (AKS) à l'aide du portail Azure et suivez les instructions pour déployer une grappe Azure Kubernetes.
  2. Abonnez-vous à Oracle Database@Azure à partir d'Azure Marketplace.
  3. Déployez la grappe virtuelle Oracle Exadata dans le sous-réseau délégué de VNet.
  4. Déployez Azure Kubernetes dans un sous-réseau distinct dans le même VNet.
  5. Mettez à jour votre définition d'application pour utiliser des chaînes de connexion afin de vous connecter à vos bases de données.

Confirmation

  • Auteurs : Suzanne Holliday, Julien Silverston, Paul Parkinson, Leo Alvarado