O que é um API Gateway?

O API Gateway é um gerenciador de tráfego que faz interface com o serviço de back-end real ou de dados e aplica políticas, autenticação e controle de acesso geral para chamadas de APIs de forma a proteger dados valiosos. O API Gateway é a maneira de controlar o acesso aos seus sistemas e serviços de back-end e foi projetado para otimizar a comunicação entre clientes externos e seus serviços de back-end, oferecendo aos seus clientes uma experiência perfeita. O API Gateway garante escalabilidade e alta disponibilidade de seus serviços. Ele é responsável por encaminhar a solicitação ao serviço apropriado e enviar uma resposta ao solicitante. O API Gateway mantém uma conexão segura entre seus dados e APIs e gerencia o tráfego e as solicitações das APIs, incluindo balanceamento de carga, tanto dentro quanto fora de sua empresa. O Gateway aplica políticas, autenticação e controle de acesso geral para chamadas de API de forma a proteger dados valiosos. O API Gateway recebe todas as chamadas de API de clientes e as encaminha para o microsserviço correto usando roteamento de solicitação, composição e tradução de protocolo.

Diagrama de API Gateway

Um dos principais motivos pelos quais o API Gateway é usado é que ele é capaz de chamar vários serviços de backend e agregar os resultados. Em vez dos clientes precisarem enviar uma solicitação para cada serviço individual, eles podem enviá-las para o API Gateway, que então passa a solicitação para o serviço relevante. Além disso, o API Gateway fornece uma alternativa para um estilo de API de tamanho único. O API Gateway também pode expor uma API diferente para cada cliente. Hoje uma necessidade nos ambientes em constante evolução.

E-book do API Gateway
O guia de sucesso definitivo para o gerente de produto de API
Aproveite o poder das APIs com um guia de sucesso em 7 partes sobre como as empresas podem criar programas de APIs para expandir os negócios digitais!

Por que usar o API Gateway?

Hoje em dia a maioria das APIs corporativas são implantadas usando gateways. Os API Gateways estão sendo mais usados devido ao aumento do uso de microsserviços. Os microsserviços permitem que um aplicativo seja dividido em vários serviços acoplados de maneira solta, porque cada microsserviço requer sua própria funcionalidade. Os microsserviços facilitam o desenvolvimento, a implantação e a manutenção das diferentes funções de um aplicativo, mas também podem dificultar o acesso dos clientes ao aplicativo de forma rápida e segura. O API Gateway é a solução para esse problema. Ao invés de fazer os clientes solicitarem acesso a cada microsserviço individualmente, o gateway é aquele único ponto de entrada para as solicitações, que as direciona ao serviço apropriado, reúne os resultados e os transmite de volta ao solicitante. O principal motivo para se usar um API Gateway, é o fato dessa função ser conhecida como roteamento pelos desenvolvedores. Por exemplo, os API Gateways ajudam sua empresa a gerenciar o tráfego gerado por chamadas de um aplicativo móvel como, por exemplo, o Uber e um aplicativo de back-end como o Google Maps.

Os API Gateways são vitais para o gerenciamento bem-sucedido de API . Como principal proxy que conecta seus clientes aos seus serviços, o gateway oferece suporte a importantes funções de administração e segurança, incluindo autenticação, coleta de métricas, validação de entrada e transformação de resposta.

Autenticação

Um API Gateway pode ser usado para autenticar chamadas de API. Dessa forma, mesmo que o cliente precise acessar dados de vários serviços, ele só precisará fazer a autenticação uma vez no gateway. Isso reduz a latência e garante que os processos de autenticação sejam consistentes em todo o aplicativo. Semelhante a como quando um passaporte é usado para verificar sua identidade ou um visto para provar que você tem permissão para trabalhar em um determinado país, o API Gateway fornece várias maneiras para os consumidores se autenticarem e obterem acesso aos seus recursos de API. Os API Gateways podem usar um dos muitos padrões abertos para determinar a identidade ou validade do consumidor (ou seja, OAuth, tokens JWT, chave API, HTTP Basic / Digest, SAML, etc.) ou pode usar meios não padrão para localizar credenciais nos cabeçalhos ou na carga útil da mensagem. Os API Gateways também podem chamar outros sistemas para verificar a identidade, da mesma forma que a polícia pode acessar um banco de dados de criminosos. Além disso, como na alfândega em um aeroporto, um API Gateway também pode verificar se há ameaças em um consumidor de API de entrada. Eles podem usar API Firewalling, validação de conteúdo e verificações de integridade de mensagem, que incluem determinar se uma API foi adulterada. Um API Gateway também pode delegar a avaliação de risco de uma API de entrada a um aplicativo de terceiros para que eles façam a determinação.

Coleção de métricas

Como todas as solicitações passam pelo API Gateway, ele é o local ideal para coletar análises de dados. Por exemplo, um API Gateway pode medir quantas solicitações um usuário está fazendo ou quantas solicitações estão sendo retransmitidas para cada microsserviço individual. O API Gateway também pode ser usado para limitar as solicitações. Se um usuário estiver enviando muitas solicitações, o gateway pode ser programado para rejeitá-las em vez de repassá-las a um dos microsserviços.

Validação de entrada

Na validação de entrada é o API Gateway que garante que todas as solicitações do cliente contenham as informações necessárias para concluir uma solicitação e que sejam fornecidas no formato correto. Se algo parecer errado, o gateway rejeitará a solicitação. Se todas as informações necessárias forem incluídas, o gateway encaminhará a solicitação para o microsserviço responsável por recuperar as informações solicitadas.

Transformação de resposta

A transformação de resposta é uma função importante dos API Gateways. Ele atua como o “tradutor” da informação. Por exemplo, se seu serviço de back-end deu uma resposta em XML, mas o solicitante precisa em JSON, o gateway cuidará disso automaticamente. Diferentes aplicativos e usuários geralmente precisam de acesso a diferentes informações. Os aplicativos móveis geralmente precisam de menos dados do que seus equivalentes da web para que o gateway possa fornecer as respostas corretas às solicitações, por exemplo. As solicitações de usuários internos provavelmente incluirão mais dados nas respostas. Alguns desses dados precisam ser protegidos com segurança antes de responder a uma solicitação semelhante de um usuário externo que é o trabalho do gateway.

Benefícios dos API Gateways

Agrupar seus microsserviços e torná-los acessíveis por meio do API Gateway fornece acesso seguro, mais rápido e fácil aos seus serviços. O uso de um API Gateway concede aos negócios digitais uma infinidade de benefícios adicionais, incluindo:

  • Tornar seus sistemas de API e back-end mais seguros por meio de uma abordagem de interface única
  • Oferecer controle total do ambiente de execução da API usando políticas extensíveis para segurança e controle de acesso, limitação, roteamento, mediação e gerenciamento de SLA.
  • A escrita de um código mais simples, tanto para os seus serviços quanto para os usuários do seu aplicativo
  • Diminuição de latência ao longo do tempo devido a menos chamadas de entrada e saída
  • Acesso mais rápido e fácil a todos os microsserviços
  • Diminuição da carga de trabalho em cada microsserviço ou balanceamento de carga individual
  • Coleta abrangente de métricas

Outros benefícios de um API Gateway são: ele oculta como seu aplicativo é particionado pelo solicitante ou cliente, os clientes não precisam mais saber a localização de todos os seus serviços individuais e fornece a API ideal para cada solicitação, independentemente do código usado .

O sucesso de seus aplicativos pode depender de um poderoso API GatewayI. Um gateway garante ótimo desempenho, alta disponibilidade e escalabilidade de seus serviços.