O API Gateway é uma ferramenta de gerenciamento de APIS, capaz de direcionar chamados e controlar o volume do tráfego de dados com eficiência. “Ele facilita e organiza o acesso do consumidor a um produto, por exemplo. A solução acelera a oferta por novos serviços, time to market, portanto, cria valor para os mercados, empresas e pessoas”, explica Edison Kalaf, sócio-diretor da OPUS Software.
Com a popularização e facilidade ao acesso à internet, cada vez mais serviços são oferecidos no mercado por meio de plataformas digitais. Aplicativos simples, como o Google Maps ou Spotify, por exemplo, tornam-se valiosas ferramentas para alavancar ofertas por um determinado serviço ou produto. Basta integrá-lo à plataforma para obter grandes resultados.
De acordo com a consultoria Gartner, “a API economy pode ser um facilitador para empresas que querem transformar uma organização ou negócio em uma plataforma, que por sua vez, multiplica a criação de valor, já que permite que os ecossistemas de negócios dentro e fora da empresa cruzem dados entre usuários, facilitando a criação e troca de bens e serviços, para que todos os participantes do ecossistema sejam capazes de gerar valor”.
É cada vez mais claro que as APIs estão no centro da transformação digital, já que elas garantem a integração e a comunicação entre diferentes sistemas. No entanto, o aumento crescente do seu uso e a sua hospedagem em grande escala exigem uma atenção especial. Para saber mais sobre o tema, é só continuar a leitura desse post.
- Como funciona um API Gateway?
- Benefícios: como entregar valor com essa tecnologia
- Como usar um API Gateway na arquitetura de microsserviços
- Conheça o Kong API Gateway
Como funciona um API Gateway?
O API Gateway é responsável por passar as solicitações do mundo externo para a aplicação e transformar ou combinar suas respostas para entregar o resultado de volta ao mundo externo.
Os sistemas e serviços, além de se comunicarem entre si, precisam interagir com o mundo exterior, sejam eles usuários, aplicativos clientes, aplicações de terceiros etc. Para isso, são necessários mecanismos para expor “ao mundo” a funcionalidade oferecida pelos serviços, independente da arquitetura utilizada.
Usar um API gateway é uma forma de atender essa necessidade, já que eles abstraem os detalhes da aplicação, como os serviços são implementados e como colaboram entre si para realizar uma determinada funcionalidade.
Além de isolar os serviços do mundo externo, o API Gateway também concentra várias responsabilidades típicas de um sistema distribuído. São eles:
- balanceamento de carga;
- autenticação;
- estabelecimento de políticas de segurança;
- gerenciamento de caches;
- estabelecimento de limites para número de chamadas externas e volume de tráfego de dados;
- registros estatísticos e
- registro de logs referentes às chamadas do mundo externo.
>>Leitura recomendada: API Financeira e Open Finance: integrando ecossistemas com inovação
Isolando serviços do mundo externo
O uso de um API Gateway é uma solução elegante e que traz grandes benefícios ao expor a funcionalidade de serviços na internet, mas pode se tornar complexa pois passa a ser o único ponto de interação com todos os elementos do mundo externo.
A complexidade aumenta quando um API Gateway atende às requisições de aplicações de natureza muito distinta (por exemplo, aplicações web e Apps) e interage com muitos serviços. Nesses casos, complementar essa abordagem usando pattern Backend For Frontend (BFF) pode ser bastante adequado.
O Backend For Frontend funciona como uma espécie de adaptador, fazendo uma adequação entre a oferta de serviços genéricos e as necessidades específicas de cada cliente.
Um exemplo típico de utilização de Backend For Frontend aparece quando é necessário construir, para a mesma aplicação, dois tipos diferentes de interface de usuário: web e mobile. Nesse caso, as duas interfaces normalmente apresentam necessidades diferentes no consumo das funcionalidades oferecidas pelos mesmos serviços.
Tipicamente, o aplicativo mobile precisa de informações resumidas, e muitas vezes uma única tela exige informações de vários serviços diferentes. Ao mesmo tempo, dada a limitação de banda de comunicação típica das redes móveis e a necessidade de economizar bateria, é desejável reduzir o número de chamadas à retaguarda que o aplicativo realiza.
Já a interface web é mais flexível nesses requisitos, além de comumente apresentar informações mais detalhadas, não havendo necessidade de economizar banda de comunicação ou evitar o tráfego de maiores volumes de dados.
Nessa situação, para evitar duplicar a funcionalidade dos serviços ou torná-los dependentes dos tipos de clientes que eles atendem, pode-se utilizar um Backend For Frontend específico para cada aplicativo.
Uma outra abordagem possível seria criar uma espécie de super-API que permitisse ao consumidor definir a forma de resposta desejada por ele.
Para construir essa super-API, podemos utilizar uma linguagem de consulta para APIs, como a GraphQL por exemplo, que permite que os consumidores especifiquem quais informações desejam, utilizando assim várias fontes/recursos em uma única consulta.
Como escolher o melhor API Gateway?
Para escolher a melhor plataforma de gerenciamento de APIs, é necessário definir quais aspectos são mais importantes para sua empresa, como por exemplo, segurança, escalabilidade ou flexibilidade. A partir disso é possível determinar uma ordem de prioridades, que servirá como base para a decisão da melhor plataforma.
>>Leitura recomendada: Service Mesh versus API Gateway
Benefícios: como entregar valor com essa tecnologia
Abaixo, nós listamos os principais pontos que um API Gateway pode agregar aos negócios:
- Garantir a consistência entre implementações e versões diferentes de API;
- Monitorar o tráfego de aplicativos individuais;
- Automatizar e controlar as conexões entre as aplicações e aplicativos que as utilizam;
- Proteger a aplicação contra ataques e usos indevidos;
- Fornecer mecanismos de gerenciamento de memória e armazenamento em cache para melhorar o desempenho.
Além disso, outros itens que podemos destacar são:
Autenticação de API: um API Gateway fornece uma camada de segurança que protege contra erros, hacks e violações de dados autenticando chamadas de API.
Validação de entrada: a validação de entrada garante que uma solicitação de API tenha todas as informações necessárias no formato correto, antes que o gateway faça a transmissão para um microsserviço, por exemplo. Se algo estiver faltando ou estiver errado, o gateway rejeitará a solicitação. Quando é validado como correto, o gateway enviará a solicitação.
Tempos de resposta mais rápidos: como um API Gateway envia solicitações diretamente para os serviços certos, há menos viagens de ida e volta e menos tráfego, reduzindo a latência e melhorando o desempenho geral, aprimorando a experiência oferecida para o usuário.
Limitação de taxa: um API Gateway monitora o tráfego vindo de todas as fontes e limita quantas solicitações de API um cliente (ou bot mal-intencionado) pode fazer em um período de tempo específico – por segundo, por dia, semana ou mês – para proteger o sistema de ser inundado com solicitações e evitar interrupções.
Como usar um API Gateway na arquitetura de microsserviços
Microsserviços é uma abordagem de desenvolvimento de software, na qual em vez de construir uma aplicação como grande monolito (que concentra todos os componentes em um único lugar), você divide os componentes em “micro” serviços, que são construídos de forma independente, autônoma e com baixo acoplamento.
Estabelecer uma comunicação eficiente entre os microsserviços é crucial para que as aplicações funcionem corretamente e, consequentemente, assegurem uma boa experiência ao usuário final.
Ao agrupar os microsserviços e permitir que eles sejam acessados pelo API Gateway, o acesso não só se torna mais rápido, como também mais fácil e seguro.
Isso porque, um API gateway coloca uma barreira na frente do back-end de um aplicativo, tornando-o mais seguro, assim os endpoints de um aplicativo não são expostos; portanto, há menos ameaça de ataque.
O API gateway também faz o balanceamento de carga dos microsserviços, já que ele acompanha as solicitações enviadas para os microsserviços, equilibrando a carga e garantindo que o aplicativo permaneça disponível. Esse processo é fundamental para evitar picos ou interrupções de funcionamento no sistema.
Algumas empresas criam modelos de monetização com as APIs, oferecendo serviços para clientes ou para outras empresas. O API Gateway lida com o tráfego, monitora o uso de produtos ou serviços específicos e envia informações de preços para um sistema de cobrança conectado. Outras APIs compartilham a receita com os consumidores por meio de compartilhamento de receita de anúncios, marketing de afiliados ou créditos na conta de um consumidor.
Para saber mais sobre desenvolvimento em microsserviços e o API Gateway, confira abaixo esse Webinar especial:
>>Leitura recomendada: Como criar o ecossistema de ideal para a arquitetura de microsserviços
Conheça o Kong API Gateway
A consultoria Gartner realiza todos os anos um relatório chamado “Quadrante mágico”. Nele, é apresentado um panorama de empresas que compõem o mercado tecnológico, organizando-as em: líderes, desafiantes, visionários e competidores de nicho.
Tanto em 2020, quanto em 2021, a plataforma Kong foi considerada líder no quadrante mágico do “Full Lifecycle API Management”. Esta indicação é bastante significativa para a oferta e o desenvolvimento de software em nuvem, colocando a plataforma Kong como a mais completa do ponto de vista do entendimento das necessidades do mercado e para a implementação, manutenção e operações de API Gateways.
A pesquisa da Gartner mostrou que o mercado de gerenciamento de API de ciclo de vida completo cresceu 26,7% em 2021, para US$ 2,7 bilhões, apesar de um ano desafiador. O gerenciamento de API de ciclo de vida completo continua sendo um mercado dinâmico e próspero com potencial substancial para investidores e fornecedores que buscam criar e gerenciar APIs como complementos para suas ofertas. Os líderes, como a Kong, entendem as tendências do mercado que irão beneficiá-los e às estratégias de negócios de seus clientes, permitindo-lhes reestruturar suas operações de negócios ou avançar nas transformações digitais.
Essa é uma excelente notícia para o desenvolvimento de software, pois aumenta ainda mais a segurança na adoção de uma solução simples, altamente escalável, fácil de instalar e manter, que garante uma forte governança de TI e gerenciamento profissionais para a oferta de aplicações em nuvem.
Quer saber mais sobre API Gateway e a plataforma Kong? Venha conversar com a gente!