Algumas APIs voltadas para o consumidor são tão difundidas que se tornaram nomes conhecidos – pense no Google Maps e no Stripe – mas as APIs internas são a verdadeira força motriz da economia de APIs.
APIs internas – com as quais queremos dizer APIs expostas apenas a clientes e desenvolvedores dentro de uma organização – são um pilar fundamental para os 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 pesquisa recente da IDC, APIs – The Determining Agents Between Success or Failure of Digital Business , dar suporte à integração interna de aplicativos e produtos é uma das principais prioridades para iniciativas de desenvolvimento de APIs em empresas.
Por que as APIs internas são importantes? Quais são os benefícios das APIs internas? E, crucialmente, qual é a arquitetura mais otimizada para gerenciá-los? Este blog aborda essas questões para ajudar você a entregar APIs internas com segurança e em escala.
APIs internas desbloqueiam silos de dados e constroem pontes ao abrir os diferentes sistemas de backend de uma organização para uso por outros desenvolvedores dentro de uma linha de negócios (LOB). Por exemplo, a organização de marketing de um fabricante pode precisar de visibilidade nos sistemas usados pela organização da cadeia de suprimentos para determinar se deve descontar certos produtos e modelos para atingir o segmento de mercado certo e maximizar as receitas.
Como as APIs internas quebram os silos? Eles fornecem uma interface comum que suporta troca de dados usando formatos padrão como HTML ou JSON. É fácil e rápido não apenas criar uma API, mas também consumi-la. Compare isso com o uso de conectores de banco de dados proprietários e protocolos de intercâmbio de dados para recuperar informações de repositórios de dados. Ao reduzir o atrito, as APIs melhoram significativamente a produtividade. Essas APIs não são expostas a desenvolvedores externos e terceiros. O tráfego interno da API está dentro da organização – portanto, dentro do firewall corporativo.
APIs internas aceleram o tempo de colocação no mercado e reduzem o tempo e o custo do desenvolvimento de software. Vamos analisar os benefícios em detalhes.
APIs internas fornecem uma camada de abstração facilmente consumível para conectar várias partes de um negócio e oferecem flexibilidade para se adaptar a requisitos em constante mudança. Em vez de criar uma pilha de tecnologia isolada para os aplicativos de cada LOB, os desenvolvedores em 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, melhorando assim a produtividade do desenvolvedor e da TI.
APIs internas promovem o desenvolvimento de um sistema de registro que serve como fonte confiável de elementos de dados importantes em uma organização. Para garantir a integridade dos dados, deve haver um – e apenas um – sistema de registro para uma determinada informação. Se cada LOB tiver seus próprios dados ou mesmo uma versão ligeiramente diferente, isso levará a discrepâncias e confusão. APIs internas são um mecanismo eficiente para acessar essa única fonte de verdade.
A eficiência resulta em economia de custos – não há necessidade de construir plataformas proprietárias com personalizações pesadas dentro de cada LOB. Também não há necessidade de construir ou comprar conectores e integrações caros que são essencialmente ferramentas pontuais.
Como exemplo, o governo federal da Estônia opera o X‑Road, uma plataforma de troca de dados que conecta todas as agências governamentais de forma integrada. Os cidadãos estonianos nem precisam portar suas carteiras de motorista, pois essas informações podem ser rapidamente recuperadas do registro populacional e do 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 à informação, a X-Road poupou ao governo e aos cidadãos da Estónia 2,8 milhões de horas-homem num único ano (2014).
Vamos analisar algumas práticas recomendadas para gerenciar APIs internas.
Para definir, publicar, proteger, monitorar e analisar com eficiência APIs internas e externas, você precisa de uma solução de gerenciamento de API . Também é necessário um portal para desenvolvedores que permita que desenvolvedores internos aprendam rapidamente sobre APIs publicadas.
Microsserviços são uma nova abordagem arquitetônica para desenvolvimento de software que está ganhando força. Muitas empresas estão reestruturando seus aplicativos internos existentes ou criando novos usando essa estrutura. Em arquiteturas de microsserviços, as APIs são o meio de comunicação entre clientes e o aplicativo baseado em microsserviços e entre os microsserviços que compõem o aplicativo. Quando um cliente de API solicita recursos de um aplicativo de backend, um gateway de API roteia o tráfego para o microsserviço apropriado. O gateway de API também autentica chamadas e aplica limites de taxa para evitar ataques que podem ocorrer se agentes externos conseguirem violar o firewall corporativo.
Os microsserviços são mais “conversadores” do que os aplicativos monolíticos, com altos volumes de tráfego “leste-oeste” entre os microsserviços. Portanto, é muito importante escolher um gateway de alto desempenho que possa processar em alto rendimento (solicitações por segundo) e entregar respostas muito rapidamente. As solicitações do cliente geralmente geram várias chamadas de API para diferentes microsserviços, portanto, um atraso no gateway de API para até mesmo uma chamada pode ter um efeito em cascata e resultar em latências muito altas.
Embora existam soluções baseadas em nuvem de primeira geração que fornecem gerenciamento de API de ciclo de vida completo, elas não são adequadas para lidar com APIs internas. Como suas arquiteturas acoplam firmemente o plano de dados (o gateway de API que processa o tráfego de API) e o plano de controle (que executa funções de gerenciamento de API), no tempo de execução, cada chamada de API interna deve ser roteada pela nuvem da solução de gerenciamento de API. Isto tem duas desvantagens:
Por motivos de segurança, o tráfego interno da API deve permanecer atrás do firewall corporativo, o que impede o roteamento de chamadas para uma nuvem externa. Isso é verdade até mesmo para empresas que hospedam aplicativos e APIs em seus próprios ambientes de nuvem privada.
Há várias maneiras pelas quais o NGINX ajuda você a gerenciar suas APIs internas.
A arquitetura inovadora da solução de gerenciamento de API NGINX foi projetada para escala. O NGINX oferece suporte ao gerenciamento de API distribuído ao desacoplar o gateway de API (NGINX Plus) do software de gerenciamento de API (NGINX Controller [agora F5 NGINX Management Suite] ). Não há dependência de tempo de execução entre os dois, o que garante que o tráfego da API seja processado sem sobrecarga desnecessária, como scripts adicionais, chamadas de banco de dados ou outra lógica do plano de controle.
A arquitetura desacoplada oferece a máxima flexibilidade em relação ao local onde você implanta o Controller [NGINX Management Suite] e os gateways de API do NGINX Plus. Você pode implantá-los no local, na nuvem pública ou até mesmo em várias nuvens públicas se sua rede corporativa se estender até a nuvem. As chamadas de API internas não precisam ser roteadas por meio de uma nuvem fora da rede corporativa, pois os gateways de API do NGINX Plus que lidam com o tráfego de API podem ser implantados independentemente por trás do firewall corporativo.
Você tem APIs internas? Ou você está planejando desenvolver APIs internas? Você está roteando suas APIs internas pela nuvem? Gostaríamos muito de ouvir sua opinião nos comentários abaixo. Enquanto isso, comece hoje mesmo com uma avaliação gratuita de 30 dias do NGINX Controller [NGINX Management Suite] ou entre em contato conosco para discutir seus casos de uso .
"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."