A Apigee híbrida é uma plataforma para desenvolver e gerenciar proxies de API com um modelo de implantação híbrida. O modelo híbrido inclui um plano de gerenciamento hospedado pela Apigee na nuvem e um plano de ambiente de execução que você instala e gerencia em uma das plataformas compatíveis do Kubernetes.
Gerencie todas as APIs em um só lugar |
A Apigee híbrida ajuda você a gerenciar APIs internas e externas com o Google Cloud. Com o gerenciamento de APIs unificado, é possível oferecer a desenvolvedores, parceiros e clientes uma experiência consistente de programa de API. |
Alie segurança e conformidade |
Se suas necessidades de segurança e conformidade fazem com que a implantação no local seja obrigatória para seus aplicativos, com um gateway híbrido de nível corporativo, é possível hospedar e gerenciar o plano de ambiente de execução da Apigee híbrida no local. Gerencie e controle o ambiente de execução e aproveite sua infraestrutura atual de segurança, governança e conformidade. |
Sustente sua estratégia de várias nuvens |
Equilibrar o custo e o desempenho pode levar a uma estratégia híbrida. Não importa se você está apenas explorando diferentes provedores de nuvem ou se já escolheu uma estratégia híbrida, sua plataforma de gerenciamento de APIs deve oferecer a flexibilidade necessária. Hospede e gerenciar gateways híbridos de nível empresarial em todo seu data center, no Google Cloud ou em ambos. |
Para saber mais sobre a Apigee híbrida:
|
Para instalar a Apigee híbrida:
|
Programas de API em um mundo híbrido
A Apigee híbrida consiste em um plano de gerenciamento mantido pelo Google e um plano de ambiente de execução instalado em uma plataforma compatível do Kubernetes. Os dois planos usam serviços do Google Cloud Platform, como mostra a imagem a seguir:
O modelo híbrido consiste nos seguintes componentes principais:
- Plano de gerenciamento gerenciado pela Apigee: um conjunto de serviços hospedados na nuvem e mantidos pelo Google. Esses serviços incluem a IU, a API de gerenciamento e as análises.
Plano de ambiente de execução gerenciado pelo cliente: um conjunto de serviços de ambiente de execução em contêiner que você configura e mantém no seu próprio cluster do Kubernetes. Todo o tráfego da API passa e é processado no plano do ambiente de execução.
Você gerencia o ambiente de execução em contêineres em seu cluster do Kubernetes para ter maior agilidade com lançamentos graduais, escalonamento automático e outros benefícios operacionais de contêineres.
- Google Cloud: um conjunto de serviços do Cloud hospedado pelo Google.
Uma coisa importante que você precisa saber sobre o modelo híbrido é que todo o tráfego de API é processado dentro dos limites da rede e sob seu controle, enquanto os serviços de gerenciamento, como a IU e a análise da API, são executados na nuvem e são mantidos pelo Google. Para saber mais, consulte Onde seus dados são armazenados?
O vídeo a seguir mostra a arquitetura híbrida mais detalhadamente:
Sobre o plano de ambiente de execução
O plano de ambiente de execução é um conjunto de serviços de ambiente de execução em contêineres que você configura e mantém em seu próprio cluster do Kubernetes executado em uma plataforma Kubernetes compatível. Todo o tráfego da API passa e é processado no plano do ambiente de execução. O plano de ambiente de execução inclui os seguintes componentes principais:
O plano de ambiente de execução é executado em um cluster do Kubernetes em uma plataforma do Kubernetes compatível mantida por você.
A imagem a seguir mostra os principais serviços executados no plano de ambiente de execução:
Para informações gerais sobre os componentes do ambiente de execução, consulte as seções a seguir. Além disso, consulte Visão geral da configuração do serviço de ambiente de execução.
Nas seções a seguir, descrevemos cada um desses serviços de plano de ambiente de execução primário em mais detalhes.
Processador de mensagens
Os processadores de mensagens híbridas (MPs, na sigla em inglês) processam solicitações de API e executam políticas no plano de ambiente de execução. Os MPs carregam todos os proxies, recursos, servidores de destino, certificados e keystores implantados do armazenamento local. Você configura um controlador de entrada do Istio para expor os MPs a solicitações provenientes de fora do cluster.
Sincronizador
O Sincronizador busca dados de configuração sobre um ambiente de API do plano de gerenciamento e os propaga no plano de ambiente de execução. Esses dados salvos também são chamados de contrato e são armazenados no sistema de arquivos local.
O Sincronizador verifica se há alterações no Servidor de gerenciamento e faz o download de uma nova configuração sempre que alterações forem detectadas. Os dados de configuração são recuperados e armazenados localmente como um arquivo JSON no sistema de arquivos local, onde os processadores de mensagens podem acessá-los.
Os dados de configuração do download permitem que o plano de ambiente de execução funcione independentemente do plano de gerenciamento. Com o contrato, os Processadores de mensagens no plano de ambiente de execução usam os dados armazenados localmente como a configuração. Se a conexão entre o plano de gerenciamento e o de ambiente de execução ficar inativa, os serviços no plano de ambiente de execução continuarão funcionando.
Os dados de configuração incluídos no download do Sincronizador incluem:
- Pacotes de proxy e implantações de fluxo compartilhado
- Ganchos de fluxo
- Informações do ambiente
- Recursos da API compartilhada
- Definições do servidor de destino
- Configurações de TLS
- Nomes do mapa de chave-valor (KVM)
- Máscaras de dados
Armazenamento de dados do Cassandra
O Apache Cassandra é o armazenamento de dados do ambiente de execução que fornece persistência de dados para o plano de ambiente de execução.
O Cassandra é um sistema de dados distribuído que fornece persistência de dados no plano do ambiente de execução. Implante o banco de dados do Cassandra como um pool de nós StatefulSet no cluster do Kubernetes. Localizar essas entidades perto dos serviços de processamento de ambiente de execução ajuda a atender aos requisitos de segurança e alta escalonabilidade.
O banco de dados do Cassandra armazena informações sobre as seguintes entidades:
- Sistema de gerenciamento de chaves (KMS)
- Mapa de chave-valor (KVM)
- Cache de resposta
- OAuth
- Cotas
API Management para dados do ambiente de execução (MART)
Os dados que pertencem à sua organização e são acessados durante as chamadas de API do ambiente de execução são armazenados pelo Cassandra no plano de ambiente de execução.
Esses dados incluem:
- Configurações do aplicativo
- Dados do Key Management System (KMS)
- Cache
- Mapas de chave-valor (KVMs)
- Produtos de API
- Apps para desenvolvedores
Para acessar e atualizar esses dados, por exemplo, para adicionar uma nova KVM ou remover um ambiente, use a IU da Apigee híbrida ou as APIs Apigee. O servidor MART (API de gerenciamento para dados do ambiente de execução) processa as chamadas de API no armazenamento de dados do ambiente de execução.
Nesta seção, descrevemos o papel que o MART desempenha ao chamar as APIs Apigee para acessar o armazenamento de dados do ambiente de execução.
O que é o MART | Para chamar uma API Apigee, você envia uma solicitação autenticada ao servidor de gerenciamento (MS, na sigla em inglês) no plano de gerenciamento. O MS autentica e autoriza a solicitação e a encaminha para o MART no plano de ambiente de execução. Anexada a essa solicitação, há um token gerado pelo MS usando uma conta de serviço pré-configurada. O MART recebe a solicitação, autentica-a e a autoriza para, em seguida, realizar a validação da empresa. Por exemplo, se o app fizer parte de um produto de API, o MART garantirá que ela seja uma solicitação válida. Depois de determinar que uma solicitação é válida, o MART a processa. O Cassandra armazena os dados de ambiente de execução que o MART processa (ou seja, depois de um armazenamento de dados de ambiente de execução). O MART pode ler dados do Cassandra ou atualizá-los, dependendo do tipo de solicitação. Como a maioria dos serviços híbridos, o MART não tem estado. Ele não mantém estado próprio no ambiente de execução. |
O que o MART não é | O plano de gerenciamento se comunica com o MART por meio do agente do Apigee Connect, que usa uma conta de serviço com o papel de agente da Apigee Connect (a conta de serviço da MART na maioria das instalações). Você não chama o MART diretamente. Além disso, o MART não recebe solicitações de proxy de API. Essas chamadas são processadas pelo controlador de entrada do ambiente de execução e são roteadas para os processadores de mensagens do seu cluster. |
Vale ressaltar que tanto o MART quanto os processadores de mensagens têm acesso ao mesmo armazenamento de dados de ambiente de execução (Cassandra), que é como dados como KMS, KVMs e caches são compartilhados.
A imagem a seguir mostra o fluxo de uma chamada de API da Apigee:
UDCA
O Agente de coleta de dados universais (UDCA, na sigla em inglês) é um serviço em execução no pod de coleta de dados no plano de ambiente de execução que extrai dados de análise, rastreamento e de implantação e os envia para o UAP.
Para mais informações, consulte Coleta de dados de status de depuração, análise e implantação.
Sobre o plano de gerenciamento
O plano de gerenciamento é executado no Google Cloud. Ele inclui serviços administrativos como:
- IU da Apigee híbrida: fornece uma IU para que os desenvolvedores criem e implantem proxies de API, configurem políticas, criem produtos de API e criem aplicativos de desenvolvedor. Os administradores podem usar a IU da Apigee híbrida para monitorar o status da implantação.
- APIs Apigee: fornecem uma interface programática para gerenciar sua organização e ambientes.
- Plataforma unificada de análise (UAP, na sigla em inglês): recebe e processa dados de status de análise e implantação do plano de ambiente de execução.
A imagem a seguir mostra os principais serviços executados no plano de gerenciamento:
Sobre os serviços do Google Cloud
Na tabela a seguir, descrevemos os principais serviços do Google Cloud que as soluções híbridas usam:
Serviço do Google Cloud | Descrição |
---|---|
Identity | A autenticação de conta de usuário usa contas do Google Cloud. A autorização usa contas de serviço do Google Cloud. |
Papéis | O gerenciamento de acesso para modelo híbrido usa o mecanismo de papéis do Google, o IAM, e aceita papéis padrão da Apigee. |
Hierarquia de recursos | Os recursos são organizados em projetos do Google Cloud (vinculados à organização da Apigee). |
Operações do Cloud | Fornece análise e métricas de dados de geração de registros. |
Tipos de usuários
A Apigee identificou os seguintes tipos principais de usuários híbridos:
Papel | Responsabilidades/tarefas típicas | Áreas de interesse |
---|---|---|
Administradores/operadores do sistema |
|
|
Desenvolvedores |
|
|
Vantagens
A Apigee híbrida tem as seguintes vantagens:
- Maior agilidade
- Como o modelo híbrido é oferecido e executado em contêineres, é possível ter lançamentos graduais, escalonamento automático e outros benefícios operacionais de um sistema em contêiner.
- Latência reduzida
- Toda a comunicação com o plano de gerenciamento híbrido é assíncrona e não acontece como parte do processamento de solicitações da API do cliente.
- Maior adoção da API
- É possível processar APIs internas usando a Apigee, mas a latência e a eficiência reduzidas que você pode conseguir com o processamento das APIs internas com a híbrida são uma opção atraente. Parte dessa eficiência é alcançada porque o gateway de API é executado no local, próximo aos serviços de back-end. Além disso, se estiver na Apigee, é possível aumentar a adoção da Apigee por meio do processamento de APIs internas por meio de ambientes híbridos.
- Maior controle
- Muitas empresas estão começando a implantar uma estratégia híbrida. A capacidade de gerenciar ambientes de execução de APIs implantados em data centers particulares é um requisito fundamental para grandes empresas. Atualmente, o plano de execução híbrido pode ser implantado no Google Cloud ou no seu próprio data center.
Próxima etapa
Consulte o quadro geral, uma visão do processo de instalação híbrida.