O que é o Apigee Hybrid?

Imagem estilizada da implementação

O Apigee Hybrid é uma plataforma para desenvolver e gerir proxies de API que apresenta um modelo de implementação híbrido. O modelo híbrido inclui um plano de gestão alojado pelo Apigee na nuvem e um plano de tempo de execução que instala e gere numa das plataformas Kubernetes suportadas.

Faça a gestão de todas as suas APIs num único local

O Apigee hybrid ajuda a gerir APIs internas e externas com o Google Cloud.

Com a gestão unificada de APIs, pode oferecer aos seus programadores, parceiros e clientes uma experiência de programa de API consistente.

Aborde a segurança e a conformidade

Se as suas considerações de conformidade e segurança tornarem a implementação no local uma obrigação para as suas aplicações, com um gateway híbrido de nível empresarial, pode alojar e gerir o plano de tempo de execução híbrido do Apigee nas suas instalações.

Faz a gestão e o controlo do tempo de execução, o que lhe permite tirar partido da sua infraestrutura de conformidade, governação e segurança existente.

Apoie a sua estratégia de várias nuvens

Equilibrar o custo e o desempenho pode levar a uma estratégia híbrida.

Quer esteja apenas a explorar diferentes fornecedores de nuvem ou já tenha escolhido uma estratégia híbrida, a sua plataforma de gestão de APIs deve oferecer-lhe a flexibilidade de que precisa. Alojamento e gestão de gateways híbridos de nível empresarial no seu centro de dados, no Google Cloud ou em ambos.

 

Para saber mais sobre o híbrido:

Continuar a ler

 

 

Para instalar o híbrido:

Vamos lá!

 

Programas de API num mundo híbrido

O Apigee hybrid consiste num plano de gestão mantido pela Google e num plano de tempo de execução que instala numa plataforma Kubernetes suportada. Ambos os planos usam os serviços da Google Cloud Platform, conforme mostra a imagem seguinte:

Uma vista de alto nível
  da plataforma híbrida, incluindo o plano de gestão, o plano de tempo de execução e os serviços Google Cloud

Como pode ver, o híbrido é composto pelos seguintes componentes principais:

  • Plano de gestão executado no Apigee: um conjunto de serviços alojados na nuvem e mantidos pela Google. Estes serviços incluem a IU, a API de gestão e as estatísticas.
  • Plano de tempo de execução gerido pelo cliente: um conjunto de serviços de tempo de execução em contentores que configura e mantém no seu próprio cluster do Kubernetes. Todo o tráfego da API passa e é processado no plano de tempo de execução.

    Gerir o tempo de execução em contentores no seu cluster do Kubernetes para uma maior agilidade com implementações faseadas, dimensionamento automático e outras vantagens operacionais dos contentores.

  • Google Cloud: um conjunto de serviços na nuvem alojados pela Google.

Um aspeto fundamental a saber sobre o híbrido é que todo o tráfego da API é processado dentro dos limites da sua rede e sob o seu controlo, enquanto os serviços de gestão, como a IU e as estatísticas da API, são executados na nuvem e são mantidos pela Google. Para mais informações, consulte o artigo Onde são armazenados os seus dados?

O vídeo seguinte explica detalhadamente a arquitetura híbrida:

Acerca do plano de tempo de execução

O plano de tempo de execução é um conjunto de serviços de tempo de execução em contentores que configura e mantém no seu próprio cluster do Kubernetes em execução numa plataforma do Kubernetes suportada. Todo o tráfego da API passa e é processado no plano de execução. O plano de tempo de execução inclui os seguintes componentes principais:

O plano de tempo de execução é executado num cluster Kubernetes que é executado numa plataforma Kubernetes suportada que mantém.

A imagem seguinte mostra os serviços principais que são executados no plano de tempo de execução:

Serviços principais que são executados no plano de tempo de execução híbrido

Para ver informações gerais sobre os componentes de tempo de execução, consulte as secções que se seguem. Além disso, consulte a vista geral da configuração do serviço de tempo de execução.

As secções seguintes descrevem cada um destes serviços do plano de execução principal mais detalhadamente.

Processador de mensagens

Os processadores de mensagens (MPs) híbridos oferecem processamento de pedidos de API e execução de políticas no plano de tempo de execução. Os MPs carregam todos os proxies, recursos, servidores de destino, certificados e keystores implementados a partir do armazenamento local. Configura um gateway de entrada do Apigee para expor os MPs a pedidos provenientes de fora do cluster.

Sincronizador

O sincronizador obtém dados de configuração sobre um ambiente de API a partir do plano de gestão e propaga-os no plano de tempo de execução. Estes dados transferidos também são denominados contrato e são armazenados no sistema de ficheiros local.

O sincronizador consulta periodicamente o servidor de gestão para verificar se existem alterações e transfere uma nova configuração sempre que são detetadas alterações. Os dados de configuração são obtidos e armazenados localmente como um ficheiro JSON no sistema de ficheiros local, onde os processadores de mensagens podem aceder aos mesmos.

Os dados de configuração transferidos permitem que o plano de tempo de execução funcione independentemente do plano de gestão. Com o contrato, os processadores de mensagens no plano de tempo de execução usam os dados armazenados localmente como configuração. Se a ligação entre o plano de gestão e o plano de execução falhar, os serviços no plano de execução continuam a funcionar.

Os dados de configuração transferidos pelo sincronizador incluem:

Armazenamento de dados do Cassandra

O Apache Cassandra é o armazenamento de dados de tempo de execução que oferece persistência de dados para o plano de tempo de execução.

O Cassandra é um sistema de dados distribuídos que oferece persistência de dados no plano de tempo de execução. Implementa a base de dados Cassandra como um node pool StatefulSet no seu cluster Kubernetes. A localização destas entidades perto dos serviços de processamento de tempo de execução ajuda a suportar os requisitos de segurança e elevada escalabilidade.

A base de dados Cassandra armazena informações sobre as seguintes entidades:

  • Sistema de gestão de chaves (KMS)
  • Mapa de chaves-valores (KVM)
  • OAuth
  • API Management para dados de tempo de execução (MART)
  • Dados de rentabilização
  • Quotas
  • Cache de respostas

API Management para dados de tempo de execução (MART)

Os dados que pertencem à sua organização e aos quais se acede durante as chamadas da API de tempo de execução são armazenados pelo Cassandra no plano de tempo de execução.

Estes dados incluem:

  • Configurações da aplicação
  • Dados do sistema de gestão de chaves (KMS)
  • Cache
  • Mapas de chaves-valores (KVMs)
  • Produtos API
  • Apps de programadores

Para aceder e atualizar esses dados, por exemplo, para adicionar um novo KVM ou remover um ambiente, pode usar a IU híbrida do Apigee ou as APIs Apigee. O servidor MART (Management API for Runtime data) processa as chamadas da API em relação ao repositório de dados de tempo de execução.

Esta secção descreve a função que o MART desempenha quando chama as APIs Apigee para aceder ao repositório de dados de tempo de execução.

 
O que é o MART

Para chamar uma API Apigee, envia um pedido autenticado para o servidor de gestão (MS) no plano de gestão. O MS autentica e autoriza o pedido e, em seguida, encaminha o pedido para o MART no plano de tempo de execução. Anexado a esse pedido está um token que o MS gerou através de uma conta de serviço pré-configurada.

O MART recebe o pedido, autentica-o e autoriza-o e, em seguida, realiza a validação da empresa. (Por exemplo, se a app fizer parte de um produto de API, o MART garante que se trata de um pedido válido.) Depois de determinar que um pedido é válido, o MART processa-o.

O Cassandra armazena os dados de tempo de execução que o MART processa (afinal, é um armazenamento de dados de tempo de execução). O MART pode ler dados do Cassandra ou pode atualizar esses dados, consoante o tipo de pedido.

Tal como a maioria dos serviços híbridos, o MART não tem estado: não mantém o seu próprio estado no tempo de execução.

O que NÃO é o MART

O plano de gestão comunica com o MART através do agente do Apigee Connect, que usa uma conta de serviço com a função de agente do Apigee Connect (a conta de serviço do MART na maioria das instalações). Não chama diretamente o MART.

Além disso, o MART não recebe pedidos de proxy de API. Essas chamadas são processadas pelo controlador de entrada de tempo de execução e são encaminhadas para os processadores de mensagens do cluster.

 

É importante salientar que o MART e os processadores de mensagens têm acesso ao mesmo arquivo de dados de tempo de execução (Cassandra), que é a forma como os dados, como o KMS, os KVMs e as caches, são partilhados.

A imagem seguinte mostra o fluxo de uma chamada da API Apigee:

Fluxo de chamadas API no modo híbrido

UDCA

O agente de recolha de dados universal (UDCA) é um serviço executado no pod de recolha de dados no plano de tempo de execução que extrai dados de estatísticas, depuração e estado de implementação e envia-os para o UAP.

Para mais informações, consulte o artigo Recolha de dados de depuração, estatísticas e estado de implementação.

Acerca do plano de gestão

O plano de gestão é executado no Google Cloud. Inclui serviços administrativos, como:

  • IU híbrida do Apigee: fornece uma IU para os programadores criarem e implementarem proxies de API, configurarem políticas, criarem produtos de API e criarem apps de programadores. Os administradores podem usar a IU híbrida do Apigee para monitorizar o estado da implementação.
  • APIs Apigee: oferecem uma interface programática para gerir a sua organização e ambientes.
  • Plataforma de análise unificada (UAP): recebe e processa dados de análise e do estado de implementação do plano de tempo de execução.

A imagem seguinte mostra os serviços principais que são executados no plano de gestão:

Serviços que são executados no plano de gestão híbrido do Apigee

Dados do plano de gestão e residência de dados

Se a sua instalação estiver a usar a residência de dados, pode especificar a região na qual estes dados são armazenados. Consulte o artigo Usar a residência de dados com o Apigee Hybrid.

Acerca dos serviços Google Cloud

A tabela seguinte descreve os principais serviços da Google Cloud que a solução híbrida usa:

Serviço do Google Cloud Descrição
Identidade A autenticação de contas de utilizador usa contas do Google Cloud. A autorização usa contas de serviço do Google Cloud.
Funções A gestão de acesso para utilizações híbridas usa o motor de funções da Google, o IAM e suporta funções do Apigee predefinidas.
Hierarquia de recursos Os recursos estão organizados em projetos do Google Cloud (associados a organizações do Apigee).
Operações na nuvem Fornece análise de dados de registo e métricas.
 

Tipos de utilizadores

O Apigee identificou os seguintes tipos principais de utilizadores híbridos:

Função Responsabilidades/tarefas típicas Áreas de interesse
Administradores/operadores de sistemas
  • Instale e configure serviços no plano de tempo de execução do híbrido
  • Configure o Google Cloud, o Apigee e as contas de serviço
  • Crie serviços e projetos do Google Cloud
  • Faça a gestão do cluster Kubernetes
  • Manter todas as opções acima
  • Resolva problemas com os proxies de API
Programadores
  • Crie proxies de API através da IU do Apigee Hybrid ou das APIs Apigee
  • Implemente proxies de API no plano de tempo de execução
  • Resolva problemas com os proxies de API
  • Teste os proxies da API
 

Vantagens

O Apigee Hybrid tem as seguintes vantagens:

Maior agilidade
Uma vez que a solução híbrida é fornecida e executada em contentores, pode alcançar implementações faseadas, o dimensionamento automático e outras vantagens operacionais de um sistema em contentores.
Latência reduzida
Toda a comunicação com o plano de gestão híbrido é assíncrona e não ocorre como parte do processamento de pedidos da API do cliente.
Adoção da API aumentada
Embora seja possível processar APIs internas com o Apigee, a latência e a eficiência reduzidas que pode alcançar com o híbrido tornam o processamento de APIs internas com o híbrido uma opção atrativa. Parte desta eficiência é alcançada porque o gateway de API é executado no local, perto dos seus serviços de back-end. Além disso, se estiver no Apigee, pode aumentar a sua adoção do Apigee processando APIs internas através do híbrido.
Maior controlo
Muitas empresas estão a adotar uma estratégia híbrida. A capacidade de gerir os tempos de execução da API implementados em centros de dados privados é um requisito fundamental para as grandes empresas. Atualmente, o plano de tempo de execução híbrido pode ser implementado no Google Cloud ou no seu próprio centro de dados.

Passo seguinte

Veja o panorama geral: uma vista geral do processo de instalação híbrida.