Melhores práticas para gerenciar APIs internas

NGINX | 02 de setembro de 2020

Algumas APIs voltadas para o consumidor são tão difundidas que se tornaram nomes conhecidos — como o Google Maps e a Stripe —, mas as APIs internas são a verdadeira força motriz da economia de APIs.

As APIs internas — ou seja, APIs disponibilizadas apenas para clientes e desenvolvedores dentro de uma organização — são um dos principais pilares dos esforços de transformação digital de uma empresa. A criação de APIs internas geralmente é o primeiro passo no desenvolvimento de produtos e serviços digitais. De fato, de acordo com a recente pesquisa da IDC, APIs — Os agentes determinantes entre o sucesso e o fracasso dos negócios digitais, oferecer suporte à integração interna de aplicações e produtos é uma das principais prioridades das iniciativas de desenvolvimento de APIs nas empresas.

Por que as APIs internas são importantes? Quais são os benefícios das APIs internas? E, sobretudo, qual é a arquitetura ideal para gerenciá-las? Este blog aborda essas questões para ajudar você a disponibilizar APIs internas com segurança e em escala.

Por que as APIs internas são importantes?

As APIs internas eliminam os silos de dados e criam pontes ao disponibilizar os diversos sistemas de backend de uma organização para uso por outros desenvolvedores de uma linha de negócios (LOB). Por exemplo, a área de marketing de um fabricante pode precisar de visibilidade dos sistemas usados pela área de cadeia de suprimentos para determinar se deve oferecer descontos em determinados produtos e modelos, a fim de atingir o segmento de mercado certo e maximizar a receita.

Como as APIs internas eliminam os silos? Elas fornecem uma interface comum que permite a troca de dados usando formatos padrão, como HTML ou JSON. Além de ser fácil e rápido criar uma API, também é fácil e rápido consumi-la. Compare isso ao uso de conectores de banco de dados proprietários e protocolos complexos de intercâmbio de dados para recuperar informações de repositórios de dados. Ao reduzir os obstáculos, as APIs aumentam significativamente a produtividade. Essas APIs não ficam expostas a desenvolvedores externos nem a terceiros. O tráfego das APIs internas permanece dentro da organização e, portanto, dentro do firewall corporativo.

Benefícios das APIs internas

As APIs internas aceleram o lançamento de produtos no mercado e reduzem o tempo e o custo do desenvolvimento de software. Vamos analisar os benefícios em detalhes.

Eficiência operacional

As APIs internas fornecem uma camada de abstração fácil de consumir para conectar diversas áreas de uma empresa, além da flexibilidade necessária para se adaptar a mudanças nos requisitos. Em vez de criar uma pilha de tecnologia isolada para as aplicações de cada linha de negócios (LOB), os desenvolvedores de toda a organização podem recorrer a um conjunto comum de APIs internas para acessar dados. Isso elimina a duplicação e reduz o tempo de desenvolvimento de software, aumentando a produtividade dos desenvolvedores e da equipe de TI.

Desenvolvimento de um sistema de registro

As APIs internas promovem o desenvolvimento de um sistema de registro que atua como fonte oficial dos principais elementos de dados de uma organização. Para garantir a integridade dos dados, deve haver um — e apenas um — sistema de registro para cada informação. Se cada linha de negócios (LOB) tiver seus próprios dados ou até mesmo uma versão ligeiramente diferente, isso gerará discrepâncias e confusão. As APIs internas são um mecanismo eficiente para acessar essa única fonte da verdade.

Redução de custos

A eficiência resulta em economia de custos – não é necessário desenvolver plataformas proprietárias com muitas personalizações em cada linha de negócios. Também não é necessário desenvolver ou adquirir conectores e integrações caros que, em essência, são ferramentas pontuais.

Como exemplo, o governo federal da Estônia opera a X‑Road, uma plataforma de intercâmbio de dados que conecta todos os órgãos governamentais de forma integrada. Os cidadãos estonianos nem sequer precisam portar a carteira de motorista, pois essas informações podem ser rapidamente obtidas no registro populacional e no registro de veículos, embora os dois repositórios de dados sejam separados. Este relatório do Banco Mundial estimou, de forma conservadora, que, ao facilitar o acesso às informações, a X‑Road havia poupado ao governo e aos cidadãos da Estônia 2,8 milhões de horas de trabalho em um único ano (2014).

Diretrizes para o gerenciamento de APIs internas

Vamos conhecer algumas práticas recomendadas para gerenciar APIs internas.

Use uma ferramenta de gerenciamento de APIs

Para definir, publicar e proteger APIs, bem como monitorar e analisar com eficiência tanto as APIs internas quanto as externas, você precisa de uma solução de gerenciamento de APIs. Também é necessário um portal do desenvolvedor que permita aos desenvolvedores internos conhecer rapidamente as APIs publicadas.

Garanta um alto desempenho

Microsserviços são uma nova abordagem arquitetural para o desenvolvimento de software que vem ganhando força. Muitas empresas estão reformulando a arquitetura de suas aplicações internas existentes ou criando novas aplicações com essa estrutura. Em arquiteturas de microsserviços, as APIs são o meio de comunicação tanto entre os clientes e a aplicação baseada em microsserviços quanto entre os microsserviços que compõem a aplicação. Quando um cliente de API solicita recursos de uma aplicação de backend, um gateway de API direciona o tráfego para o microsserviço apropriado. O gateway de API também autentica as chamadas e aplica limites de taxa para evitar ataques que possam ocorrer caso agentes externos consigam violar o firewall corporativo.

Os microsserviços são mais “comunicativos” do que as aplicações monolíticas, com grandes volumes de tráfego “leste-oeste” entre eles. Por isso, é muito importante escolher um gateway de alto desempenho, capaz de processar um grande volume de solicitações por segundo e fornecer respostas com muita rapidez. As solicitações dos clientes geralmente geram várias chamadas de API para diferentes microsserviços. Portanto, um atraso no gateway de API, mesmo em uma única chamada, pode causar um efeito cascata e resultar em latências muito altas.

Não roteie chamadas por uma nuvem fora da rede corporativa

Embora existam soluções de primeira geração baseadas em nuvem que oferecem gerenciamento de APIs durante todo o ciclo de vida, elas não são adequadas para lidar com APIs internas. Como suas arquiteturas acoplam fortemente o plano de dados (o gateway de API que processa o tráfego de APIs) e o plano de controle (que executa funções de gerenciamento de APIs), em tempo de execução, todas as chamadas de API internas precisam ser roteadas pela nuvem da solução de gerenciamento de APIs. Isso apresenta duas desvantagens:

  • Aumenta a latência – O desvio até a nuvem para processar uma chamada de API interna torna o caminho mais longo e inevitavelmente prejudica o desempenho.
  • Viola a política corporativa de confiança zero – Como a chamada de API interna precisa ser roteada para a nuvem, é necessário abrir brechas no firewall. Isso deixa a rede corporativa exposta a ataques e invasões, além de introduzir uma complexidade desnecessária.

Por motivos de segurança, o tráfego interno de APIs deve permanecer protegido pelo firewall corporativo, o que impede o roteamento de chamadas para uma nuvem externa. Isso se aplica até mesmo a empresas que hospedam aplicações e APIs em seus próprios ambientes de nuvem privada.

Como o NGINX pode ajudar?

Há várias maneiras pelas quais o NGINX ajuda você a gerenciar suas APIs internas.

  • O NGINX é conhecido por seu desempenho. Segundo a GigaOm, uma empresa independente de análise e pesquisa de tecnologia, o NGINX consegue processar chamadas de API de ponta a ponta em menos de 30 ms, mesmo com taxas superiores a 30.000 solicitações por segundo. Saiba mais sobre os resultados dos testes de desempenho em nosso blog. Publicamos uma arquitetura de referência com diretrizes detalhadas para a disponibilização de APIs em tempo real.
  • O NGINX e o NGINX Plus foram projetados para contêineres, a infraestrutura preferida para o desenvolvimento de microsserviços. Com uma área de ocupação de aproximadamente 2 MB, o NGINX e o NGINX Plus são executados em servidores Linux compatíveis (bare metal, em nuvem ou virtuais) ou diretamente em contêineres Docker orquestrados pelo Kubernetes e por outras plataformas.
  • A arquitetura inovadora da solução de gerenciamento de APIs do NGINX foi projetada para oferecer escalabilidade. O NGINX permite o gerenciamento distribuído de APIs ao desacoplar o gateway de API (NGINX Plus) do software de gerenciamento de APIs (NGINX Controller [agora F5 NGINX Management Suite] ). Não há dependência entre os dois durante a execução, o que garante que o tráfego de APIs seja processado sem sobrecarga desnecessária, como scripts adicionais, chamadas ao banco de dados ou outra lógica do plano de controle. A arquitetura desacoplada oferece máxima flexibilidade para escolher onde implantar o Controller [NGINX Management Suite] e os gateways de API do NGINX Plus — você pode implantá-los localmente, na nuvem pública ou até mesmo em várias nuvens públicas, caso sua rede corporativa se estenda até a nuvem. As chamadas internas de API não precisam ser roteadas por uma nuvem externa à rede corporativa, pois os gateways de API do NGINX Plus que processam o tráfego de APIs podem ser implantados de forma independente atrás do firewall corporativo.

Você tem APIs internas? Ou está planejando desenvolver APIs internas? Está roteando suas APIs internas pela nuvem? Gostaríamos de saber sua opinião nos comentários abaixo. Enquanto isso, comece com uma avaliação gratuita de 30 dias do NGINX Controller [NGINX Management Suite] hoje mesmo ou entre em contato conosco para conversar sobre seus casos de uso.


Compartilhar

Sobre o autor

Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
NGINX | 10/10/2024

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade

Descubra como o F5 NGINX One aprimora o gerenciamento e a observabilidade de ambientes híbridos e multicloud ao oferecer um console web centralizado baseado em SaaS, com insights em tempo real, conformidade automatizada e gerenciamento simplificado de configurações.

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa
NGINX | 17/06/2024

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa

Descubra como transformar uma definição de esquema OpenAPI em uma configuração NGINX totalmente funcional, operando como um API Gateway com a segurança de um Web Application Firewall e um Portal do Desenvolvedor, usando uma abordagem declarativa de API.

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor
NGINX | 14/07/2021

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor

Picos de tráfego e sobrecarga de servidores são preocupações sérias para varejistas online em qualquer época, mas especialmente durante a “Cyber Season” de compras de fim de ano. Detalhamos como você pode aproveitar as soluções de entrega de aplicações de nível de produção da NGINX para se preparar para aumentos repentinos de tráfego.

Distribuição segura de chaves privadas SSL com o NGINX
NGINX | 02/04/2019

Distribuição segura de chaves privadas SSL com o NGINX

Descrevemos três maneiras progressivamente mais seguras de proteger chaves privadas SSL ao configurar o NGINX para processar tráfego HTTPS: permitir acesso de leitura apenas ao usuário root, criptografar as chaves com senhas armazenadas separadamente e distribuir as senhas a partir de um repositório central.

Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX
NGINX | 24/05/2018

Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX

O módulo JavaScript do NGINX lançado com o NGINX Plus R15 oferece suporte a subsolicitações, possibilitando uma classe totalmente nova de casos de uso para o NGINX Plus. Este exemplo completo também usa a API do NGINX Plus e os módulos de chave-valor para converter solicitações de API dos clientes em solicitações separadas para as APIs dos microsserviços que compõem um aplicativo.

Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus
NGINX | 19/04/2016

Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus

Confira dicas para evitar o esgotamento de portas efêmeras com ajustes no kernel do Linux, conexões keepalive e conexões vinculadas dinamicamente a endereços IP locais.