APIs
7
min de leitura
17 de fevereiro de 2022

API Gateway no Multiverso de APIs

Marcelo Dias
Solutions Architect
Profissional de tecnologia da informação certificado em computação em nuvem, arquitetura orientada a serviços (SOA), orquestração de contêineres (Kubernetes e OpenShift), Java EE e serviços Web.
Mais sobre o autor

Nas minhas interações com os clientes para discutir soluções envolvendo o uso de uma plataforma de API Management, o caso de uso de integração com parceiros consumindo APIs expostas pela empresa é um cenário comum e geralmente bem compreendido. Porém, ainda há algumas dúvidas quando falamos do uso da plataforma de API Management para consumir as APIs disponibilizadas por parceiros.

O diagrama abaixo ilustra de forma simples um cenário comum de uso de uma plataforma de API Management, expondo seus serviços de backend através de um API Gateway e consumidos por aplicações clientes, inclusive de parceiros de negócio.

Figura 1. Caso de uso comum e geralmente bem compreendido: parceiros consumindo APIs expostas por uma empresa através de um API Gateway

No cenário acima, a exposição de serviços de backend se dá no contexto de uma determinada empresa, que conecta seus sistemas legados, bancos de dados, web services, ERP e microsserviços na sua plataforma de API Management, provendo APIs para as aplicações clientes.  

Podemos entender este contexto como o Universo do Cliente.

Mas, em um mundo cada vez mais digital, conectado e aberto, a adoção de APIs para integração entre empresas e governos, de todos os tamanhos, se tornam o novo normal, alavancado pelos impactos da COVID-19.


Portanto, além do Universo de APIs do Cliente , há também outros contextos que precisam ser integrados: o Universo de APIs dos Parceiros Comerciais. E uma plataforma API Management pode ser uma peça chave para a integração bem sucedida desses diferentes contextos de APIs.

Figura 2. Uso do API Gateway para integrar com APIs internas e APIs fornecidas por parceiros comerciais

Por que conectar as APIs de meus parceiros ao meu API Gateway? 

Imagine que seu parceiro de negócio exponha APIs bem documentadas para que você possa consumi-las em suas aplicações. Então, por que você iria incluir seu API Gateway como mais uma camada de arquitetura nesta integração? De forma resumida, a resposta é Segurança & Controle e Otimização de Custos.

O API Gateway é o principal componente de uma plataforma de API Management. São inúmeros os benefícios na adoção de uma plataforma de APIs, como segurança, governança, conexões e transformações, entre outros. Esses benefícios se aplicam tanto para suas APIs internas, que você está expondo para as aplicações clientes, quanto para as APIs de seus parceiros que você precisa consumir.

Segurança & Controle

  • Todas as operações das APIs oferecidas por seu parceiro serão utilizadas em seus processos de negócio?  
  • Todas as áreas da sua empresa poderão acessar todas as APIs, e respectivas operações, disponibilizadas pelo seu parceiro?
  • Há dados sensíveis ou confidenciais trafegados nessas APIs que devem ser ofuscados ou criptografados?
  • E quando o parceiro lançar uma nova versão da API, você consegue realizar uma análise de impacto nas suas aplicações que consomem tais APIs?
  • O próprio parceiro pode gerenciar as APIs fornecidas por ele diretamente no seu API Gateway?

Essas são algumas perguntas que ajudam a entender o porquê você deveria conectar as APIs de seus parceiros no seu API Gateway em vez de uma conexão direta da suas aplicações com essas APIs.

Nem sempre você necessita utilizar todas as operações disponibilizadas por uma API, principalmente quando há custo envolvido. Ao integrar as APIs de seus parceiros no seu API Gateway, você pode optar por expor somente as APIs e operações necessárias para os seus processos de negócio, evitando o uso indevido de alguma operação.

Outra questão importante é a segurança envolvida nestas APIs. Com o uso do API Gateway você pode criar planos de acesso específico para cada aplicação cliente, limitando o acesso somente às operações que aquela aplicação precisa ter (princípio do menor privilégio) e evitando o compartilhamento das credenciais de acesso, disponibilizado pelo seu parceiro, para todas as aplicações cliente que necessite consumir alguma operação da API.

Para APIs que tratam dados sensíveis ou confidenciais, você tem a opção de configurar políticas adicionais de segurança no seu API Gateway para criptografar algum dado ou até mesmo ofuscar dados nos logs de auditoria.

E quando o seu parceiro lançar uma nova versão da API, você poderá facilmente realizar uma análise de impacto a partir do seu API Gateway, identificando quais aplicações clientes consomem determinada API e, assim, elaborar um plano de trabalho adequado para se adequar a nova versão e descontinuar o uso da versão antiga da API.

Em um cenário mais avançado de segurança, é possível que seus parceiros gerenciem as APIs fornecidas por eles diretamente no seu API Gateway, através de recursos de segurança como controle de organizações, equipes e perfis, determinando regras de visibilidade para os recursos e objetos do seu API Gateway, integrando com repositórios de usuários externos através de protocolos como LDAP ou SAML 2.0.

Otimização de custos

É cada vez mais comum que as APIs fornecidas pelos parceiros de negócio sejam monetizadas. As APIs são tratadas como produtos dessas empresas, gerando receita através de cobrança pelo seu consumo, geralmente baseado no número de chamadas às essas APIs.

Com a inclusão das APIs de seus parceiros no seu API Gateway, você pode implementar políticas para controle de chamadas às essas APIs, limitando a quantidade de chamadas em um período de tempo (rate limit) ou evitar picos de chamadas (spike arrest), mesmo que ainda não tenha atingido os limites estabelecidos.

Há também a possibilidade de configuração de uma política de cache na chamada das APIs, evitando alguns acionamentos nas APIs de seus parceiros para operações onde o dado não sofra alterações de forma tão dinâmica.

Conclusão

Neste artigo, procurei explorar um pouco o cenário de integração com parceiros de negócio através do seu API Gateway em uma perspectiva onde o parceiro provê os serviços a serem consumidos pela sua empresa, em complemento à um cenário mais comum onde um parceiro de negócio consome as APIs fornecidas pela sua empresa.

Há diversos benefícios no uso de um API Gateway, como segurança, governança, conexões e transformações, entre outros, mas aqui destaquei principalmente segurança e controle, além de otimização de custos.

Para saber mais...

  • Apoio ao ecossistema do parceiro: Use APIs para simplificar o desenvolvedor onboarding e impulsionar seu ecossistema parceiro, reduzindo os ciclos de integraçã o de meses para semanas -  
  • O Centro de Recursos oferece vários materiais preparados por especialistas da Sensedia, desde Guias de Projeto e Referência até Roteiros de Adoção de APIs e Microserviços - https://www.sensedia.com/resources 
  • Em Sensedia Docs você encontrará informações técnicas sobre como configurar e usar os produtos Sensedia, tanto da Plataforma API como de seus Add-ons, tais como Adaptive Governance, Connectors, Events Hub, Flexible Actions e Service Mesh - https://docs.sensedia.com/ 
  • No Centro de Ajuda, além da possibilidade de os clientes abrirem chamadas, há também alguns artigos com conteúdo técnico mais especializado sobre configurações e uso da plataforma - https://sensedia.zendesk.com/ 

Como Developer Experience pode transformar sua comunidade e seu engajamento com os desenvolvedores - https://www.sensedia.com/developer-experience

Obrigado pela leitura!