Creación de pipelines de integración y despliegue continuos DevOps de Azure con Oracle Exadata Database Service

Una pila dividida se produce cuando se despliega una carga de trabajo en ambas nubes, la aplicación en este caso en Microsoft Azure, con el servicio de Oracle Database desplegado en Oracle Cloud Infrastructure (OCI).

Una pila de aplicaciones a pila se produce cuando una pila completa que comprende la aplicación y la base de datos en Azure interopera y comparte datos con otra pila completa (aplicación y Oracle Database) que reside en OCI.

Para diversas consideraciones empresariales y técnicas, puede optar por asignar sus cargas de trabajo en la nube a Oracle Cloud y Microsoft Azure. Para garantizar la seguridad y minimizar la latencia, es necesario establecer una interconexión segura entre los entornos de Oracle Cloud y Azure Cloud.

Oracle y Microsoft han creado una conexión privada entre varios sistemas en la nube (Oracle Interconnect for Microsoft Azure) entre Oracle Cloud Infrastructure y Microsoft Azure en regiones específicas. La interconexión de Oracle para Microsoft Azure permite configurar cargas de trabajo entre nubes sin el tráfico entre las nubes que pasa por Internet.

Por lo tanto, los usuarios pueden crear y desplegar pipelines de integración y despliegue continuos de Azure DevOps con Oracle Exadata Database Service on Dedicated Infrastructure en Oracle Cloud Infrastructure y configurar los recursos de infraestructura de red virtual de soporte para permitir este despliegue de pila dividida para una solución de alto rendimiento y alta disponibilidad.

Arquitectura

En esta arquitectura de referencia, creará y desplegará pipelines de integración y despliegue continuos con Azure DevOps con Oracle Exadata Database Service on Dedicated Infrastructure.

La aplicación y el código fuente de la base de datos se alojan en el repositorio de código DevOps de Azure o en Github o similar. Un usuario confirma los cambios en el repositorio de código que dispara el pipeline de CI. Esta fase incluye la ejecución de pruebas unitarias, 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 envía al registro de contenedores de Azure. A continuación, estos artefactos de compilación inician el pipeline de CD. En la fase de CD, los artefactos se despliegan en AKS, donde se ejecutan pruebas completas y del sistema para garantizar que los microservicios funcionen correctamente en el entorno de Kubernetes y Oracle Database. Los entornos temporales y de producción, que utilizan estrategias como despliegues azules/verdes o canarios, se inician para un despliegue sin tiempo de inactividad de los nuevos cambios.

Un componente clave de esta arquitectura es el operador de Oracle Database, que gestiona el ciclo de vida de Oracle Database, automatizando tareas como el aprovisionamiento, la ampliación, las copias de seguridad, las actualizaciones y el mantenimiento. Esta integración garantiza una gestión eficiente de la base de datos y una interacción perfecta entre los microservicios de AKS y Oracle Database. Los microservicios se conectan de forma segura a Oracle Database a través de una interconexión mediante Azure ExpressRoute y Oracle FastConnect, manteniendo una conexión de base de datos segura y fiable, con credenciales gestionadas a través de Azure Key Vault.

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, el marco Unified Observability OpenTelemetry de OCI y 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 de los microservicios y la base de datos. Este enfoque garantiza una solución sólida, eficiente y ampliable para desplegar y gestionar aplicaciones modernas en un entorno en la nube.

El siguiente diagrama ilustra esta arquitectura de referencia.



oracle-exadata-azure-arch-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Arrendamiento

    Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud cuando se registra en Oracle Cloud Infrastructure. Puede crear, organizar y administrar sus recursos en Oracle Cloud dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un único arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una única suscripción, y una única suscripción normalmente solo tiene un arrendamiento.

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y pueden separarse grandes distancias (entre países e incluso continentes).

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • Dominios de Disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.

  • Dominios de errores

    Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad consta de tres dominios de errores con una potencia y un hardware independientes. Cuando distribuye recursos en varios dominios de errores, las aplicaciones pueden tolerar fallos en el servidor físico, el mantenimiento del sistema y fallos de alimentación dentro de un dominio de errores.

  • Red y subredes virtuales en la nube (VCN)

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • equilibrador de carga

    El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada del tráfico desde un único punto de entrada a varios servidores en el backend.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Gateway de servicio

    El gateway de servicio 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 Internet.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect proporciona una forma sencilla de crear una conexión privada y dedicada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect proporciona opciones de mayor ancho de banda y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.

  • Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service on Dedicated Infrastructure se ejecuta en Oracle Exadata Cloud Infrastructure en OCI. Para aquellos que desean ejecutarse en la nube pública, esta es la solución ideal para ejecutar bases de datos empresariales como servicio en la nube. Obtendrá toda la potencia y funcionalidad de Oracle Database, además de la de la plataforma de Exadata. Está dedicado a usted, pero sigue proporcionando todas las ventajas de la nube de la gestión de la infraestructura por parte de Oracle, la amplia automatización en la nube y la economía de la nube de pago por uso.

  • Object Storage

    Object Storage proporciona acceso rápido 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 y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede escalar el almacenamiento sin problemas sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso frecuente al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "en frío" que conserva durante largos períodos de tiempo y a los que rara vez accede.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario le permiten gestionar los dominios de identidad y los recursos del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución de gestión de identidad y acceso independiente o una población de usuarios diferente.

  • Auditoría

    El servicio Oracle Cloud Infrastructure Audit registra automáticamente las llamadas a todos los puntos finales de la interfaz pública de programación de aplicaciones (API) de Oracle Cloud Infrastructure soportados como eventos de log. Actualmente, todos los servicios son compatibles con el registro por parte de Oracle Cloud Infrastructure Audit.

Esta arquitectura admite los siguientes componentes de Microsoft Azure.

  • Microsoft Azure VNet y subred

    La red virtual de Microsoft Azure (VNet) es el componente fundamental de su red privada en Azure. VNet permite que muchos tipos de recursos de Azure, como las máquinas virtuales (VM) de Azure, se comuniquen de forma segura entre sí, Internet y redes locales.

    Defina VNet en Azure. Puede tener varias subredes de bloques de CIDR que no se superpongan y que puede agregar después de crear VNet. Puede segmentar un VNet en subredes, a las que puede acceder a una región o a zonas de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se superponen con las demás subredes de VNet. Utilice VNet para aislar los recursos de Azure de forma lógica en el nivel de red.

  • Gateway de red virtual

    Un gateway de red virtual permite el tráfico entre un VNet de Azure y una red fuera de Azure, ya sea a través de la red pública de Internet o mediante ExpressRoute, según el tipo de gateway que especifique. Este gateway de red no se utiliza para el enlace de red de Oracle Database Service for Microsoft Azure. En su lugar, puede utilizarlo para gestionar redes en ubicaciones locales en VNet, donde ha conectado OracleDB a Azure.

  • Tabla de rutas de Microsoft Azure (ruta definida por el usuario - UDR)

    Las tablas de rutas dirigen el tráfico entre las subredes de Azure, VNets y las redes fuera de Azure.

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de VNet, normalmente a través de gateways. Las tablas de rutas se asocian a subredes en VNet.

  • Dominio de disponibilidad de Microsoft Azure

    El dominio de disponibilidad de Azure, o conjunto de disponibilidad, es una agrupación lógica de máquinas virtuales.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida. Es posible que sus requisitos difieran de la arquitectura que se describe aquí.
  • VCN

    Al crear una VCN, determine el número de bloques de CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.

    Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en la que desee configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques de CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

  • Seguridad

    Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure de manera proactiva. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a los operadores y usuarios en busca de actividades de riesgo. Cuando se detecta cualquier actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde el Internet público y se deben cifrar con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.

  • Cloud Guard

    Clone y personalice las recetas por defecto proporcionadas por Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar cubos de Object Storage que tengan la visibilidad definida en público.

    Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone mantener varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

  • Security Zones

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde el Internet público y se deben cifrar con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.

  • Grupos de seguridad de red (NSG)

    Puede utilizar los NSG para definir un juego de reglas de entrada y salida que se aplican a VNIC específicas. Recomendamos utilizar NSG en lugar de listas de seguridad, ya que los NSG permiten separar la arquitectura de subred de la VCN de los requisitos de seguridad de la aplicación.

Consideraciones

Tenga en cuenta los siguientes puntos al planificar el despliegue de esta arquitectura de referencia.

  • Implementación
    Al planificar la implantación de esta solución, revise lo siguiente:
    • Asegúrese de tener los límites adecuados de Oracle Exadata Database Service y los límites de servicio de OCI antes del aprovisionamiento. Para obtener más información, consulte Límites de servicio de OCI y Solicitud de aumento del límite de servicio.
    • Planificación de la topología de red:
      • Necesita al menos una red virtual de Azure (VNet) que pueda emparejar con una red virtual en la nube (VCN) de OCI correspondiente.
      • Los bloques de CIDR para cualquier VNets de Azure y VCN de OCI no se deben solapar.
    • Requisitos de Oracle Interconnect for Microsoft Azure:
      • Una cuenta de Oracle Cloud. Si no tiene una cuenta, puede registrarse para obtener una cuenta gratuita de Oracle Cloud.
      • Una cuenta de Azure. Si no tiene una cuenta, puede registrarse para obtener una cuenta gratuita de Azure.
      • Permisos y cuota de recursos necesarios para desplegar recursos según la topología descrita en esta arquitectura de referencia.
      • Recopila los requisitos de región de OCI, región de Azure, regiones de interconexión y rendimiento.
    • Red

      La aplicación en Azure y Oracle Database en OCI debe residir en la misma región geográfica. Por ejemplo, la aplicación en Europa occidental de Azure (ubicada en Ámsterdam, Países Bajos) y Oracle Database en OCI en el noroeste de los Países Bajos (Ámsterdam). Una región es un área geográfica localizada formada por uno o varios dominios de disponibilidad. Las regiones son independientes de otras regiones, y pueden separarse grandes distancias (entre países o continentes).

  • Disponibilidad

    Oracle Exadata Database Service on Dedicated Infrastructure proporciona funciones integradas de mejores prácticas de Oracle. Despliegue su base de datos para obtener el mejor rendimiento, disponibilidad y seguridad mediante la automatización en la nube y el sistema se configurará de forma óptima para proporcionar los niveles de servicio más altos. Despliega automáticamente Oracle RAC para proporcionar una base de datos ampliable y de alta disponibilidad ajustada para ejecutarse en la plataforma en la nube de Oracle Exadata Database Service. Oracle RAC protege contra fallos no planificados mediante la difusión de trabajo en varias instancias de base de datos. Además, elimina el tiempo de inactividad de las actividades de mantenimiento al migrar automáticamente el trabajo de los servidores a punto de someterse a mantenimiento a otros que permanecen en línea.

    Oracle Data Guard proporciona protección contra desastres en tiempo real. Si pierde la base de datos primaria o el centro de datos, puede realizar un failover de la carga de trabajo a una ubicación en espera que Oracle Data Guard mantenga automáticamente. Oracle Exadata Database Service on Dedicated Infrastructure facilita la activación de Oracle Data Guard con una sola llamada de API o con unos pocos clics del mouse en la interfaz de usuario mediante la automatización en la nube. Del mismo modo, la automatización soporta casos de uso críticos como cambiar la base de datos primaria al sitio de Disaster Recovery, volver a realizar el cambio y volver a instalar la base de datos primaria después de un failover.

    Oracle Exadata Database Service admite todas las tecnologías de máxima disponibilidad (MAA) de Oracle, que forman el plan detallado de alta disponibilidad para las bases de datos Oracle en la nube.

Agradecimientos

Authors: Leo Alvarado, Suzanne Holliday, Paul Parkinson