Conecte microsserviços multicloud usando o Oracle API Gateway
O serviço Oracle API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede e que você pode expor com endereços IP públicos se quiser que eles aceitem o tráfego da internet.
Ao criar soluções empresariais, você pode descobrir que diferentes partes da solução foram implantadas em diferentes nuvens (ou mesmo locais), como resultado de necessidades específicas ou como resultado das preferências da equipe nos fornecedores de nuvem. Por exemplo, os serviços que estendem o Office 365 podem ter sido implantados no Azure, mas os principais serviços, como ERP, podem residir no OCI.
Se então quiser expor alguns desses serviços como APIs para parceiros, você não vai querer tentar operar vários gateways em diferentes nuvens. Dividir APIs em diferentes nuvens provavelmente será confuso com o consumidor da API - sem mencionar os riscos de expor o usuário a uma maior chance de precisar mudar. Além disso, se houver algum tipo de restrições ou controles envolvidos no uso das APIs, gerenciar esses controles torna-se muito desafiador. Nessas situações, o gateway de API da Oracle permite que você vincule vários serviços de backend a um único ponto final de API consolidado.
O serviço Oracle API Gateway está integrado ao Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), que fornece autenticação fácil com funcionalidade nativa de identidade do Oracle Cloud Infrastructure (OCI). Quando você tiver serviços em execução em diferentes nuvens (como OCI, Oracle SaaS, qualquer nuvem 3a parte: como Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing etc., poderá usar o Oracle API Gateway para expor todos esses serviços aos seus clientes de serviço.
- Suporta arquitetura multicloud: evite o bloqueio do fornecedor, atenda aos requisitos de conformidade, maior resiliência, flexibilidade e gerenciamento de riscos. Permite que os usuários executem backends de serviço em qualquer nuvem para atender aos requisitos de conformidade (sem ficar bloqueado para um único fornecedor de nuvem), mas ainda exponha um ponto final unificado aos clientes, independentemente de onde o serviço de backend está sendo executado.
- Permite executar diferentes serviços em diferentes nuvens; fornece um ponto final unificado, independentemente de onde o backend esteja implementado.
- Permite que um ponto final unificado seja apresentado aos clientes da API, independentemente de onde o backend esteja implementado. Às vezes, a legislação pode ditar onde o backend pode e não pode ser implantado, mas o Oracle API Gateway garante que os clientes não sejam impactados.
O uso do Oracle API Gateway ajuda a enfrentar os seguintes desafios:
Desafio do cliente | Solução Oracle API Gateway |
---|---|
Implementando uma arquitetura multicloud e executando diferentes microsserviços em diferentes nuvens usando um ponto final unificado |
|
Os microsserviços podem sofrer alterações internas e também podem ser movidos de uma nuvem para outra | Os microsserviços que já estão sendo executados em outras nuvens podem continuar assim (por exemplo, aplicativos baseados na Microsoft podem continuar sendo executados no Microsoft Azure) |
Aplicativos clientes, que aproveitam esses microsserviços, precisam de acesso uniforme e ininterrupto a todos esses microsserviços executados em diferentes nuvens | Todos os microsserviços executados em nuvens diferentes podem ser expostos juntos aos clientes usando o Gateway OracleAPI. |
Arquitetura
Essa arquitetura de referência mostra como conectar serviços executados no OCI e em outras nuvens (ou data centers, como OCI, Oracle SaaS, qualquer nuvem 3a ou rede local) usando o Oracle API Gateway e expor os serviços aos seus clientes de serviço.
O diagrama a seguir ilustra o fluxo de dados desta arquitetura de referência.
oci-multicloud-api-gateway-flow-oracle.zip
- Serviços e serviços em contêineres executados em máquinas virtuais, na nuvem 3a parte.
- Aplicativos Oracle SaaS, como Oracle Fusion Cloud Applications ou Oracle Fusion Cloud Enterprise Performance Management, (que podem ser integrados usando serviços como integração da Oracle).
- Serviços do Oracle Autonomous Database
- Serviços nativos da nuvem, como funções OCI e Container Engine for Kubernetes (OKE).
- aplicativos locais (conectados usando a OCI VPN ou FastConnect). Por exemplo, aplicativos em execução no data center.
- clientes baseados na Internet. Por exemplo, páginas web e aplicativos móveis acessando os serviços pela internet.
Depois que a conectividade de rede adequada for estabelecida, o OCI API Gateway poderá se conectar a diferentes provedores de serviços de backend, abstrair as complexidades desses serviços (conforme necessário) e expor as APIs de serviço que podem ser facilmente consumidas pelos clientes de serviço.
O diagrama a seguir ilustra essa arquitetura de referência.
oci-multicloud-api-gateway-arch-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, 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).
- Domínios de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos dos outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento, 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.
- Rede virtual na nuvem (VCN) e sub-redes
Uma VCN é uma rede personalizável e 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 criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo em uma região ou em um domínio de disponibilidade. Cada sub-rede consiste em um intervalo ininterrupto de endereços que não se sobrepõem às 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.
- Oracle Cloud Applications
Nossa suíte completa de aplicativos SaaS na nuvem traz processos consistentes e uma única fonte de verdade nas funções de negócios mais importantes - desde o planejamento de recursos empresariais, gerenciamento da cadeia de suprimentos e gerenciamento de capital humano até a publicidade e a experiência do cliente. Os aplicativos ajudam a melhorar o envolvimento dos clientes, aumentar a agilidade dos negócios e reagir às mudanças mais rápido do que nunca.
- Integração
O Oracle Integration é um serviço totalmente gerenciado que permite integrar seus aplicativos, automatizar processos, obter insight sobre seus processos de negócios e criar aplicativos visuais.
- Autonomous Database
O Oracle Cloud Infrastructure Autonomous Database é um ambiente de banco de dados pré-configurado totalmente gerenciado que você pode usar para cargas de trabalho de processamento de transações e data warehousing. Não é necessário configurar ou gerenciar qualquer hardware ou instalar qualquer 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.
- API Gateway
O Oracle API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede e que você pode expor à internet pública, se necessário. Os pontos finais suportam validação de API, transformação de solicitação e resposta, CORS, autenticação e autorização e limitação de solicitação.
- VPN entre Sites
A VPN Site a Site fornece conectividade IPSec VPN entre sua rede local e VCNs no Oracle Cloud Infrastructure. A suíte de protocolos IPSec criptografará o tráfego IP antes que os pacotes sejam transferidos da origem para o destino e decriptografará o tráfego quando ele chegar.
-
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 maior largura de banda e uma experiência de rede mais confiável quando comparado com conexões baseadas em internet.
- Funções
O Oracle Functions é uma plataforma totalmente gerenciada, multitenant, altamente escalável, sob demanda, do Functions-as-a-Service (FaaS). É alimentado pelo mecanismo de código aberto do Fn Project. As funções permitem que você implante seu código e o chame diretamente ou acione em resposta a eventos. O Oracle Functions usa contêineres Docker hospedados no Oracle Cloud Infrastructure Registry.
Recomendações
- Rede virtual na nuvem (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.
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.
- 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 em busca de pontos fracos de segurança e para monitorar operadores e usuários em busca de atividades de risco. Quando qualquer atividade de configuração incorreta ou insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a tomar essas ações, com base nas receitas do respondedor que você pode definir.
Para recursos que exigem segurança máxima, a Oracle recomenda que você use zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança que se baseiam nas melhores práticas. Por exemplo, os recursos em 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 com relação às políticas na receita de zona de segurança e negará as operações que violarem qualquer uma das políticas.
Considerações
Ao implantar um Oracle API Gateway, considere as opções a seguir.
- Desempenho
O OCI API Gateway suporta cache de resposta integrando-se a um servidor de cache externo (como um servidor Redis ou KeyDB), que ajuda a evitar carga desnecessária em serviços de back-end. Quando as respostas são armazenadas em cache, se forem recebidas solicitações semelhantes, elas poderão ser concluídas com a recuperação de dados de um cache de resposta, em vez de enviar a solicitação ao serviço de backend. Isso reduz a carga nos serviços de backend e, portanto, ajuda a melhorar o desempenho e reduzir custos.
O OCI API Gateway também armazena em cache Tokens de Autenticação (com base no tempo necessário para sair do TTL), reduzindo a carga no Provedor de Identidades e melhorando o desempenho.
- Segurança
Os serviços de nuvem do OCI usam políticas do IAM, como permitir que o API Gateway chame funções. O API Gateway também pode controlar o acesso usando autenticação e autorização OAuth. O IAM permite autenticação e autorização que podem ser federadas via IAM - como resultado, o API Gateway tem o poder de autenticação em relação a uma ampla variedade de serviços e configurações de autenticação.
- Alta Disponibilidade
Considere usar uma opção de alta disponibilidade com base em seus requisitos de implantação e região. As opções incluem a distribuição de recursos entre diversos domínios de disponibilidade em uma região e a distribuição de recursos entre os domínios de falha dentro de um domínio de disponibilidade. Os domínios de falha fornecem a melhor resiliência para cargas de trabalho implantadas em um único domínio de disponibilidade. Para obter alta disponibilidade na camada de aplicativos, implante os servidores de aplicativos em diferentes domínios de falha e use um balanceador de carga para distribuir o tráfego do cliente nos servidores de aplicativos.