Minha IBM Efetue login Inscreva-se

O que é um API Gateway?

25 de agosto de 2024

Autores

Gita Jackson

Staff Writer

Michael Goodwin

Editorial lead, Automation & ITOps

O que é um API Gateway?

Um API gateway é uma ferramenta de gerenciamento de API que atua como intermediário entre um cliente de API (a aplicação no dispositivo de um usuário) e serviços de backend (localizados em um servidor). Um API gateway apresenta um único ponto de entrada para chamadas de API.

Uma API, ou interface de programação de aplicativos, é um conjunto de regras ou protocolos que permitem que aplicações de software se comuniquem entre si para trocar dados, recursos e funcionalidades. A solicitação de dados de um cliente a uma API é conhecida como chamada de API.

Um API gateway recebe uma chamada de API (às vezes chamada de solicitação de API), a encaminha para um ou mais serviços de back-end, reúne os dados solicitados e os entrega ao cliente em um único pacote combinado. Ele também fornece análise de dados, camadas de proteção contra ameaças e outras formas de segurança para a aplicação.

Por exemplo, considere uma aplicação web de restaurante. Usando um notebook ou celular, um usuário pode fazer uma solicitação e acessar facilmente o cardápio do restaurante, ver fotos e avaliações, seu serviço de pagamento e um mapa para verificar sua localização, apesar de todas essas informações serem coletadas e fornecidas por diferentes microsserviços ou APIs de back-end. A solicitação enviada por meio da aplicação do usuário é recebida e executada por um API Gateway.

O valor de um API Gateway

Os API Gateways podem ser implementados na nuvem, no local e em ambientes híbridos e são um componente importante do gerenciamento de API e da segurança de API. Os API Gateways ajudam as organizações a oferecer uma experiência de API constante, segura e satisfatória para os usuários.

O gerenciamento de APIs é o processo escalável de criar, publicar e gerenciar APIs dentro de uma empresa. Os API Gateways melhoram e simplificam as tarefas de gerenciamento, como roteamento de solicitações, balanceamento de carga e tratamento de erros. Os API Gateways também melhoram a observabilidade da API gerando registros de chamadas de API e possibilitando o uso de ferramentas integradas de análise.

A segurança de API refere-se às práticas e procedimentos que protegem as APIs contra uso indevido, ataques maliciosos e outras ameaças à cibersegurança. Os API Gateways ajudam a aplicar protocolos de segurança de API e podem ser usados para gerenciar autenticação, autorização e outras permissões e controles de acesso (por meio da confirmação das chaves de API ou integrando-se aos protocolos de autorização como OAuth, por exemplo), limitação de taxa (para proteção contra ataques como ataques de distributed denial-of-service) e criptografia de acordo com as políticas de segurança de API da organização.

Os API Gateways fornecem funções adicionais para aumentar a eficiência em uma empresa, ajudando a permitir um alto desempenho e uma alta disponibilidade para aplicações e serviços de back-end. Por exemplo, os API Gateways podem ser usados para armazenamento em cache, um processo no qual os dados comumente referenciados são armazenados localmente. Isso ajuda a melhorar o tempo de resposta e reduz a carga nos servidores. Eles também podem compactar respostas grandes em arquivos menores, reduzindo o consumo da largura de banda.

Eles também oferecem recursos de limitação de taxa, que definem um limite para a frequência com que um cliente pode enviar uma solicitação a um serviço em um determinado intervalo de tempo. Isso promove estabilidade, evita que os servidores fiquem sobrecarregados e ajuda a garantir que os clientes tenham acesso igual às APIs.

Os API Gateways e seus recursos ajudam as organizações a equilibrar o tráfego de APIs e as cargas de trabalho à medida que a organização cresce. Ao centralizar essas funções, os API Gateways ajudam a simplificar a forma como uma empresa desenvolve, implementa e gerencia APIs. Os gateways ajudam a melhorar o desempenho, a escalabilidade e a disponibilidade de aplicações e serviços e permitem que os desenvolvedores se concentrem mais na lógica dos negócios principais do que na administração de APIs.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Como um API Gateway funciona?

As APIs possibilitam que as aplicações se comuniquem entre si e compartilhem dados dentro e fora do ambiente de TI de uma organização. As empresas modernas podem ter milhares de APIs e um gateway disponibiliza um ponto focal central, uma "porta de entrada", e uma interface padronizada que ajuda a gerenciar e rotear as chamadas de API de um local. Uma organização pode optar pelo uso de vários gateways, como muitas fazem, para possibilitar que diversos protocolos e padrões de segurança sejam aplicados a diversas APIs ou usuários, mas os mesmos princípios se aplicam.

Solicitações e roteamento

Um API Gateway recebe todas as chamadas direcionadas aos endpoints de API da empresa, autentica as chamadas e as processa com base nas políticas organizacionais, encaminha para os serviços apropriados e, finalmente, agrega e retorna os resultados ao cliente da API que fez a chamada. Mesmo que vários serviços sejam solicitados e acessados por meio da chamada de API, o cliente recebe apenas uma resposta com todos os dados.

Composição da API

Um API Gateway oferece orquestração de fluxo de trabalho ao agregar as informações solicitadas de vários microsserviços, agrupar os dados e retorná-los ao solicitante em forma composta.

Tradução de protocolo e dados

Um API Gateway lida com a tradução de dados e protocolos nos casos em que o dispositivo cliente e os microsserviços usam diversas linguagens, formatos (por exemplo, a solicitação é feita em JavaScript ou JSON, mas o microsserviço usa XML) ou protocolos (como solicitações HTTP versus solicitações gRPC).

Cache

Para entregar informações solicitadas com frequência, os API Gateways podem usar cache para acelerar o tempo de resposta da solicitação. Esses dados são armazenados em um cache separado para o gateway poder devolvê-los com rapidez sem precisar encaminhar o tráfego para outro serviço.

Monitoramento e registro

Os API Gateways podem monitorar e registrar solicitações, respostas e erros de API. Esses dados analíticos podem ser usados para entender melhor o tráfego e o desempenho da API, melhorar a resolução de problemas e fortalecer a segurança.

AI Academy

Preparando-se para a IA com a nuvem híbrida

Guiado pelos principais líderes da IBM, o conteúdo foi desenvolvido para ajudar líderes empresariais a terem o conhecimento necessário para priorizar os investimentos em IA que podem estimular o crescimento.

Por que usar um API Gateway?

As APIs são cruciais para o fluxo de dados em sistemas modernos e os API Gateways ajudam a proteger as APIs e as aplicações, ajudam as organizações a reunir dados valiosos e ajudam a garantir o desempenho das APIs.

Os API Gateways podem tornar os processos mais eficientes. Todas as APIs de uma organização podem precisar concluir algumas tarefas comuns, além de sua função específica sempre que uma chamada para essa API é feita. Em um ecossistema que prioriza as APIs, em que as APIs são a base sobre os quais o software é criado, isso é extremamente comum.

Por exemplo, para cumprir com os protocolos de segurança de API, cada chamada de API pode precisar passar por um processo de autorização e validação. Ou para ajudar a garantir a largura de banda adequada, cada API pode precisar ser monitorada quanto às taxas de uso e tráfego. Se as APIs forem monetizadas, cada chamada poderá precisar ser roteada para um serviço de cobrança. Um API gateway pode lidar com todas essas tarefas.

Algumas chamadas de API exigem recursos de vários microsserviços diferentes; um API gateway divide essas chamadas, encaminha as solicitações para os serviços de backend apropriados e agrega os recursos solicitados em uma única resposta para o cliente. Isso evita que o cliente tenha que enviar uma chamada de API separada para cada microsserviço, simplificando o processo e reduzindo a carga de chamadas. As chamadas sempre vão para o mesmo local e o gateway organiza a recuperação e o retorno dos recursos.

Esse recurso é particularmente benéfico em ambientes de DevOps, em que as arquiteturas de microsserviço são frequentemente usadas para ajudar as equipes a acelerar o desenvolvimento e a entregar continuamente novas aplicações e serviços. Os microsserviços dependem de APIs para se comunicar e os gateways podem ser usados para orquestrar essa comunicação. Um API gateway também pode ajudar a garantir que cada chamada vá para o local correto quando várias versões de uma aplicação estiverem no mesmo servidor.

Os API gateways também são usados em modelos de computação sem servidor e outras abordagens de desenvolvimento nativas da nuvem. No modelo sem servidor, a infraestrutura e outros serviços de backend são executados sob demanda e desenvolvidos com APIs. Os gateways podem ser usados para gerenciar essa função.

Os ambientes de TI modernos são baseados em integração, cujo sucesso depende, em grande parte, das APIs. Quanto mais complexo for um ambiente de API e maior o tráfego que as APIs recebem, mais valor um API Gateway pode fornecer.

API Gateways e microsserviços

Uma arquitetura de microsserviços é uma abordagem de desenvolvimento de software em que as aplicações são compostas de partes menores e que funcionam de forma independente. Essas funções distintas podem ser implementadas de forma autônoma e se comunicar por meio de APIs. Eles são projetados para cumprir um único objetivo, com a intenção de serem agrupados como a base de programas maiores.

O roteamento de chamadas de clientes de API para esses microsserviços individuais é possível, mas não é muito eficiente e exigiria uma chamada separada para cada recurso. Um API Gateway permite que uma organização retorne os recursos solicitados com uma única chamada de API.

Funciona assim: o gateway recebe a chamada de API que requer comunicação com vários microsserviços. Ela divide a solicitação, encaminha cada segmento para os recursos apropriados e agrega os recursos em uma única resposta para o cliente da API. À medida que a organização aumenta o número de APIs e microsserviços usados nas funções empresariais, um API Gateway ajuda a reduzir o volume de chamadas e a complexidade do roteamento de chamadas, atuando como um ponto de entrada único e padronizado.

Vamos imaginar que um cliente queira extrair informações do produto de uma loja de comércio eletrônico criada usando uma arquitetura de microsserviços. Os detalhes do produto que o cliente deseja obter estão espalhados por vários serviços diferentes – um serviço para informações básicas sobre o produto, um serviço para preços, um serviço para inventário e assim por diante.

O API Gateway recebe a solicitação de informações do produto, a encaminha para extrair os dados de cada serviço necessário para atender à solicitação e, em seguida, compila esses dados e os envia de volta ao cliente como uma resposta completa.

API Gateways e Kubernetes

O Kubernetes é considerado o padrão do setor para implementação e gerenciamento de microsserviços conteinerizados. O API Gateway pode interagir com um cluster Kubernetes conteinerizado de várias maneiras.

Quando implementado em mais de um cluster Kubernetes, o API Gateway pode servir como um balanceador de carga, direcionando o tráfego para o cluster correto para que nenhuma instância seja sobrecarregada. Quando implementado no edge de um determinado cluster Kubernetes, o API Gateway pode atuar como um controlador de ingresso. Os controladores de entrada direcionam o tráfego para um cluster Kubernetes, para os serviços solicitados e, em seguida, retornam novamente. Quando implementado em um cluster Kubernetes, o API Gateway pode atuar como uma malha de serviço. Uma malha de serviço lida com o tráfego que flui entre os Kubernetes Service, oferecendo balanceamento de carga e descoberta de serviços e é comumente usada para criptografia de ponta a ponta.

Como um API Gateway melhora o gerenciamento de API

Além de permitir que as organizações roteiem e equilibrem o tráfego de APIs de forma mais eficaz, os API Gateways fortalecem o gerenciamento de APIs ajudando a:

  • Reduzir a latência
  • Aumentar a segurança
  • Reduza a complexidade

Reduzir a latência

Os API gateways podem ajudar a otimizar o roteamento de tráfego e o balanceamento de carga em serviços de backend gerenciando as chamadas de API por meio de um ponto de entrada centralizado. Essas medidas ajudam a manter a baixa latência. O API Gateway usa uma variedade de métodos para gerenciamento de tráfego de API que utilizam a largura de banda de forma mais eficiente e melhoram a experiência do usuário.

Um desses métodos é a limitação de taxa. As políticas de limitação de taxa especificam o número de solicitações (uma cota de solicitação) que um cliente específico pode fazer para uma API durante um determinado intervalo de tempo. Isso garante que os usuários tenham acesso igual às APIs e protege os serviços de back-end de ficarem sobrecarregados com solicitações.

A limitação de solicitações é um tipo de limitação que regula a taxa de solicitações que chegam a um servidor. Isso evita picos e ajuda as organizações a manter o desempenho e a estabilidade.

O API Gateway também pode realizar o balanceamento de carga dinâmico monitorando o tráfego constantemente para os serviços de backend. O API Gateway pode determinar a integridade de um servidor com base em métricas em tempo real e ajustar a forma como encaminha as chamadas para os serviços de backend.

Aumentar a segurança

As APIs são vulneráveis a ataques de cibersegurança, como ataques distributed denial-of-service (DDoS). Os ataques DDoS sobrecarregam os servidores com solicitações e tráfego malicioso, fazendo com que eles travem. O API gateway oferece suporte à limitação de taxas e a outras técnicas para ajudar a impedir ataques DDoS.

O API Gateway também pode ajudar a proteger as APIs monitorando o uso da API e fornecendo registros de tráfego. Alguns API Gateways também fornecem relatórios e análises de dados sobre as solicitações que estão sendo feitas a quaisquer APIs na infraestrutura de uma organização, permitindo que uma organização identifique o tráfego suspeito antes que um ataque aconteça.

O API Gateway não somente auxilia no gerenciamento do tráfego e no fornecimento de uma conexão segura com as APIs, mas também pode ser configurado para disponibilizar uma autenticação de API e uma autorização de solicitação, reduzindo a vulnerabilidade das APIs de uma organização. Por exemplo, os API Gateways são usados para verificar as chaves de API quando são recebidas chamadas de um cliente antes de conceder acesso aos recursos. Para uma maior segurança, os API Gateways podem ser usados com ferramentas como firewalls de aplicações da web (WAF), que monitoram, filtram e bloqueiam o tráfego HTTP malicioso.

Reduza a complexidade

O API Gateway centraliza o fluxo de chamadas de API, melhorando a visibilidade e a descoberta do serviço. Ele também oferece maneiras para que as APIs que usam diferentes protocolos e formatos de dados se comuniquem entre si.

Muitas APIs da web usam um estilo de arquitetura chamado REST (representational state transfer utilizada nas APIs REST), embora outros protocolos, como SOAP (simple object access protocol) e APIs WebSocket também sejam utilizados. Seja dentro de uma organização ou em chamadas externas direcionadas às APIs internas de uma organização, é comum ter APIs com vários protocolos e formatos de dados que precisam se comunicar entre si e solicitar recursos dos mesmos serviços de backend.

A conversão manual de cada solicitação levaria uma quantidade astronômica de tempo; os API Gateways ajudam a eliminar esse problema realizando a tradução de dados e protocolos, traduzindo automaticamente as solicitações e respostas para o formato necessário.

O API Gateway também facilita para os desenvolvedores a iteração e a implementação de APIs, pois os gateways podem gerenciar várias versões de uma API ao mesmo tempo. Os desenvolvedores podem então testar várias versões de uma API umas contra as outras antes de implementar ou manter uma instância de uma versão mais antiga da API para casos de uso específicos.

Os benefícios adicionais da API são:

    • Extensão das aplicações legadas: as empresas ainda utilizam aplicações legadas que contêm dados essenciais, desempenham funções significativas e agregam valor, mas as aplicações não foram escritas para APIs. Essas tecnologias mais antigas podem ter problemas para lidar com o crescente número de chamadas de tecnologias mais recentes, como aplicações móveis, SaaS ou IoT apps. Também podem ser de difícil acesso. Em vez de fazer uma migração para a nuvem complicada, uma equipe de DevOps pode adicionar funcionalidades de API – incluindo benefícios como limitação de taxa – para ajudar a modernizar e estender a funcionalidade de uma aplicação legada.

    • Cache de microsserviços: os API Gateways podem ajudar a otimizar as chamadas de API, como com o cache de microsserviços. O cache das respostas às chamadas de API pode ajudar a evitar cargas desnecessárias nos serviços de back-end. As respostas em cache podem ser usadas quando solicitações semelhantes são recebidas, melhorando o desempenho e diminuindo os custos.

    • Monitoramento e acompanhamento de análise de dados de aplicações: como o API Gateway controla todo o tráfego de entrada de uma aplicação, é fácil fazer com que o software monitore e produza relatórios sobre visibilidade, tendências e outros insights sobre o uso da API. O software de gateway também pode criar registros de tráfego que ajudam um provedor de API a conhecer e corrigir problemas de infraestrutura.

    Desafios do API Gateway

    Embora os API Gateways possam ajudar a resolver problemas complicados de roteamento, a inclusão de um novo software de gerenciamento em qualquer organização também pode trazer novos desafios. Alguns desafios comuns incluem:

    • Problemas de escalabilidade
    • Ponto único de falha
    • Dependência de gateway/lock-in com fornecedores

    Problemas de escalabilidade

    Embora os API Gateways possam ajudar a organizar a infraestrutura de API e a reduzir a latência, se receberem mais solicitações do que estão configurados para gerenciar e não tiverem recursos suficientes para lidar com o tráfego, eles poderão aumentar a latência.

    As organizações devem confirmar se os API Gateways são aprovisionados e configurados para atender ao ambiente de API e às demandas de tráfego da empresa. Quando uma empresa aumenta a quantidade de APIs e serviços em uso em um dado momento, os recursos devem ser devidamente escalados e aprovisionados para evitar que os usuários sofram interrupções no serviço.

    Ponto único de falha

    Um único ponto de entrada também significa que pode haver um único ponto de falha. A centralização de APIs tem inúmeras vantagens, mas a desvantagem é que o próprio gateway passa a ser um possível vetor de ataques ou infiltrações. Os problemas de gateway podem afetar todos os aspectos de uma empresa que dependem do acesso a APIs e serviços de backend.

    Dependência de gateway

    Depois que uma organização tiver escolhido o API gateway que atende às suas necessidades específicas e criado seu ambiente de API em torno desse API gateway, pode ser caro e demorado migrar para outro fornecedor.

    Além disso, embora os gateways possam tornar o uso da API mais econômico, o gateway também exigirá monitoramento e gerenciamento, o que custa tempo e dinheiro. Em alguns casos, uma organização pode optar por autohospedar um gateway de código aberto, em vez de usar um serviço gerenciado, para ter um controle mais preciso sobre suas várias opções. Se uma organização escolher uma opção de autohospedagem, isso aumentará os custos gerais da equipe de desenvolvimento.

    Soluções relacionadas

    Soluções relacionadas

    IBM webMethods

    Integre suas aplicações e automatize o trabalho com a plataforma de multinuvem híbrida IBM webMethods.

    Explore o webMethods
    Softwares e soluções de integração

    Libere o potencial dos negócios com as soluções de integração da IBM, conectando aplicações e sistemas para acessar dados críticos de forma rápida e segura.

    Explore soluções de cloud integration
    Serviços de consultoria em nuvem 

    Libere novos recursos e aumente a agilidade dos negócios com os serviços de consultoria em nuvem da IBM. Descubra como cocriar soluções, acelerar a transformação digital e otimizar o desempenho por meio de estratégias de nuvem híbrida e parcerias especializadas.

    Serviço de nuvem
    Dê o próximo passo

    Simplifique sua jornada de transformação digital com ferramentas de integração avançadas. Descubra como as soluções líderes da IBM podem conectar, automatizar e proteger as aplicações do seu negócio.

    Inicie a integração Explore soluções especializadas