Isolar Ambientes de Desenvolvimento de Várias Camadas e entre Regionais Usando Compartimentos

Aproveite os compartimentos para criar um modelo para ambientes seguros de desenvolvimento e teste de várias camadas e entre regiões que você pode usar para criar soluções empresariais no Oracle Cloud Infrastructure.

Para implementar projetos de missão crítica, as organizações geralmente mantêm ambientes separados para desenvolvimento e teste antes de lançar o projeto em um ambiente de produção. Um ambiente permite que você defina e gerencie os serviços do Oracle Cloud PaaS e do Oracle Cloud Infrastructure como uma única entidade. É importante ter os recursos, a estrutura e o design certos nos ambientes para gerenciá-los de forma eficiente.

Os compartimentos são um recurso avançado do Oracle Cloud Infrastructure (OCI) para isolamento de segurança e controle de acesso. Por meio da aplicação de políticas, eles fornecem o nível de acesso certo de acordo com os parâmetros definidos pela organização para gerenciamento de recursos e administração delegada.

Arquitetura

Essa arquitetura de referência mostra como usar compartimentos para projetar e configurar diferentes ambientes no Oracle Cloud Infrastructure e como provisionar recursos para suportar o desenvolvimento de software e o ciclo de vida da release. A arquitetura usa um aplicativo Web de várias camadas como ponto de referência ao alocar recursos em diferentes organizações dentro de uma empresa para ilustrar a implementação.

O diagrama a seguir mostra essa arquitetura.



arquitetura do oci-dev-env-oracle.zip

Esta arquitetura inclui os seguintes componentes:

  • Locação

    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 empresa ou organização. Geralmente, uma empresa terá uma única tenancy e refletirá sua estrutura organizacional dentro dessa tenancy. Em geral, uma única tenancy é associada a uma única assinatura e, em geral, uma única assinatura só tem uma tenancy.

  • Região

    Uma 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

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

  • Política

    Uma política do Oracle Cloud Infrastructure Identity and Access Management especifica quem pode acessar quais recursos e como. O acesso é concedido no nível de grupo e compartimento. Isso significa que você pode gravar uma política que dá a um grupo um tipo específico de acesso em um compartimento específico ou à tenancy.

  • Balanceador de carga

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

  • Computação

    O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda da rede e armazenamento. Depois de criar uma instância de computação, você pode acessá-la de forma segura, reiniciá-la, anexar e desconectar volumes e encerrá-la quando não precisar mais dela.

  • Autonomous Transaction Processing

    O Oracle Autonomous Transaction Processing é um serviço de banco de dados independente, com autoproteção e reparo otimizado para cargas de trabalho de processamento de transações. Você não precisa configurar nem gerenciar nenhum hardware, nem instalar nenhum software. O Oracle Cloud Infrastructure trata da criação do banco de dados, bem como do backup, aplicação de patches, upgrade e ajuste do banco de dados.

Recomendações

Use as seguintes recomendações como ponto de partida. Seus requisitos podem ser diferentes.

  • VCN

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

    Selecione blocos CIDR que não se sobrepõem a nenhuma outra rede (no Oracle Cloud Infrastructure, no seu data center local ou em 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 seu fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança.

    Usar sub-redes regionais.

  • Compartimento

    Por padrão, qualquer tenancy do Oracle Cloud tem um compartimento raiz padrão nomeado após a própria tenancy. O administrador da tenancy (administrador do compartimento raiz padrão) é qualquer usuário que seja membro do grupo Administradores padrão.

    Para essa arquitetura, criamos dois compartimentos de nível superior, RH e Vendas, para duas organizações diferentes no compartimento-raiz. Dois grupos gerenciam esses compartimentos: HR-Admins e Sales-Admins. No compartimento de nível superior de RH, criamos os subcompartimentos HR-Prod, HR-Dev, HR-Staging e HR-Test. Esses compartimentos são gerenciados pelos grupos HR-Prod-Admins, HR-Dev-Admins, HR-Staging-Admins e HR-Test-Admins, respectivamente. No compartimento de nível superior Vendas, criamos os subcompartimentos Sales-Prod, Sales-Dev, Sales-Staging e Sales-Test. Esses compartimentos são gerenciados pelos grupos Sales-Prod-Admins, Sales-Dev-Admins, Sales-Staging-Admins e Sales-Test-Admins, respectivamente.

  • Política

    O controle de acesso ao compartimento é controlado por políticas. As políticas são compostas de instruções que associam um assunto (sempre um grupo de usuários) a ações em recursos selecionados (ou família de recursos) em uma tenancy ou compartimento. Você pode qualificar ainda mais a instrução de política adicionando condições que refine ainda mais o controle de acesso.

    Nesta implementação, delegamos a administração de recursos do Oracle Cloud Infrastructure Compute por meio de políticas e compartimentos para componentes e subcompartimentos de nível superior. O objetivo é fazer com que cada compartimento funcione de forma independente e completa isolamento um do outro.

Considerações

Considere os pontos a seguir ao implantar essa arquitetura de referência.

  • Escalabilidade

    O Oracle Cloud Infrastructure suporta uma hierarquia de compartimentos de até seis níveis. O administrador de um compartimento tem plenos poderes sobre seus compartimentos aninhados. Nesta implementação, utilizamos três níveis.

    Os recursos do Oracle Cloud Infrastructure, como o Oracle Cloud Infrastructure Compute, o serviço Load Balancing e o Autonomous Transaction Processing, são provisionados em cada um dos compartimentos entre regiões e entre ambientes. Neste exemplo, os recursos são alocados para um aplicativo Web simples como um ponto de referência para o ciclo de vida de um desenvolvimento e uma versão de software.

    O Oracle Cloud Infrastructure Compute oferece o recurso de dimensionamento automático, que ajuda a fornecer desempenho consistente para seus usuários finais durante períodos de alta demanda e ajuda a reduzir seus custos durante períodos de demanda baixa. Você também pode usar o recurso de dimensionamento automático para o Oracle Autonomous Transaction Processing. Quando o dimensionamento automático está ativado, se seu aplicativo, o banco de dados usa automaticamente mais recursos de CPU e E/S, conforme necessário, sem qualquer intervenção manual. O balanceador de carga oferece suporte para alterar dinamicamente a largura de banda de uma forma.

  • Disponibilidade

    Geralmente, você implanta um aplicativo na região em que ele é mais usado porque o uso de recursos próximos é mais rápido que o uso de recursos distantes. Os domínios de disponibilidade dentro da mesma região se conectam entre si usando uma rede de largura de banda alta e de baixa latência. Essa rede oferece conectividade de alta disponibilidade à internet e ao equipamento local, para que você possa criar sistemas replicados em vários domínios de disponibilidade, tanto para alta disponibilidade quanto para recuperação de desastres.

    O Oracle Autonomous Transaction Processing elimina o tempo de inatividade do site, mantendo uma cópia remota em tempo real de um banco de dados de produção e alternando automaticamente do banco de dados principal para a cópia remota usando o Oracle Data Guard.

  • Capacidade de gerenciamento
    Como os compartimentos segregam o gerenciamento de recursos, você pode compartilhar recursos entre compartimentos. Por exemplo, para compartilhar uma instância de computação do HR-Dev para Sales-Dev, você tem duas opções:
    • Crie uma imagem personalizada do grupo HR-Dev-Admins, exporte a imagem para o Oracle Cloud Infrastructure Object Storage e disponibilize-a para o grupo Sales-Dev-Admins.
    • Você também pode exportar o volume de inicialização da instância em HR-Dev para o compartimento Sales-Dev.

    Como administrador, planeje antecipadamente como particionar intervalos de CIDR disponíveis entre diferentes áreas da organização. Certifique-se de que as VCNs não tenham intervalos CIDR sobrepostos. Esse planejamento impede o pareamento inadvertido entre duas VCNs em compartimentos diferentes.

    Por fim, gerencie a arquitetura automatizando a infraestrutura e a alocação de recursos usando o Terraform.

  • Segurança

    Configure listas de segurança, que atuam como firewalls virtuais, para que os recursos de diferentes compartimentos possam se comunicar. Por exemplo, uma instância de banco de dados no compartimento HR pode estabelecer conexão com uma instância de banco de dados no compartimento Vendas, desde que as listas de segurança aplicáveis estejam configuradas corretamente.

    Exponha um ponto final privado para o banco de dados Oracle Autonomous Transaction Processing anexando o banco de dados a uma sub-rede privada.

    Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança. Adicione tabelas de roteamento e gateways (roteadores virtuais) à VCN para gerenciar o tráfego, dependendo do tipo de acesso necessário. Por exemplo, talvez você precise se conectar por meio da internet pública, de uma internet privada, de uma rede local, de outro serviço da Oracle ou de outra rede da VCN na tenancy.

    Considere o uso do Oracle Cloud Infrastructure Compute Web Application Firewall (WAF) para proteger o aplicativo contra tráfego malicioso da internet pública. Essa arquitetura baseia-se em políticas que restringem quem pode acessar quais recursos do Oracle Cloud Infrastructure Compute em um compartimento específico.

Implante

O código do Terraform para criar ambientes de compartimento de várias camadas para desenvolvimento de soluções empresariais está disponível em GitHub.

  1. Vá para GitHub.
  2. Clone ou faça download do repositório para seu computador local.
  3. Siga as instruções no documento README.

Alterar Log

Este log lista alterações significativas: