Apigee — O Gerenciador de APIs do Google

Uma plataforma para desenvolvimento e gerenciamento de APIs

Daísa Fernandes
gb.tech
7 min readJul 22, 2022

--

Apigee é uma plataforma para desenvolvimento e gerenciamento de APIs. Ele viabiliza serviços com uma camada de proxy, oferecendo uma fachada para as APIs, além de segurança, limitação de taxa, cotas, caches, análise e outros.

Bom mas antes de tudo, vamos ver o que seria uma API? 🙂

API (sigla para Application Programming Interface) é uma interface que facilita para um aplicativo ‘consumir’ recursos ou dados de outro aplicativo. As APIs permitem que os desenvolvedores acessem e reutilizem facilmente a lógica do aplicativo criada por outros desenvolvedores.

O Apigee consta com outras versões, mas aqui vamos nos focar apenas na Edge 😁.

O Apigee Edge permite que você forneça acesso seguro aos seus serviços com uma API bem definida que é consistente em todos os seus serviços, independentemente da implementação do serviço.

E com uma API consistente, se torna mais fácil para os desenvolvedores de aplicativos consumirem seus serviços. E permite alterar a implementação do serviço de backend sem afetar a API pública. Também permite que você utilize a análise, a monetização, o portal do desenvolvedor e outros recursos integrados ao Edge.
A imagem abaixo exibe uma arquitetura tratando as solicitações de para seus serviços de backend.

Apigee

Ao invés de os serviços serem consumidos diretamente, eles são acessados via um proxy criado no Apigee. Esse proxy funciona como um mapeamento de um endpoint da sua API, e esse proxy permite que o Apigee utilize as tarefas de segurança para proteger seus serviços, além de poder realizar análises, monitoramento e etc.

O proxy isola a sua API de maneira que se você pode alterar seu serviço, desde que a API permaneça consistente. Exemplo: alterar uma implementação de banco de dados, alterar para outro host, ou qualquer outro tipo de alteração. Você também pode usar políticas em seu proxy para adicionar funcionalidades a um serviço sem alterá-lo no backend. Por exemplo, você pode utilizar políticas para realizar transformações e filtragem de dados, adicionar segurança, executar lógica condicional ou código personalizado e realizar muitas outras ações. O importante a lembrar é que você implementa políticas no Apigee, não no seu servidor de backend.

👉 Logo abaixo temos os componentes do Apigee Edge.

Vamos ver mais sobre eles?! Então bora lá 🙃

Componente Develop

No componente de Develop, o Apigee oferece o Specs com suporte à criação de designs de API no formato Open API Specification, e com isso você poderá criar seus proxies importando o spec no momento da criação.

Aqui também temos a criação das Api Proxies que são fachadas entre os consumidores e os provedores da sua API, aqui você também pode aplicar várias políticas, quota checks e outros tipos de controle de acesso para sua API.

Já os Shared Flows são fluxos compartilhados que contém uma sequência de políticas, que pode ser utilizado como uma funcionalidade que pode ser compartilhadas e reutilizadas pelos proxies.

A ferramenta de Offline Trace permite visualizar e analisar sessões de rastreamento que foram salvas anteriormente, que pode lhe ajudar em casos de problemas difíceis de analisar.

Componente Publish

No componente de Publish, em Api Products, você cria os produtos para agrupar as suas APIs e disponibilizá-las para que os apps a possam consumir.

Em Portals, você poderá prover mais informações sobre sua API, como documentação, exemplos e também poderá incluir opção de autoatendimento de criação de app para credenciais.

Agora aqui em Developers que desenvolvedores são cadastrados para poder utilizar suas APIs. Depois de adicionados, os desenvolvedores registram seus aplicativos, escolhem as APIs que desejam usar e recebem as credenciais de API exclusivas (chaves e segredos do consumidor) necessárias para acessar suas APIs.

Os Apps são consumidores de API que foram registrados. Os aplicativos são registrados em uma organização para obter credenciais que permitem o acesso a um ou mais produtos de API. Os aplicativos podem ser associados a desenvolvedores (como aplicativos de desenvolvedor) ou a empresas (aplicativos de empresa).

Componente Analyse

Dentro de Api Monitoring, contamos com várias subcategorias como: Overview, Timeline, Investigate, Recent e Collections. Esse componente irá ajudar a detectar problemas de tráfego e desempenho, ele fornece insights contextuais em tempo real sobre o desempenho da API, auxilia a diagnosticar problemas rapidamente e facilita ações corretivas para a continuidade dos negócios.

Já dentro de Security Reporting, temos: Overview, Runtime, Configuration e User Activity. Esses relatórios fornecem informações detalhadas para garantir a adesão às políticas e requisitos de configuração, proteger as APIs contra abuso interno e externo e identificar e resolver rapidamente incidentes de segurança. Com os relatórios de segurança, você pode entender rapidamente como seus proxies de API são configurados para segurança, bem como as condições de tempo de execução que podem afetar a segurança do proxy. Ele também ajuda a proteger dados confidenciais fornecendo insights sobre o acesso e o comportamento do usuário, permitindo monitorar quem em sua organização está acessando e exportando informações confidenciais e identificando comportamentos suspeitos.

Em Events, quando o Apigee detecta uma condição de alerta, ele registra automaticamente essa condição no painel Eventos. A lista de eventos exibida inclui todos os alertas.

Em Alert Rules, você poderá adicionar alertas e notificações, ativar ou desativar um alerta, editar, pesquisar ou excluir alertas, também exibir um resumo das configurações de alerta que estão definidas no momento.

Api Metrics, dentro dessa opções contamos com: Api Proxy Performance que auxilia você a ver os padrões de tráfego do proxy da API e os tempos de processamento. Você pode visualizar facilmente quanto tráfego suas APIs geram e quanto tempo leva para que as chamadas de API sejam processadas, desde o momento em que são recebidas pelo Apigee até serem devolvidas ao aplicativo cliente. Cache Performance permite que você veja rapidamente o valor do cache do Apigee. O painel auxilia você a visualizar o benefício do cache em termos de servidores de backend de menor latência e carga reduzida. Error Code Analysis informa sobre as taxas de erro para proxies e destinos de API. Latency Analysis pode alertá-lo sobre quaisquer problemas de latência que seus proxies de API possam estar enfrentando. Target Performance ajuda você a visualizar padrões de tráfego e métricas de desempenho para destinos de backend de proxy de API.

Em Developers, temos Developer Engagement que informa quais desenvolvedores de aplicativos registrados estão gerando mais tráfego de API. Para cada um de seus desenvolvedores, você pode descobrir quem está gerando mais tráfego de API e mais erros. E temos também o Traffic Composition que mede a contribuição relativa de suas principais APIs, aplicativos, desenvolvedores e produtos para seu programa geral de API, você pode usar esse relatório para detectar problemas de negócios como tendências de tráfego mais baixas ou contribuição decrescente dos principais aplicativos e desenvolvedores.

Agora já dentro de End Users, temos Devices que informa sobre os dispositivos e servidores que estão sendo usados ​​para acessar suas APIs. E também temos o Geomap que rastreia padrões de tráfego, padrões de erro e qualidade de serviço em locais geográficos.

Aqui em Custom Reports, ficam os relatórios personalizados que permitem detalhar métricas de API específicas e visualizar os dados exatos que você deseja ver. Você pode criar um relatório personalizado usando qualquer uma das métricas.

Componente Admin

O Analytics Datastores coleta e analisa um amplo espectro de dados que fluem nas APIs e fornece ferramentas de visualização, incluindo painéis interativos, relatórios personalizados e outras ferramentas que identificam tendências no desempenho do proxy de API. Pode-se exportar dados de análise do Apigee Analytics para seu próprio repositório de dados como Google Cloud Storage ou Google BigQuery.

Em Audit Logs, podemos visualizar os logs de auditoria que fornecem acesso às ações (criar, atualizar, excluir) executadas em entidades gerenciadas pelo Apigee.

Agora os Environments: uma organização dentro do Apigee pode conter vários ambientes, como por exemplo: dev, test e prod. Aqui você pode escolher entre implantar seu proxy em um ou em todos ambientes. Aqui você também poderá configurar os Caches, KVMs (keys value maps), Target Servers entre outros.

Hoje o Apigee também tem a possibilidade de importar Extensions, para integrar recursos externos em seus proxies, Ex: recursos da GCP como o Cloud Storage.

Em Privacy and Security, é redirecionado para clientes sujeitos ao Regulamento geral de proteção de dados (GDPR), o Apigee permite identificar seu responsável pela proteção de dados e um representante da UE, incluindo o nome e as informações de contato.

Roles, as funções dentro do Apigee, são essencialmente conjuntos de permissões baseados em CRUD. Por exemplo, um usuário pode receber uma função que lhe permita ver sobre uma entidade protegida, mas não tem a permissão para atualizar ou excluir. O administrador da organização é a função de nível mais alto e tem permissões para realizar qualquer operação em entidades protegidas.

Hoje os usuários (também chamados de “organizations users”) dentro do Apigee são controlados em Users, ali é onde recebem as permissões criadas em Roles. Os usuários geralmente são membros que desenvolvem e testam as APIs, executam relatórios e realizam outras tarefas administrativas. Mas atenção, não confunda usuários da organização com desenvolvedores de aplicativos que são os consumidores das APIs.

No Apigee Edge, existe um roteador que lida com o todo tráfego de entrada. E um Virtual Host permite hospedar vários nomes de domínio em um servidor. O servidor corresponde a um Edge Router, e ao definir vários hosts virtuais em um roteador, o roteador pode manipular solicitações de API para vários nomes de domínio.

E finalmente 🙌 concluímos esse texto sobre o Apigee Edge. Apesar de haver outras versões do Apigee, eles possuem muitas coisas em comuns como você pode verificar nos docs, clicando aqui.

--

--