Saiba como Converter Aplicativos Monolíticos em Serviços em Containerizados no Oracle Cloud
Por sua natureza, aplicações monolíticas são fixas e lineares, tornando-as difíceis de gerenciar e atualizar ao longo do tempo.
Como os padrões arquitetônicos monolíticos são usados para projetar e desenvolver uma aplicação completa como uma única unidade, a confiabilidade pode ser um grande problema, especialmente nos casos de emaranhamento e acoplamento. Isso acontece porque, se algo der errado em qualquer módulo, ele pode tornar todo o aplicativo inutilizável.
Se seu aplicativo exigir escalabilidade, confiabilidade, agilidade e autonomia, considere a adoção de uma arquitetura de microsserviços. Ao contrário dos monólitos fixos e lineares, uma arquitetura de microsserviços depende do design, desenvolvimento e implantação de um aplicativo como uma coleção de serviços acoplados de modo fraco que podem ser implantados e testados de forma independente.
Um dos maiores benefícios das arquiteturas de microsserviços é que elas não afetarão o desenvolvimento e a implantação de outros serviços e seus recursos. Você pode dimensionar um microsserviço específico independentemente de outros microsserviços, e tem a liberdade de escolher uma pilha de tecnologia e uma linguagem de programação para cada serviço específico.
Arquitetura
O diagrama de arquitetura abaixo mostra a implantação final com os aplicativos em contêineres executados de forma independente uns dos outros.
apps-multiservices-arch-oracle.zip
A arquitetura tem os seguintes componentes:
- Locação
Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você se inscreve no Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud dentro da 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 mesmo continentes).
- Domínio 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, provavelmente uma falha em um domínio de disponibilidade não afetará os outros domínios de disponibilidade da região.
- Domínio 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 potência e hardware independentes. Quando você distribui recursos entre diversos domínios de falha, seus aplicativos podem tolerar falhas físicas no servidor, na manutenção do sistema e na alimentação dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) 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.
- 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.
- Tabela de roteamento
As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.
- 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.
- Container Engine for Kubernetes
O Oracle Cloud Infrastructure Container Engine for Kubernetes é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos em contêineres na nuvem. Você especifica os recursos de computação necessários aos seus aplicativos e o Container Engine for Kubernetes os provisiona no Oracle Cloud Infrastructure em uma tenancy existente. O Container Engine para Kubernetes usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres entre clusters de hosts.
- Cálculo
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. Após criar uma instância de computação, você poderá acessá-la com segurança, reiniciá-la, anexá-la e desanexá-la 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 segurança e correção que é 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.
