Crie Pipelines de CI/CD DevOps do Azure com o Oracle Base Database Service

Uma pilha dividida é quando uma carga de trabalho é implantada em ambas as nuvens, o aplicativo, nesse caso, no Microsoft Azure, com o serviço Oracle Database implantado no Oracle Cloud Infrastructure (OCI).

Uma pilha de aplicativos para pilha é quando uma pilha completa que compreende o aplicativo e o banco de dados no Azure interopera e compartilha dados com outra pilha completa (aplicativo e o Oracle Database) que reside na OCI.

Para várias considerações técnicas e comerciais, você pode optar por alocar suas cargas de trabalho na nuvem no Oracle Cloud e no Microsoft Azure. Para garantir a segurança e minimizar a latência, há um requisito para uma interconexão segura entre os ambientes Oracle Cloud e Azure Cloud.

A Oracle e a Microsoft criaram uma conexão de nuvem cruzada privada (Oracle Interconnect for Microsoft Azure) entre o Oracle Cloud Infrastructure e o Microsoft Azure em regiões específicas. O Oracle Interconnect for Microsoft Azure permite configurar cargas de trabalho entre nuvens sem o tráfego entre as nuvens que passam pela internet.

Consequentemente, os usuários podem criar e implantar Pipelines de CI/CD DevOps do Azure com o Oracle Base Database Service no Oracle Cloud Infrastructure e configurar os recursos de infraestrutura de rede virtual de suporte para permitir essa implantação de pilha dividida para uma solução de alto desempenho e alta disponibilidade.

Observação:

O Oracle Database 23c agora está disponível no Oracle Base Database Service. O Oracle Database 23c acelera a missão da Oracle de simplificar o desenvolvimento e a execução de todos os aplicativos orientados por dados. As principais áreas de foco incluem JSON, Gráficos, Microsserviços e produtividade do Desenvolvedor.

O Oracle Database 23c visa capacitar os desenvolvedores e simplificar o uso de Inteligência Artificial (IA) no banco de dados para produtividade do desenvolvedor, juntamente com uma variedade de aprimoramentos em um banco de dados conhecido por sua disponibilidade excepcionalmente alta, desempenho excepcional e recursos de segurança robustos.

Arquitetura

Nesta arquitetura de referência, você criará e implantará Pipelines CI/CD usando o Azure DevOps com o Oracle Base Database Service.

O aplicativo e o código-fonte do banco de dados são hospedados no repositório de código DevOps do Azure ou no Github ou similar. Um usuário faz commit das alterações no repositório de código que aciona o pipeline de 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.

Depois que o teste é concluído, o pipeline de build cria imagens do Docker e as envia para o registro de contêiner do Azure. Esses artefatos de build então iniciam o pipeline de 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 azuis/verdes ou canárias, são iniciados para implantação sem tempo de inatividade das novas alterações.

Um componente-chave dessa arquitetura é o Oracle Database Operator, que gerencia o ciclo de vida do Oracle Database, automatizando tarefas como provisionamento, dimensionamento, backups, atualizações e manutenção. Essa integração garante o gerenciamento eficiente do banco de dados e a interação perfeita entre os microsserviços no AKS e no Oracle Database. Os microsserviços se conectam com segurança ao Oracle Database por meio de uma Interconexão usando o Azure ExpressRoute e o Oracle FastConnect, mantendo uma conexão de banco de dados segura e confiável, com credenciais gerenciadas por meio do Azure Key Vault.

Métricas, logs e rastreamento de todo o processo de CI/CD são observados continuamente usando ferramentas como Azure Monitor, OCI e a estrutura Unified Observability OpenTelemetry do Oracle Database, que fornece rastreamentos do ponto de entrada do aplicativo 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.



oracle-base-database-azure-arch-oracle.zip

A arquitetura tem os seguintes componentes:

  • Tenancy

    Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você acessa o Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy. Uma tenancy é sinônimo de uma empresa ou organização. Geralmente, uma empresa terá uma única tenancy e refletirá sua estrutura organizacional dentro dessa tenancy. Uma única tenancy geralmente está associada a uma única assinatura, e uma única assinatura geralmente só tem uma tenancy.

  • Região

    Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada 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).

  • Compartimento

    Compartimentos são partições lógicas entre regiões em uma tenancy do Oracle Cloud Infrastructure. Use compartimentos para organizar seus recursos no Oracle Cloud, controlar o acesso aos recursos e definir cotas de uso. Para controlar o acesso aos recursos em um determinado compartimento, você define políticas que especificam quem pode acessar os recursos e quais ações eles podem executar.

  • Domínios de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade na região.

  • domínios de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • VCN (rede virtual na nuvem) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • do balanceador de carga

    O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Gateway de serviço

    O 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 nunca atravessa a internet.

  • FastConnect

    O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada entre o seu data center e o Oracle Cloud Infrastructure. O FastConnect oferece opções de largura de banda maior e uma experiência de rede mais confiável quando comparado com conexões baseadas na internet.

  • Oracle Base Database Service

    O Oracle Base Database Service é um serviço de banco de dados do Oracle Cloud Infrastructure (OCI) que permite criar, escalar e gerenciar bancos de dados Oracle com todos os recursos em máquinas virtuais. O Oracle Base Database Service usa o armazenamento do OCI Block Volumes em vez do armazenamento local e pode executar o Oracle Real Application Clusters (Oracle RAC) para melhorar a disponibilidade.

  • Object Storage

    O armazenamento de objetos fornece acesso rápido 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 de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar facilmente 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.

  • Serviço IAM (Identity and Access Management)

    O Oracle Cloud Infrastructure Identity and Access Management (IAM) é o plano de controle de acesso para o Oracle Cloud Infrastructure (OCI) e o Oracle Cloud Applications. A API do serviço IAM e a interface do usuário permitem que você gerencie domínios de identidade e os recursos dentro do domínio de identidades. Cada domínio de identidades do OCI IAM representa uma solução independente de gerenciamento de identidade e acesso ou uma população de usuários diferente.

  • Auditoria

    O serviço Oracle Cloud Infrastructure Audit registra automaticamente as chamadas para todos os pontos finais suportados do Oracle Cloud Infrastructure Public Application Programming Interface (API) como eventos de log. Atualmente, todos os serviços suportam os logs do Oracle Cloud Infrastructure Audit.

Essa arquitetura suporta os seguintes componentes do Microsoft Azure.

  • Microsoft Azure VNet e sub-rede

    A Rede Virtual do Microsoft Azure (VNet) é o bloco de construção fundamental para 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 redes locais.

    Você define o VNet no Azure. Ele pode ter várias sub-redes de blocos CIDR não sobrepostos que você pode adicionar após criar o VNet. Você pode segmentar um VNet em sub-redes, com escopo definido para uma região ou para zonas de disponibilidade. Cada sub-rede consiste em um intervalo contínuo de endereços que não se sobrepõem a outras sub-redes do VNet. Use VNet para isolar seus recursos do Azure logicamente no nível da rede.

  • Gateway de rede virtual

    Um gateway de rede virtual permite o tráfego entre um VNet do Azure e uma rede fora do Azure, seja pela internet pública ou usando ExpressRoute, dependendo do tipo de gateway especificado. Este gateway de rede não é usado para o Link de Rede do Oracle Database Service for Microsoft Azure. Em vez disso, você pode usá-lo para gerenciar redes locais no VNet em que você pareou OracleDB para o Azure.

  • Tabela de Roteamento do Microsoft Azure (Rota Definida pelo Usuário - UDR)

    As tabelas de roteamento direcionam o tráfego entre sub-redes do Azure, VNets e redes fora do Azure.

    As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de um VNet, geralmente por meio de gateways. As tabelas de roteamento são associadas a sub-redes em um VNet.

  • Domínio de Disponibilidade do Microsoft Azure

    O Domínio de Disponibilidade do Azure, ou conjunto de disponibilidade, é um agrupamento lógico de máquinas virtuais.

Recomendações

Use as recomendações a seguir como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar às sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    Selecione blocos CIDR que não se sobreponham a qualquer outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seus requisitos de fluxo de tráfego e segurança. Anexe todos os recursos dentro de uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.

  • Segurança

    Use o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure de forma proativa. O Cloud Guard usa receitas do detector que você pode definir para examinar seus recursos quanto a pontos fracos de segurança e monitorar operadores e usuários em busca de atividades arriscadas. Quando qualquer configuração incorreta ou atividade insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a executar essas ações, com base nas receitas do respondedor que você pode definir.

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos de uma zona de segurança não devem ser acessíveis por meio da internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o Oracle Cloud Infrastructure validará as operações de acordo com as políticas na receita de zona de segurança e negará as operações que violarem qualquer uma das políticas.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas do detector e do respondedor. Essas receitas permitem que você especifique que tipo de violações de segurança geram uma advertência e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do serviço Object Storage que tenham visibilidade definida como pública.

    Aplique o Cloud Guard no nível da tenancy para cobrir o escopo mais amplo e reduzir a carga administrativa de manter várias configurações.

    Você também pode usar o recurso Lista Gerenciada para aplicar determinadas configurações aos detectores.

  • Zonas de Segurança

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos de uma zona de segurança não devem ser acessíveis por meio da internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o Oracle Cloud Infrastructure validará as operações de acordo com as políticas na receita de zona de segurança e negará as operações que violarem qualquer uma das políticas.

  • Grupos de Segurança de Rede (NSGs)

    Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs em vez de listas de segurança porque os NSGs permitem que você separe a arquitetura de sub-rede da VCN dos requisitos de segurança do seu aplicativo.

  • Infraestrutura como Código (IaC)

    Você pode considerar o uso do Terraform para implementar Infraestrutura como Código para implantar seus Recursos do Azure e o Oracle Base Database Service.

Considerações

Considere os pontos a seguir ao planejar a implantação dessa arquitetura de referência.

  • Certifique-se de que você tenha limites adequados do Oracle Base Database Service e do OCI Service antes do provisionamento. Para obter mais informações, consulte Limites do Serviço OCI e Solicitando um Aumento do Limite de Serviço.
  • Planejando sua topologia de rede:
    • Você precisa de pelo menos uma Rede Virtual no Azure (VNet) que possa emparelhar com uma VCN (Rede Virtual na Nuvem) do OCI correspondente.
    • Os blocos CIDR de qualquer VNets do Azure e VCNs do OCI não devem se sobrepor.
  • Pré-requisitos do Oracle Interconnect for Microsoft Azure:
    • Uma conta no Oracle Cloud. Se você não tiver uma conta, poderá se inscrever em uma conta do Oracle Cloud Free Tier.
    • Uma conta do Azure. Se não tiver uma conta, você poderá se inscrever em uma Conta Grátis do Azure.
    • Cota de permissões e recursos necessários para implantar recursos de acordo com a topologia descrita nesta arquitetura de referência.
    • Colete a Região da OCI, a Região do Azure, as regiões de interconexão e os requisitos de throughput.
  • Redes

    O aplicativo no Azure e o Oracle Database no OCI devem residir na mesma região geográfica. Por exemplo, o aplicativo no Azure West European (localizado em Amsterdã, Holanda) e o Oracle Database na OCI no noroeste da Holanda (Amsterdã). Região é uma área geográfica localizada composta por um ou mais 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 continentes).

  • Disponibilidade

    O Oracle Base Database Service fornece recursos integrados de melhores práticas da Oracle. Implemente seu banco de dados para obter o melhor desempenho, disponibilidade e segurança usando a automação da nuvem, e seu sistema será configurado de forma ideal para fornecer os mais altos níveis de serviço. Ele implanta automaticamente o Oracle RAC para fornecer um banco de dados escalável e altamente disponível ajustado para ser executado na plataforma de nuvem do Oracle Base Database Service. O Oracle RAC protege contra falhas não planejadas distribuindo o trabalho entre várias instâncias de banco de dados. Além disso, elimina o tempo de inatividade para atividades de manutenção, migrando automaticamente o trabalho dos servidores prestes a sofrer manutenção para outros que permanecem on-line.

    O Oracle Data Guard fornece proteção contra desastres em tempo real. Se você perder seu banco de dados principal ou data center, poderá fazer failover da sua carga de trabalho para um site stand-by mantido automaticamente pelo Oracle Data Guard. O Oracle Base Database Service simplifica a ativação do Oracle Data Guard com uma única chamada de API ou alguns cliques do mouse na interface do usuário usando a automação da nuvem. Da mesma forma, a automação suporta casos de uso críticos, como alternar seu banco de dados principal para seu site de Recuperação de Desastres, voltar e restabelecer seu banco de dados principal após um failover.

    O Oracle Base Database Service suporta todas as tecnologias Oracle Maximum Availability (MAA), que formam o modelo de alta disponibilidade para bancos de dados Oracle na nuvem.

Confirmação

Authors: Leo Alvarado, Suzanne Holliday, Paul Parkinson