Jump to section

Qual é a função de um gateway de API?

Copiar URL

Red Hat User Group Community

MeetUp Red Hat User Group chega à América Latina. Encontros presenciais para conversas técnicas, trocas de experiências e compartilhamento de casos de uso em um ambiente amigável e descontraído.

O gateway de API é uma ferramenta de gerenciamento de APIs que fica entre um cliente e um conjunto de serviços de back-end. Nesse caso, o cliente é a aplicação no dispositivo de um usuário, e os serviços de back-end são aqueles que ficam nos servidores de uma empresa. API significa interface de programação de aplicações, que é um conjunto de definições e protocolos para criar e integrar software.

Um gateway de API é um componente da entrega de aplicações (a combinação de serviços que disponibilizam uma aplicação aos usuários) e atua como um proxy reverso para aceitar todas as chamadas de interface de programação de aplicações (API), agregar os diversos serviços necessários para atendê-las e retornar o resultado apropriado Para simplificar, o gateway de API é um software que intercepta as chamadas de API feitas por um usuário e as encaminha ao serviço de back-end apropriado.

Open Technology Sessions

Conheça a série de webinars da Red Hat em português feita para você descobrir como inovar. Aprenda sobre Automação, Infraestrutura, Plataforma de Aplicações, Cloud Services, Inteligência Artificial e muito mais!

A maioria das APIs corporativas é implantada por meio de gateways de API. Os gateways costumam gerenciar tarefas comuns utilizadas em sistemas de serviços de API, como autenticação de usuários, limitação de taxa e estatísticas.

Em seu uso mais básico, um serviço de API aceita uma solicitação remota e retorna uma resposta. Mas na vida real nada é tão simples. Pense nas várias preocupações que você tem ao hospedar APIs em grande escala.

  • Você quer proteger suas APIs da utilização excessiva e de abusos, e por isso usa um serviço de autenticação e limitação de taxa. 
  • Você quer entender como as pessoas usam suas APIs, então inclui ferramentas de monitoramento e analytics.
  • Se você tem APIs monetizadas, será preciso conectá-las a um sistema de faturamento.
  • Se você adota uma arquitetura de microsserviços, uma única solicitação poderá exigir chamadas para várias aplicações diferentes.
  • Com o tempo, você incluirá novos serviços de API e descontinuará outros, mas seus clientes ainda vão querer encontrar todos os seus serviços no mesmo lugar.

Seu desafio é oferecer aos clientes uma experiência simples e confiável apesar de toda essa complexidade. Um gateway de API é uma forma de separar a interface do cliente da implementação do back-end. Quando um cliente faz uma solicitação, o gateway de API a divide em várias solicitações, as direciona para os locais adequados, produz uma resposta e faz o monitoramento.

Um gateway de API faz parte do sistema de gerenciamento da API. Ele intercepta todas as solicitações de entrada e as envia por meio desse sistema, que processa diversas funções.

A função exata do gateway varia de uma implementação para outra. Algumas funções comuns incluem autenticação, roteamento, limitação de taxa, faturamento, monitoramento, analytics, políticas, alertas e segurança. Os gateways de API oferecem os seguintes benefícios:

Baixa latência

Os gateways de API otimizam o roteamento de tráfego e o balanceamento de carga nos serviços de back-end para aprimorar o desempenho e a utilização de recursos. Isso é feito por meio da distribuição das solicitações de entrada e da descarga de tarefas comuns, como a encerramento de SSL e o armazenamento em cache. Assim, os gateways de API diminuem a carga do servidor e o uso da largura de banda, o que reduz a necessidade de aumentá-las, além de melhorar a experiência do usuário.

Gerenciamento de tráfego

Os gateways de API limitam e gerenciam o tráfego por meio de diversos mecanismos criados para controlar a taxa e o volume de solicitações de entrada e assegurar melhor desempenho e utilização de recursos.

  • Com políticas de limitação de taxa, você especifica a quantidade máxima de solicitações permitidas em um determinado período (por segundo, minuto ou hora) em cada cliente ou chave de API. Isso evita a sobrecarga dos serviços de back-end.
  • As políticas de limitação de solicitações definem regras e limites para regular o tráfego de solicitações, como taxas máximas de solicitação, permissões de operações de picos e cotas
  • Com políticas de controle de simultaneidade, você especifica a quantidade máxima de conexões ou solicitações que os servidores de back-end podem administrar ao mesmo tempo.
  • Com políticas de disjuntor, você monitora a integridade e a responsividade dos servidores de back-end, além de bloquear temporariamente ou redirecionar o tráfego de serviços lentos ou com problemas. Isso evita a propagação das falhas e preserva a estabilidade geral do sistema.
  • Com o balanceamento de carga dinâmico pelos gateways de API, você monitora de maneira contínua a integridade do servidor e ajusta o roteamento de tráfego em tempo real para administrar os picos na demanda, diminuir o tempo de resposta e maximizar o rendimento.

Utilização da infraestrutura global de rede

Os gateways de API podem escalar os recursos de infraestrutura dinamicamente para responder às mudanças nos padrões de tráfego e nas demandas da carga de trabalho. É assim que os gateways de API ajudam as empresas a otimizarem a utilização de recursos e diminuírem os custos de infraestrutura, assegurando que elas paguem apenas pelo que realmente utilizam.

Relação custo-benefício

Os gateways de API desempenham um importante papel no controle do custo-benefício da entrega de aplicações e da integração de APIs. Para isso, eles oferecem uma plataforma centralizada para você administrar o tráfego da API, aplicar políticas de segurança, implementar regras de gerenciamento de tráfego e viabilizar a integração com os serviços de back-end. Os gateways de API também possibilitam o consumo escalonado dos serviços para manter a relação custo-benefício. Diferentes tipos de APIs podem impactar a relação custo-benefício de uma aplicação de diversas maneiras.

  1. Flexibilidade. As APIs HTTP, que são mais gerais e podem usar qualquer método HTTP, oferecem simplicidade e flexibilidade no desenvolvimento, o que pode reduzir os custos desse processo. Já as APIs REST, que seguem princípios e convenções de arquitetura específicas, podem exigir esforço e conhecimento adicionais para serem projetadas e implementadas corretamente, o que pode aumentar os custos de desenvolvimento.
  2. Infraestrutura. Por conta da sua flexibilidade, as APIs HTTP podem gerar custos de infraestrutura menores. Já as APIs REST exigem mais serviços e componentes de infraestrutura para viabilizar essas funcionalidades, o que pode aumentar os custos.
  3. Escalabilidade. Como podem ser escaladas horizontalmente com a adição de mais servidores e instâncias, as APIs HTTP oferecem opções mais econômicas, principalmente em ambientes de nuvem com recursos de escala automático. As APIs REST podem ter requisitos de escalabilidade mais complexos devido à sua natureza sem estado, armazenamento em cache e arquitetura distribuída. Por isso, elas exigem mais serviços e recursos de infraestrutura para possibilitar a escala horizontal, o que pode aumentar os custos.

Como os gateways de API funcionam com o Kubernetes

Uma solução baseada em Kubernetes como o Red Hat OpenShift é a maneira mais eficiente de colocar em containers e orquestrar aplicações. Portanto, o gateway de API é um componente essencial para gerenciar e direcionar o tráfego para serviços em um cluster Kubernetes. Para isso, ele:

  • Atua como um controlador de entrada, interceptando o tráfego HTTP que chega ao cluster e encaminhá-lo para os serviços apropriados com base em regras e configurações definidas.
  • Utiliza a descoberta de serviços baseada no DNS do Kubernetes para identificar e direcionar o tráfego para os serviços de back-end, sem exigir configuração manual. Isso viabiliza uma integração fluida com os serviços do Kubernetes e facilita a escala dinâmica, a descoberta de serviços e a realização de failover no cluster.
  • Implementa políticas avançadas de gerenciamento de tráfego para controlar o fluxo nos serviços implantados no Kubernetes.
  • Aplica políticas de segurança para proteger contra acessos não autorizados e ciberameaças. os serviços implantados no Kubernetes, como autenticação, controles de acesso, autorização e criptografia.
  • Disponibiliza  observabilidade e monitoramento ao incorporar visibilidade aos padrões de tráfego, métricas de desempenho e taxas de erro nos serviços implantados no Kubernetes, como geração de logs de solicitações, coleta de métricas e rastreamento distribuído.
  • Integra service meshes como o Istio e Linkerd para ampliar seus recursos e oferecer mais funcionalidades, como acesso externo, segurança na edge e gerenciamento de tráfego global, otimizando a interoperabilidade entre os serviços do Kubernetes e os clientes externos.

Em organizações que adotam uma abordagem de DevOps, os desenvolvedores usam microsserviços para criar e implantar aplicações de maneira rápida e iterativa. As APIs são um dos meios mais usados na comunicação entre microsserviços.

Além disso, o desenvolvimento de nuvem moderno, incluindo o modelo serverless, depende das APIs para o provisionamento de infraestrutura. Com um gateway de API, você pode implantar e gerenciar funções serverless.

À medida que a integração e a interconectividade se tornam mais relevantes, as APIs ganham maior importância. De forma semelhante, à medida que a complexidade das APIs e o uso delas aumenta, o mesmo acontece com o gateway de API.

As soluções de gerenciamento de APIs da Red Hat são modulares, lightweight, abrangentes e exclusivamente open source. Elas utilizam padrões abertos e estão disponíveis on-premises, na nuvem e em ambientes híbridos. A Red Hat tem um compromisso com a tecnologia open source. Por causa do nosso modelo de desenvolvimento exclusivo, nosso portfólio passa por testes abrangentes realizados por uma comunidade diversificada formada por engenheiros, clientes, fornecedores independentes de software e de hardware e parceiros. Temos duas soluções de gerenciamento de APIs:

  • O Red Hat OpenShift API Management é um serviço hospedado e gerenciado, oferecido como uma solução complementar ao Red Hat OpenShift Dedicated, um serviço totalmente gerenciado da plataforma de aplicações empresariais Kubernetes, o Red Hat OpenShift.
  • O Red Hat® 3scale API Management é uma plataforma que facilita o compartilhamento, a proteção, a distribuição, o controle e a monetização de APIs. O 3scale API Management foi desenvolvido para escalar e ser compatível com arquiteturas híbridas (on-premises, na nuvem ou em qualquer combinação de ambos).

Leitura recomendada

Artigo

O que é uma API?

API significa interface de programação de aplicações, um conjunto de definições e protocolos para criar e integrar softwares de aplicações.

Artigo

Qual é a função de um gateway de API?

O gateway de API é uma ferramenta de gerenciamento de interfaces de programação de aplicações (APIs) que fica entre o cliente e uma coleção de serviços de back-end.

Artigo

Por que escolher a Red Hat para o uso de APIs?

Nossas soluções de API se concentram na capacidade de reutilização, agilidade da TI e interface de gerenciamento para você avaliar, monitorar e escalar.