February 4, 2016
Eike
Malavasi

API Gateway: governando a arquitetura de Microservices

Já falei aqui no blog sobre como as integrações e troca de informações vêm se transformando ao longo do tempo. Hoje, vou te mostrar o que sustenta toda essa evolução, com API Gateway, API Management e até como pensar nessa estrutura para a Economia de APIs.Em tempos em que centenas de dispositivos interagem com microsserviços e servidores baseado em APIs, um Gateway de APIs pode se ser uma porta de entrada única para a sua arquitetura interna.Vale lembrar que ter essa solução é uma escolha mais assertiva quando falamos de aumentar segurança, experiência do usuário e facilidade para construção de um ecossistema digital. O que é um API Gateway?Basicamente, o Gateway é uma interface que recebe as chamadas para seus sistemas internos, sendo uma grande porta de entrada.Ele pode atuar de cinco diferentes maneiras:

  • Filtro: para o tráfego de chamadas dos diferentes meios (web, mobile, cloud, entre outros);
  • Única porta de entrada: para as diversas APIs que você deseja expor;
  • Componente essencial: gerenciamento de APIs, como no API Suite;
  • Roteador: tráfego nas APIs e de Rate Limit;
  • Mecanismo de segurança: com autenticação, log e muito mais.

O acesso para o Gateway pode ser feito de muitos dispositivos diferentes, por isso, ele deve possuir o poder de unificar as chamadas feitas e conseguir entregar ao usuário um conteúdo que pode ser acessado de qualquer tipo de navegador e sistema.

Diferenças entre API Gateway e API Management

Quando a discussão sobre APIs chega no nível de controle e gerenciamento, sempre existem dúvidas quanto a Gateway e Management, então vou esclarecê-las para você :DO Gateway é responsável por criar uma camada em cima de suas APIs, para uma arquitetura unificada.O Management por sua vez possui um escopo mais amplo, pois enquanto o Gateway é responsável pelo "redirecionamento" e filtro de chamadas, uma solução de API Management conta com analytics, controle de versão, business data, entre outras coisas.Sendo assim, o Gateway acaba sendo uma parte da solução mais completa (como o Management), para um controle total de suas APIs.

Os 6 Benefícios de um API Gateway

Vou te mostrar agora 6 benefícios para você ter um Gateway como a porta de entrada de suas APIs.

  1. Separação de camada de aplicação e diferentes requisiçõesUm dos melhores benefícios dessa camada é que um Gateway consegue separar claramente APIs e microsserviços implementados, das pessoas que irão efetivamente utilizar elas.
  2. Aumento de simplicidade para o consumidorUtilizando um Gateway, você consegue mostrar ao seu usuário final um front-end único com sua coleção de APIs, podendo ser muito mais transparente com os usuários da API.
  3. Melhoria no desenvolvimentoSeparação das funcionalidades e propósitos não apenas faz com que o desenvolvimento dê muito mais foco ao que realmente é necessário, mas também ajuda o servidor a aguentar a demanda de informação pelos serviços utilizados.Por exemplo: um serviço que é chamado poucas vezes durante o dia precisa de menos recursos do que o chamado a toda hora, aproveitando melhor a performance de sua máquina.
  4. Buffer Zone contra ataquesCom a utilização de vários serviços independentes e controlados pelo Gateway, qualquer ataque em sua aplicação não irá afetar o seu sistema como um todo, apenas aquele serviço, mantendo tudo funcionando perfeitamente. Além da segurança, essa estratégia deixa tudo muito mais simples para o usuário, pois todas as outras funcionalidades se mantêm normais, não causando "stress".
  5. Dedicação de serviços em favor de user experienceCom a estratégia de independência dos serviços das APIs, um desenvolvedor consegue ter toda a documentação necessária para a utilização de maneira muito mais simplificada, podendo otimizar o seu tempo e se dedicando exclusivamente a sua atividade.Deste modo, você consegue ter SDKs de utilização para cada API separadamente de modo a deixar sua documentação o mais específica possível.
  6. Log de atividades antecipando errosComo todas as chamadas aos seus serviços passarão pelo Gateway, o controle de todas elas é muito simples. Esse tipo de log consegue dar um poder altíssimo para o dono da API. É possível achar todos os erros que podem derrubar seu serviço, e até mesmo quem é o responsável por um bom consumo da API. Assim, você consegue prever a quantidade de chamadas evitando qualquer tipo de problema para o seu usuário.

Gateways como uma feature de segurança

No universo das APIs, um dos assuntos mais abordados é sempre a segurança, e possuir um Gateway de APIs é uma das melhores soluções no mercado para conseguir ter o controle integral de sua API.Digo isso, pois essa ferramenta contempla o chamado CID de forma quase impecável (a sigla em inglês é CIA: Confidentiality, Integrity, Availability). Vamos entender melhor o que cada sigla significa:

Confidencialidade

Ao isolar os servidores que possuem cada tipo de informação do seu sistema utilizando um API Gateway, a confidencialidade dos dados é garantida evitando muitos tipos de ataque em sua aplicação. Os seus servidores são desenhados e criados para resistir a invasões e manipulação de dados.Segregando os dados na exposição da API, você consegue criar um estreitamento no caminho da informação, e neste caminho você possui total controle, sabendo até mesmo os dados que irão ser levados como resposta antes mesmo dele deixar seu servidor.

Integridade

Quando você possui um API Gateway, todos os dados de chamada e de retorno são controlados de forma automática, fazendo com que você possua garantia de que cada request em seu servidor irá ser tratado de forma única. Deste modo, a integridade dos dados é uma certeza dentro do seu domínio.

Disponibilidade

Um dos maiores desafios de uma API é a disponibilidade 100%, esse é um desafio de todo fornecedor de serviços. Mesmo se sua API não estiver tão suscetível a ataques, os servidores podem sofrer perda de energia, queda da conexão e até erros humanos específicos.É impossível imunizar totalmente a API, obviamente, porém, se a sua API for atacada ou sofrer quedas constantes, um API Gateway possui uma segurança excelente, e pode ajudar a aumentar drasticamente sua disponibilidade.Você ainda consegue distribuir os seus Gateways perante os servidores dos microsserviços, e possuir um roteamento de chamadas tão elaborado que fica praticamente impossível as quedas afetarem e derrubarem a sua API.

O seu Gateway

Com certeza, um API Gateway é uma das ferramentas no mercado mais efetivas para segurança, controle e desenvolvimento de sua API.Para um melhor aproveitamento de toda sua estratégia digital, utilizar uma ferramenta como essa lado a lado do conceito de microsserviços faz com que sua arquitetura seja totalmente governada e controlada, te levando um passo à frente de seus concorrentes.Para conhecer ainda mais a estratégia de microsserviços e como ela vem crescendo a cada ano, te indico o Webinar de Microsserviços. Para assistir, basta clicar aqui ou na imagem abaixo:

Assista o Webinar de Microservices!

Adaptado de Nordic APIs

API Gateway: governando a arquitetura de Microservices

Obrigado pela leitura!

Voltar ao arquivo