Creación de pipelines DevOps de Azure mediante Oracle Exadata Database Service en Oracle Database@Azure
Antes de empezar
- Microsoft Azure DevOps
- Pipelines de Microsoft Azure
- Sistemas de control de versiones: Azure Repos Git, GitHub y TFVC.
- Servicio Kubernetes de Microsoft Azure (AKS)
- Configure Oracle Database@Azure con lo siguiente:
- Acceso a una suscripción y directorio de Azure
- Acceso a un arrendamiento de Oracle Cloud Infrastructure (OCI)
- Enlace multinube activo de Oracle Database@Azure entre las nubes de Azure y Oracle
Antes de aprovisionar Oracle Database@Azure, asegúrese de tener los límites adecuados de Oracle Exadata Database Service y los límites de servicio de OCI:
- En el menú OCI, haga clic en Gobernanza y administración.
- En Gestión de arrendamiento, haga clic en Límites, cuotas y uso.
- En el menú desplegable Servicio, seleccione Base de datos.
Arquitectura
La aplicación y el código fuente de la base de datos se alojan en un repositorio de código DevOps de Microsoft Azure, GitHub o similar. Un usuario confirma los cambios en el repositorio de código que dispara el pipeline de integración continua (CI). Esta fase incluye la ejecución de pruebas de unidad, pruebas de integración, análisis de código estático y también pruebas de contenedores dentro del cluster de Azure Kubernetes Service (AKS) para verificar la preparación del despliegue.
Una vez finalizadas las pruebas, el pipeline de compilación crea imágenes de Docker y las transfiere al registro de contenedores de Azure. A continuación, estos artefactos inician el pipeline de entrega continua (CD). En la fase de CD, los artefactos se despliegan en AKS, donde se ejecutan pruebas de extremo a extremo y del sistema para garantizar que los microservicios funcionen correctamente en el entorno de Kubernetes y Oracle Database. Los entornos temporal y de producción, utilizando estrategias como despliegues azules/verdes o canarios, se inician para el despliegue sin tiempo de inactividad de los nuevos cambios.
Un cluster de Kubernetes puede contener varios pods, cada uno de los cuales se conecta a su propia base de datos de conexión (PDB) respectiva. Las PDB de la base de datos primaria se despliegan en Oracle Database@Azure que se ejecuta en Oracle Exadata Database Service on Dedicated Infrastructure en una zona de disponibilidad de Azure. Las imágenes de contenedor se almacenan en el registro de contenedores de Azure. Los usuarios acceden a la aplicación externamente a través de un equilibrador de carga público.
La automatización en la nube simplifica la mayoría de las tareas de ciclo de vida y gestión para las bases de datos multi-inquilino de Oracle Exadata Cloud Infrastructure y Oracle (CDB, PDB). Por ejemplo, agregar servidores y escalar o reducir OCPU, crear bases de datos y directorios raíz de base de datos, programar el mantenimiento de la infraestructura, actualizar y actualizar el sistema operativo de VM, Oracle Grid Infrastructure y las bases de datos, realizar operaciones de copia de seguridad y recuperación e incluso activar las protecciones de recuperación ante desastres a través de Oracle Data Guard.
Las métricas, los logs y el rastreo de todo el proceso de integración y despliegue continuos se observan continuamente mediante herramientas como Azure Monitor, Oracle Cloud Infrastructure (OCI) y el marco Unified Observability OpenTelemetry de Oracle Database, que proporciona rastreos desde el punto de entrada de la aplicación que reside en Azure, en todos los subsistemas y en Oracle Database, lo que garantiza el rendimiento y la fiabilidad tanto de los microservicios como de la base de datos. Este enfoque garantiza una solución sólida, eficiente y ampliable para desplegar y gestionar aplicaciones modernas en un entorno nativo en la nube.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración exadata-database-service.png
exadata-database-service-oracle.zip
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, que alojan dominios de disponibilidad. Las regiones son independientes entre sí y pueden separarse grandes distancias (entre países o incluso continentes).
Una región de Azure es un área geográfica en la que residen uno o más centros de datos físicos de Azure, denominados zonas de disponibilidad. Las regiones son independientes entre sí y pueden separarse grandes distancias (entre países o incluso continentes).
Las regiones de Azure y OCI son áreas geográficas localizadas. Para Oracle Database@Azure, una región de Azure está conectada a una región de OCI, con zonas de disponibilidad (AZ) en Azure conectadas a dominios de disponibilidad (AD) en OCI. Se seleccionan pares de regiones de Azure y OCI para minimizar la distancia y la latencia.
- Zona de disponibilidad de Azure
Una zona de disponibilidad es un centro de datos físicamente separado dentro de una región diseñada para estar disponible y tolerante a fallos. Las zonas de disponibilidad están lo suficientemente cerca como para tener conexiones de baja latencia a otras zonas de disponibilidad.
La delegación de subred es la capacidad de Microsoft para inyectar un servicio gestionado, específicamente un servicio de plataforma como servicio, directamente en la red virtual.
- Red virtual de Microsoft Azure
Microsoft Azure Virtual Network (VNet) es el componente fundamental de su red privada en Azure. VNet permite que muchos tipos de recursos de Azure, como máquinas virtuales (VM) de Azure, se comuniquen de forma segura entre sí, Internet y redes locales.
La delegación de subred es la capacidad de Microsoft para inyectar un servicio gestionado, específicamente un servicio de plataforma como servicio, directamente en la red virtual.
- Pipelines de Azure
Azure Pipelines forma parte del servicio DevOps de Azure que ofrece Microsoft Azure para crear, probar y desplegar automáticamente proyectos de código para la integración continua, las pruebas continuas y la entrega continua. (CI-CD)
- Servicio Azure Kubernetes
Azure Kubernetes Service (AKS) es un servicio de Kubernetes gestionado ofrecido por Microsoft Azure para desplegar y gestionar aplicaciones en contenedores. Un cluster de Kubernetes puede contener varios pods.
- Plano de control de Kubernetes
Un plano de control de Kubernetes gestiona los recursos para los nodos de trabajador y los pods dentro de un cluster de Kubernetes. Los componentes del plano de control detectan y responden a eventos, realizan la programación y mueven recursos de cluster.
- Oracle Exadata Database Service on Dedicated Infrastructure
Oracle Exadata Database Service ofrece capacidades probadas de Oracle Database en una infraestructura de Oracle Exadata Cloud Infrastructure especialmente diseñada y optimizada en la nube pública. La automatización incorporada en la nube, la ampliación flexible de recursos, la seguridad y el rendimiento rápido para OLTP, los análisis en memoria y las cargas de trabajo convergentes de Oracle Database ayudan a simplificar la gestión y reducir los costos.
Oracle Exadata Cloud Infrastructure incorpora más núcleos de CPU, mayor almacenamiento y un tejido de red más rápido a la nube pública. Los servidores de almacenamiento de Oracle Exadata incluyen memoria RDMA (XRMEM) de Exadata, lo que crea un nivel adicional de almacenamiento y aumenta el rendimiento general del sistema. Exadata combina XRMEM con algoritmos RDMA innovadores que omiten la red y la pila de E/S, eliminando costosas interrupciones de CPU y conmutadores de contexto.
Oracle Exadata Cloud Infrastructure aumenta el rendimiento de su tejido de red interno Remote Direct Memory Access over Converged Ethernet (RoCE) activo-activo de 100 Gbps, lo que proporciona una interconexión más rápida que las generaciones anteriores con una latencia extremadamente baja entre todos los servidores de cálculo y almacenamiento.
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Service es un servicio totalmente gestionado diseñado para proteger las bases de datos Oracle de la pérdida de datos y las amenazas cibernéticas. Ofrece copias de seguridad más rápidas con una menor sobrecarga de la base de datos, una recuperación fiable con copias de seguridad validadas y una protección en tiempo real que permite la recuperación en menos de un segundo después de una interrupción o un ataque de ransomware. Oracle Database Zero Data Loss Autonomous Recovery Service es una opción de pérdida de datos cero para Autonomous Recovery Service. Este servicio proporciona un panel de control de protección de datos centralizado y se recomienda para realizar copias de seguridad de bases de datos Oracle.
- Oracle Database@Azure
Oracle Database@Azure es el servicio de Oracle Database (Oracle Exadata Database Service on Dedicated Infrastructure y Oracle Autonomous Database Serverless) que se ejecuta en Oracle Cloud Infrastructure (OCI), desplegado en centros de datos de Microsoft Azure. El servicio ofrece funciones y paridad de precios con OCI. Adquiera el servicio en Azure Marketplace.
Oracle Database@Azure integra tecnologías de Oracle Exadata Database Service, Oracle Real Application Clusters (Oracle RAC) y Oracle Data Guard en la plataforma Azure. Los usuarios gestionan el servicio en la consola de Azure y con las herramientas de automatización de Azure. El servicio se despliega en Azure Virtual Network (VNet) e integrado con el sistema de gestión de identidad y acceso de Azure. Las métricas genéricas de OCI y Oracle Database y los logs de auditoría están disponibles de forma nativa en Azure. El servicio requiere que los usuarios tengan una suscripción a Azure y un arrendamiento de OCI.
- Almacenamiento de objetos
OCI Object Storage proporciona acceso a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio.
Utilice el almacenamiento estándar para el almacenamiento al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" al que conserva durante largos períodos de tiempo y al que rara vez accede.
- Gateway de servicio
Un gateway de servicios proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico desde la VCN al servicio Oracle recorre el tejido de red de Oracle y no atraviesa Internet.
Consideraciones
Tenga en cuenta los siguientes puntos al planificar el despliegue de esta arquitectura de referencia:
- Actualizar el archivo YAML
Utilice cadenas de conexión para actualizar el archivo YAML del despliegue del servicio de Azure Kubernetes. Puede encontrar las cadenas de conexión a sus bases de datos en la consola de OCI.
- Rendimiento
-
Se recomienda una arquitectura multi-inquilino de Oracle para la capa de persistencia de la arquitectura de microservicios, para el aislamiento de contexto limitado de datos, seguridad y alta disponibilidad.
Con la arquitectura multi-inquilino de Oracle, Oracle Database puede funcionar como una base de datos de contenedor (CDB) que contiene varias bases de datos de conexión (PDB). Esto permite a los microservicios que tienen una variedad de tipos de datos y cargas de trabajo utilizar una única base de datos de contenedores convergente. Al aprovechar las PDB, Oracle puede proporcionar las bases de datos aisladas de microservicios dentro de la CDB y permitir el movimiento de las PDB en los contenedores físicos. Los microservicios se pueden conectar a una instancia de Oracle Database que se ejecuta en Oracle Exadata Database Service on Dedicated Infrastructure.
-
- Seguridad
- Considere el uso de un almacén, en lugar de almacenar la información de conexión a la base de datos, la contraseña y la cartera (si corresponde) de las aplicaciones en los secretos de Kubernetes para Azure Kubernetes Service.
- Red
-
Requiere al menos una red virtual de Azure (VNet) con una subred delegada a una asociación de red de Oracle Database.
-
Considere desplegar la subred del servicio Kubernetes de Microsoft Azure y la subred del cliente del cluster de VM de Oracle Exadata Database Service en el mismo VNet.
-
- Disponibilidad
-
Considere el uso y la configuración de Universal Connection Pool (UCP), Oracle JDBC Driver y Oracle RAC para aprovechar las capacidades de alta disponibilidad (HA) de Oracle Database para el servicio continuo durante el tiempo de inactividad planificado y no planificado para mantener la disponibilidad continua de las aplicaciones.
UCP soporta todas las configuraciones de Oracle Database y capacidades esenciales (disponibilidad, escalabilidad y equilibrio de carga) listas para usar, incluidas Oracle RAC, Oracle Data Guard, Oracle Sharding, API asíncrona, equilibrio de carga de tiempo de ejecución, XA, continuidad de aplicaciones, Transaction Guard, failover de aplicaciones transparente, nombre de acceso de cliente único (SCAN) y front-end para Database Resident Connection Pool (DRCP). Con el sistema Oracle RAC, se puede acceder a cualquier servicio de base de datos Oracle por igual desde varios nodos de servidor. Si un nodo o un subjuego del cluster de Oracle RAC falla o se pone fuera de línea para mantenimiento, se sigue accediendo a la base de datos a través de los nodos activos restantes.
-
A continuación se muestran los bloques de creación para implantar Application High Availability con Oracle Database:
- Utilizar un servicio de base de datos
- Configurar una URL o una cadena de conexión para alta disponibilidad
- Activar Fast Application Notification (FAN)
- Implantar el vaciado y la activación de la disponibilidad continua de la base de datos para aplicaciones Java
-
Considere el uso de Oracle Database Autonomous Recovery Service como destino de copia de seguridad recomendado para Oracle Database.
A continuación se muestran las dos opciones disponibles para almacenar copias de seguridad: en la misma región de Azure reside Oracle Exadata Database Service o en una región de OCI por defecto asociada a Azure Region
-
Explorar más
Obtén más información sobre Oracle Cloud Infrastructure (OCI) y Microsoft Azure:
Revise estos recursos adicionales:
- Documentación de Oracle Cloud Infrastructure:
- Cree MultiCloud DevOps mediante pipelines de integración y despliegue continuos de Azure con servicios de Kubernetes y Oracle Database Cloud (taller)
- Marco bien diseñado para Oracle Cloud Infrastructure
- Estimador de costos de Oracle Cloud
- Marco de adopción de la nube
- Cuenta gratuita de Oracle Cloud (Oracle Cloud)
- Cuenta gratuita de Azure (Microsoft Azure)