Créez des pipelines DevOps Azure à l'aide d'Oracle Exadata Database Service dans Oracle Database@Azure

Découvrez comment créer des pipelines CI/CD Microsoft Azure à l'aide d'Oracle Exadata Database Service dans Oracle Database@Azure pour déverrouiller les meilleures performances, haute disponibilité et évolutivité d'Oracle Database, y compris Oracle Real Application Clusters (Oracle RAC) et la sécurité pour les applications Azure. Cela permet aux développeurs d'applications de créer et de déployer des pipelines Microsoft Azure à l'aide d'Azure DevOps avec Oracle Exadata Database Service on Dedicated Infrastructure avec Oracle Exadata Cloud Infrastructure résidant dans les centres de données Azure, exécutant à proximité de pipelines Microsoft Azure DevOps pour obtenir la latence la plus faible possible.

Avant de commencer

Pour tirer parti de cette architecture de référence, les éléments suivants sont requis :
  • Microsoft Azure DevOps
  • Pipelines Microsoft Azure
  • Systèmes de contrôle des versions : Azure Repos Git, GitHub et TFVC.
  • Service Kubernetes Microsoft Azure (AKS)
  • Configurez Oracle Database@Azure avec les éléments suivants :
    • Accès à un abonnement et un annuaire Azure
    • Accès à une location Oracle Cloud Infrastructure (OCI)
    • Liaison multicloud Oracle Database@Azure active entre les clouds Azure et Oracle

Avant de provisionner Oracle Database@Azure, assurez-vous que vous disposez des limites Oracle Exadata Database Service et des limites de service OCI adéquates :

  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 Database.

Architecture

Cette architecture montre comment créer et déployer des pipelines Microsoft Azure à l'aide d'Azure DevOps avec Oracle Exadata Database Service on Dedicated Infrastructure.

L'application et le code source de base de données sont hébergés sur un référentiel de code DevOps Microsoft Azure, GitHub ou similaire. Un utilisateur valide les modifications dans le référentiel de code qui déclenche le pipeline d'intégration continue (CI). Cette phase comprend l'exécution de tests unitaires, de tests d'intégration, d'analyse de code statique et de tests de conteneurs dans le cluster Azure Kubernetes Service (AKS) afin de vérifier la préparation du déploiement.

Une fois le test terminé, le pipeline de build crée des images Docker et les propage vers le registre de conteneurs Azure. Ces artefacts lancent ensuite le pipeline de distribution continue (CD). Au cours de la phase CD, les artefacts sont déployés dans AKS où des tests de bout en bout et système sont exécutés pour s'assurer que les microservices fonctionnent correctement dans l'environnement Kubernetes et Oracle Database. Les environnements de préparation et de production, utilisant des stratégies telles que les déploiements bleu/vert ou canari, sont ensuite lancés pour un déploiement sans temps d'arrêt des nouvelles modifications.

Un cluster Kubernetes peut contenir plusieurs pods, chacun se connectant à sa propre base de données pluggable respective. Les bases de données pluggables de la base de données principale sont déployées sur Oracle Database@Azure qui est exécuté sur Oracle Exadata Database Service on Dedicated Infrastructure dans une zone de disponibilité Azure. Les images de conteneur sont stockées dans le registre de conteneur Azure. Les utilisateurs accèdent à l'application en externe via un équilibreur de charge public.

L'automatisation du cloud simplifie la plupart des tâches de gestion et de cycle de vie pour Oracle Exadata Cloud Infrastructure et les bases de données colocatives Oracle (bases de données Conteneur, bases de données pluggables). Par exemple, l'ajout de serveurs et la mise à l'échelle des OCPU, la création de bases de données et de répertoires de base de base de données, la planification de la maintenance de l'infrastructure, la mise à jour et la mise à niveau du système d'exploitation de machine virtuelle, d'Oracle 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 de protections de récupération après sinistre via Oracle Data Guard.

Les mesures, les journaux et le suivi de l'ensemble du processus d'intégration continue et de déploiement continu sont observés en continu à l'aide d'outils tels qu'Azure Monitor, Oracle Cloud Infrastructure (OCI) et la structure Unified Observability OpenTelemetry d'Oracle Database, qui fournit des traces à partir du point d'entrée de l'application résidant sur Azure, sur tous les sous-systèmes et dans Oracle Database, garantissant ainsi les performances et la fiabilité des microservices et de la base de données. Cette approche garantit une solution robuste, efficace et évolutive pour le déploiement et la gestion d'applications modernes dans un environnement cloud natif.

Le schéma suivant illustre cette architecture de référence.

Description de l'image exadata-database-service.png
Description de l'illustration exadata-database-service.png

exadata-database-service-oracle.zip

L'architecture comprend les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée contenant des centres de données hébergeant des domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (entre les pays ou même les 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 les pays ou même les 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é (AZ) dans Azure connectées à des domaines de disponibilité dans OCI. Les paires de régions Azure et OCI sont sélectionnées pour minimiser la distance et la latence.

  • Zone de disponibilité Azure

    Une zone de disponibilité est un centre de données physiquement distinct au sein d'une région conçu pour être disponible et tolérant aux pannes. Les zones de disponibilité sont suffisamment proches pour avoir des connexions à faible latence avec 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 plateforme en tant que service, directement dans votre réseau virtuel.

  • Réseau virtuel Microsoft Azure

    Le réseau virtuel Microsoft Azure (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 (VM) Azure, de communiquer en toute sécurité entre elles, avec Internet et avec les réseaux sur site.

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

  • Pipelines Azure

    Azure Pipelines fait partie du service DevOps d'Azure offert par Microsoft Azure pour créer, tester et déployer automatiquement des projets de code pour une intégration continue, des tests continus et une livraison continue. (CI-CD)

  • Service Kubernetes Azure

    Azure Kubernetes Service (AKS) est un service Kubernetes géré proposé par Microsoft Azure pour déployer et gérer des applications en conteneur. Un cluster Kubernetes peut contenir plusieurs pods.

  • Plan de contrôle Kubernetes

    Un plan de contrôle Kubernetes gère les ressources pour les noeuds de processus actif et les pods d'un cluster Kubernetes. Les composants du plan de contrôle détectent les événements et y répondent, effectuent la planification et déplacent les ressources du cluster.

  • Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service offre des fonctionnalités Oracle Database éprouvées sur une infrastructure Oracle Exadata Cloud Infrastructure optimisée et spécialement conçue dans le cloud public. L'automatisation cloud intégrée, l'évolutivité élastique des ressources, la sécurité et les performances rapides pour OLTP, les analyses en mémoire et les charges de travail Oracle Database convergées aident à simplifier la gestion et à réduire les coûts.

    Oracle Exadata Cloud Infrastructure apporte davantage de coeurs de processeur, un stockage accru et une structure réseau plus rapide au cloud public. Les serveurs de stockage Oracle Exadata incluent Exadata RDMA Memory (XRMEM), créant ainsi un niveau de stockage supplémentaire, ce qui améliore les performances globales du système. Exadata associe XRMEM à des algorithmes RDMA innovants qui contournent la pile réseau et d'E/S, éliminant ainsi les interruptions de CPU et les changements de contexte coûteux.

    Oracle Exadata Cloud Infrastructure augmente le débit de sa structure réseau interne de 100 Gbits/s active-active Remote Direct Memory Access over Converged Ethernet (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.

  • Oracle Database Autonomous Recovery Service

    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 une récupération en moins d'une seconde d'une panne ou d'une attaque par ransomware. Oracle Database Zero Data Loss Autonomous Recovery Service est une option sans perte de données pour Autonomous Recovery Service. Ce service fournit un tableau de bord de protection des données centralisé et est recommandé pour la sauvegarde des bases de données Oracle.

  • Oracle Database@Azure

    Oracle Database@Azure est le service Oracle Database (Oracle Exadata Database Service on Dedicated Infrastructure et Oracle Autonomous Database Serverless) exécuté sur Oracle Cloud Infrastructure (OCI), déployé dans les centres de données Microsoft Azure. Le service offre des fonctionnalités et une parité de prix avec OCI. Achetez 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 sur 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 et les journaux d'audit OCI et Oracle Database sont disponibles de manière native dans Azure. Le service exige que les utilisateurs disposent d'un abonnement Azure et d'une location OCI.

  • Object storage

    OCI Object Storage permet d'accéder à de grandes quantités de données, structurées ou non, de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu enrichi tel que des images et des vidéos. Vous pouvez stocker les données directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez redimensionner le stockage sans dégradation des performances ni de la fiabilité des services.

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

  • Passerelle de service

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

Points à prendre en compte

Tenez compte des points suivants lorsque vous envisagez de déployer 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.

  • Performances
    • Une architecture colocative Oracle est recommandée pour la couche de persistance de l'architecture de microservices, pour l'isolation de contexte limitée des données, la sécurité et la haute disponibilité.

      Avec l'architecture colocative Oracle, une base de données Oracle Database peut fonctionner comme une base de données Conteneur contenant plusieurs bases de données pluggables. Cela permet aux microservices dotés de divers types de données et charges de travail d'utiliser une seule base de données Conteneur convergée. En tirant parti des bases de données pluggables, Oracle peut fournir les bases de données isolées de microservices au sein de la base de données Conteneur et permettre le déplacement des bases de données pluggables entre conteneurs physiques. Les microservices peuvent se connecter à une instance Oracle Database exécutée sur Oracle Exadata Database Service on Dedicated Infrastructure.

  • Sécurité
    • Envisagez d'utiliser un coffre au lieu de stocker les informations de connexion à la base de données, le mot de passe et le portefeuille des applications (le cas échéant) dans les clés secrètes Kubernetes pour Azure Kubernetes Service.
  • Réseau
    • Requiert au moins un réseau virtuel Azure (VNet) avec un sous-réseau délégué à l'attachement réseau Oracle Database.

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

  • Disponibilité
    • Envisagez d'utiliser et de configurer le pool de connexions universel (UCP), le pilote JDBC Oracle et Oracle RAC pour tirer parti des fonctionnalités de haute disponibilité (HA) d'Oracle Database pour un service continu pendant les temps d'arrêt planifiés et non planifiés afin de maintenir la disponibilité continue de vos applications.

      UCP prend en charge toutes les configurations Oracle Database et toutes les fonctionnalités essentielles (disponibilité, évolutivité et équilibrage de charge) prêtes à l'emploi, y compris Oracle RAC, Oracle Data Guard, Oracle Sharding, API asynchrone, équilibrage de charge d'exécution, XA, continuité des applications, Transaction Guard, basculement transparent des applications, nom SCAN (Single Client Access Name) et front-end vers le pool de connexions résident de base de données (DRCP). Avec le système Oracle RAC, tout service de base de données Oracle est accessible de manière égale à partir de plusieurs noeuds de serveur. Si un noeud ou un sous-ensemble du cluster Oracle RAC tombe en panne ou est mis hors ligne pour maintenance, la base de données reste accessible via les noeuds actifs restants.

    • Voici les composants de base de l'implémentation de 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 la fonction FAN (Fast Application Notification)
      4. Implémenter la purge et permettre une disponibilité continue de la base de données pour les applications Java
    • Envisagez d'utiliser Oracle Database Autonomous Recovery Service comme destination de sauvegarde pour Oracle Database.

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

En savoir plus

En savoir plus sur Oracle Cloud Infrastructure (OCI) et Microsoft Azure :

Consultez les ressources supplémentaires suivantes :

Si vous ne disposez pas d'un compte Oracle Cloud ou d'un compte Microsoft Azure, reportez-vous aux sections suivantes pour vous inscrire gratuitement :

Accusés de réception

  • Auteurs : Leo Alvarado, Paul Parkinson, Julien Silverston, Thomas Van Buggenhout, Tammy Bednar