Crie Pipelines DevOps do Azure usando o Oracle Exadata Database Service no Oracle Database@Azure
Antes de Começar
- Microsoft Azure DevOps
- Pipelines do Microsoft Azure
- Sistemas de Controle de Versão: Azure Repos Git, GitHub e TFVC.
- Microsoft Azure Kubernetes Service (AKS)
- Configure o Oracle Database@Azure com o seguinte:
- Acesso a uma assinatura e diretório do Azure
- Acesso a uma tenancy do Oracle Cloud Infrastructure (OCI)
- Link multicloud ativo do Oracle Database@Azure entre as nuvens do Azure e da Oracle
Antes de provisionar o Oracle Database@Azure, certifique-se de ter limites adequados do Oracle Exadata Database Service e limites de serviço do OCI:
- No menu do OCI, clique em Governança e Administração.
- Em Gerenciamento de Tenancy, clique em Limites, Cotas e Uso.
- No menu drop-down Serviço, selecione Banco de Dados.
Arquitetura
O código-fonte do aplicativo e do banco de dados é hospedado em um repositório de código DevOps do Microsoft Azure, GitHub ou similar. Um usuário confirma as alterações no repositório de código que aciona o pipeline de integração contínua (CI). Essa fase inclui a execução de testes de unidade, testes de integração, análise de código estático e também testes de contêineres no cluster do Azure Kubernetes Service (AKS) para verificar a prontidão da implantação.
Quando o teste estiver concluído, o pipeline de build criará imagens do Docker e as enviará para o registro de contêiner do Azure. Esses artefatos então iniciam o pipeline de entrega contínua (CD). Na fase de CD, os artefatos são implantados no AKS, onde testes de ponta a ponta e do sistema são executados para garantir que os microsserviços operem corretamente no ambiente do Kubernetes e no Oracle Database. Ambientes de preparação e produção, usando estratégias como implantações azul/verde ou canário, são iniciados para implantação sem tempo de inatividade das novas alterações.
Um cluster do Kubernetes pode conter vários pods, cada um conectando-se a seu próprio banco de dados plugável (PDB). Os PDBs no banco de dados principal são implantados no Oracle Database@Azure que é executado no Oracle Exadata Database Service on Dedicated Infrastructure em uma Zona de Disponibilidade do Azure. As imagens de contêiner são armazenadas no registro de contêiner do Azure. Os usuários acessam o aplicativo externamente por meio de um balanceador de carga público.
A automação da nuvem simplifica a maioria das tarefas de ciclo de vida e gerenciamento para bancos de dados Oracle Exadata Cloud Infrastructure e Oracle multitenant (CDBs, PDBs). Por exemplo, adicionar servidores e dimensionar OCPUs para cima e para baixo, criar bancos de dados e homes de banco de dados, programar a manutenção da infraestrutura, atualizar e fazer upgrade do sistema operacional de VM, do Oracle Grid Infrastructure e de bancos de dados, executar operações de backup e recuperação e até mesmo ativar proteções de recuperação de desastre por meio do Oracle Data Guard.
Métricas, logs e rastreamento de todo o processo CI/CD são observados continuamente usando ferramentas como Azure Monitor, Oracle Cloud Infrastructure (OCI) e a estrutura OpenTelemetry de Observabilidade Unificada do Oracle Database, que fornece rastreamentos do ponto de entrada da aplicação que reside no Azure, em todos os subsistemas e no Oracle Database, garantindo o desempenho e a confiabilidade dos microsserviços e do banco de dados. Essa abordagem garante uma solução robusta, eficiente e escalável para implementar e gerenciar aplicativos modernos em um ambiente nativo da nuvem.
O diagrama a seguir ilustra essa arquitetura de referência.

Descrição da ilustração exadata-database-service.png
exadata-database-service-oracle.zip
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, hospedando domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).
Uma região do Azure é uma área geográfica na qual um ou mais data centers físicos do Azure, chamados de zonas de disponibilidade, residem. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).
As regiões do Azure e da OCI são áreas geográficas localizadas. Para o Oracle Database@Azure, uma região do Azure é conectada a uma região da OCI, com zonas de disponibilidade (AZs) no Azure conectadas a domínios de disponibilidade (ADs) na OCI. Os pares de regiões do Azure e OCI são selecionados para minimizar a distância e a latência.
- Zona de disponibilidade do Azure
Uma zona de disponibilidade é um data center fisicamente separado em uma região projetada para estar disponível e tolerante a falhas. As zonas de disponibilidade estão próximas o suficiente para ter conexões de baixa latência com outras zonas de disponibilidade.
A delegação de sub-rede é a capacidade da Microsoft de injetar um serviço gerenciado, especificamente um serviço de plataforma como serviço, diretamente em sua rede virtual.
- Rede Virtual do Microsoft Azure
A Rede Virtual do Microsoft Azure (VNet) é o bloco de construção fundamental da sua rede privada no Azure. O VNet permite que muitos tipos de recursos do Azure, como máquinas virtuais (VM) do Azure, se comuniquem com segurança entre si, com a Internet e com as redes locais.
A delegação de sub-rede é a capacidade da Microsoft de injetar um serviço gerenciado, especificamente um serviço de plataforma como serviço, diretamente em sua rede virtual.
- Pipelines do Azure
Os Pipelines do Azure fazem parte do serviço DevOps do Azure oferecido pelo Microsoft Azure para criar, testar e implantar automaticamente projetos de código para integração contínua, teste contínuo e entrega contínua. (CI-CD)
- Serviço Kubernetes do Azure
O Azure Kubernetes Service (AKS) é um serviço Kubernetes gerenciado oferecido pelo Microsoft Azure para implementar e gerenciar aplicativos em contêineres. Um cluster do Kubernetes pode conter vários pods.
- Plano de Controle do Kubernetes
Um plano de controle do Kubernetes gerencia os recursos dos nós de trabalho e pods em um cluster do Kubernetes. Os componentes do plano de controle detectam e respondem a eventos, executam a programação e movem recursos do cluster.
- Oracle Exadata Database Service on Dedicated Infrastructure
O Oracle Exadata Database Service oferece recursos comprovados do Oracle Database no Oracle Exadata Cloud Infrastructure otimizado e criado especificamente na nuvem pública. Automação de nuvem integrada, dimensionamento elástico de recursos, segurança e desempenho rápido para OLTP, análise na memória e cargas de trabalho convergentes do Oracle Database ajudam a simplificar o gerenciamento e reduzir custos.
O Oracle Exadata Cloud Infrastructure traz mais núcleos de CPU, maior armazenamento e uma malha de rede mais rápida para a nuvem pública. Os servidores de armazenamento Oracle Exadata incluem Memória RDMA (XRMEM) Exadata, criando uma camada adicional de armazenamento, aumentando o desempenho geral do sistema. O Exadata combina o XRMEM com algoritmos RDMA inovadores que ignoram a rede e a pilha de E/S, eliminando interrupções caras da CPU e comutadores de contexto.
O Oracle Exadata Cloud Infrastructure aumenta a taxa de transferência de sua malha de rede interna Remote Direct Access de 100 Gbps ativa-ativa por Ethernet Convergente (RoCE), fornecendo uma interconexão mais rápida do que as gerações anteriores com latência extremamente baixa entre todos os servidores de computação e armazenamento.
- Oracle Database Autonomous Recovery Service
O Oracle Database Autonomous Recovery Service é um serviço totalmente gerenciado projetado para proteger os Bancos de Dados Oracle contra perda de dados e ameaças cibernéticas. Ele oferece backups mais rápidos com sobrecarga de banco de dados reduzida, recuperação confiável com backups validados e proteção em tempo real, permitindo a recuperação em menos de um segundo de uma interrupção ou ataque de ransomware. O Oracle Database Zero Data Loss Autonomous Recovery Service é uma opção de Zero Data Loss para o Autonomous Recovery Service. Esse serviço fornece um painel de controle centralizado de proteção de dados e é recomendado para fazer backup de Bancos de Dados Oracle.
- Oracle Database@Azure
O Oracle Database@Azure é o serviço Oracle Database (Oracle Exadata Database Service on Dedicated Infrastructure e Oracle Autonomous Database Serverless) executado na Oracle Cloud Infrastructure (OCI), implantado nos data centers do Microsoft Azure. O serviço oferece recursos e paridade de preços com a OCI. Compre o serviço no Azure Marketplace.
O Oracle Database@Azure integra as tecnologias Oracle Exadata Database Service, Oracle Real Application Clusters (Oracle RAC) e Oracle Data Guard à plataforma Azure. Os usuários gerenciam o serviço na console do Azure e com ferramentas de automação do Azure. O serviço é implantado na Rede Virtual do Azure (VNet) e integrado ao sistema de gerenciamento de identidade e acesso do Azure. As métricas genéricas e os logs de auditoria do OCI e do Oracle Database estão disponíveis nativamente no Azure. O serviço exige que os usuários tenham uma assinatura do Azure e uma tenancy do OCI.
- Armazenamento de objetos
O serviço OCI Object Storage oferece acesso a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados de análise e conteúdo avançado, como imagens e vídeos. Você pode armazenar dados de forma segura e protegida diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento sem prejudicar o desempenho ou a confiabilidade do serviço.
Use o armazenamento padrão para armazenamento de acesso frequente que você precisa para acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.
- Gateway de serviço
Um gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e não atravessa a internet.
Considerações
Considere os seguintes pontos ao planejar implantar essa arquitetura de referência:
- Atualizar o arquivo YAML
Use strings de conexão para atualizar o arquivo YAML da implantação do Azure Kubernetes Service. Você pode encontrar as strings de conexão com seus bancos de dados na Console do OCI.
- Desempenho
-
Uma arquitetura multitenant da Oracle é recomendada para a camada de persistência da arquitetura de microsserviços, para isolamento de contexto limitado de dados, segurança e alta disponibilidade.
Com a arquitetura multitenant da Oracle, um Oracle Database pode funcionar como um banco de dados contêiner (CDB) que contém vários bancos de dados plugáveis (PDBs). Isso permite que microsserviços que têm uma variedade de tipos de dados e cargas de trabalho usem um único banco de dados contêiner convergente. Ao aproveitar os PDBs, a Oracle pode fornecer os bancos de dados isolados de microsserviços dentro do CDB e ativar a movimentação dos PDBs entre contêineres físicos. Os microsserviços podem estabelecer conexão com uma instância do Oracle Database que está em execução no Oracle Exadata Database Service on Dedicated Infrastructure.
-
- Segurança
- Considere o uso de um vault, em vez de armazenar informações de conexão de banco de dados, senha e wallet dos aplicativos (se aplicável) em segredos do Kubernetes para o Azure Kubernetes Service.
- Rede
-
Requer pelo menos uma Rede Virtual do Azure (VNet) com uma sub-rede delegada para o anexo de rede do Oracle Database.
-
Considere implantar a sub-rede do Serviço Kubernetes do Microsoft Azure e a sub-rede do cliente Cluster de VMs do Oracle Exadata Database Service no mesmo VNet.
-
- Disponibilidade
-
Considere usar e configurar o Universal Connection Pool (UCP), o Oracle JDBC Driver e o Oracle RAC para aproveitar os recursos de Alta Disponibilidade (HA) do Oracle Database para serviço contínuo durante o tempo de inatividade planejado e não planejado para manter a disponibilidade contínua dos seus aplicativos.
O UCP suporta todas as configurações do Oracle Database e recursos essenciais (disponibilidade, escalabilidade e balanceamento de carga) prontos para uso, incluindo Oracle RAC, Oracle Data Guard, Sharding da Oracle, API Assíncrona, Balanceamento de Carga de Runtime, XA, Continuidade de Aplicativos, Transaction Guard, Failover Transparente de Aplicativos, SCAN (Single Client Access Name) e front-end para DRCP (Database Resident Connection Pool). Com o sistema Oracle RAC, qualquer serviço de banco de dados Oracle pode ser acessado igualmente de vários nós de servidor. Se um nó ou um subconjunto do cluster do Oracle RAC falhar ou for colocado off-line para manutenção, o banco de dados ainda estará acessível por meio dos nós ativos restantes.
-
Veja a seguir os elementos básicos para implementar a Alta Disponibilidade de Aplicativos com o Oracle Database:
- Usar um serviço de banco de dados
- Configurar um URL ou uma string de conexão para Alta Disponibilidade
- Ativar FAN (Fast Application Notification)
- Implementar a drenagem e a ativação da disponibilidade contínua do banco de dados para aplicativos Java
-
Considere o uso do Oracle Database Autonomous Recovery Service conforme recomendado como destino de backup do Oracle Database.
Veja a seguir as duas opções disponíveis para armazenar backups: na mesma região do Azure, o Oracle Exadata Database Service reside ou uma Região OCI padrão associada à Região do Azure
-
Explorar Mais
Saiba mais sobre a Oracle Cloud Infrastructure (OCI) e o Microsoft Azure:
Revise estes recursos adicionais:
- Documentação do Oracle Cloud Infrastructure:
- Crie MultiCloud DevOps usando Pipelines de CI/CD do Azure com Kubernetes e Oracle Database Cloud Services (Workshop)
- Estrutura bem arquitetada para o Oracle Cloud Infrastructure
- Estimador de Custos do Oracle Cloud
- Estrutura de Adoção da Nuvem
- Conta do Oracle Cloud Free Tier (Oracle Cloud)
- Conta Gratuita do Azure (Microsoft Azure)