As empresas dependem cada vez mais de APIs para conectar aplicativos e dados entre linhas de negócios, integrar-se com parceiros e proporcionar experiências aos clientes. De acordo com o TechRadar , hoje a empresa média está aproveitando um total de 15.564 APIs, um aumento de 201% em relação ao ano anterior .
À medida que o número de APIs continua crescendo , a complexidade de gerenciar seu portfólio de APIs aumenta. Fica mais difícil descobrir e rastrear quais APIs estão disponíveis e onde elas estão localizadas, bem como encontrar documentação sobre como usá-las. Sem uma estratégia de API holística, as APIs podem proliferar mais rápido do que suas equipes de operações de plataforma conseguem gerenciá-las. Chamamos esse problema de proliferação de APIs e, em um post anterior, explicamos por que isso é uma ameaça tão significativa. Nesta postagem, exploramos em detalhes como você pode combater a proliferação de APIs configurando um portal de desenvolvedor de API com a ajuda do NGINX.
Em última análise, as APIs não podem ser úteis até que sejam usadas – o que significa que os consumidores de API precisam de uma maneira de encontrá-las. Sem os sistemas adequados, a proliferação de APIs dificulta que os desenvolvedores encontrem as APIs necessárias para seus aplicativos. Na melhor das hipóteses, as listas de APIs são mantidas por diferentes linhas de negócios e o conhecimento é compartilhado entre as equipes por meio de redes informais de engenheiros.
Um dos primeiros passos para combater a proliferação de APIs é criar uma única fonte de verdade para suas APIs. Esse processo começa com a criação de um inventário de suas APIs. Um inventário preciso é um desafio, no entanto – é um alvo em constante movimento, à medida que novas APIs são introduzidas e as antigas são descontinuadas. Você também precisa encontrar quaisquer “APIs sombra” em seus ambientes – APIs que foram esquecidas ao longo do tempo, foram indevidamente descontinuadas ou foram criadas fora de seus processos padrão.
APIs não gerenciadas são um dos sintomas mais insidiosos da proliferação de APIs, com implicações óbvias de segurança e custos ocultos. Sem um inventário preciso das APIs disponíveis, suas equipes de API precisam gastar tempo procurando documentação. Há um risco significativo de esforço duplicado e desnecessário, pois várias equipes criam funcionalidades semelhantes. E alterações em uma determinada API podem levar a cascatas dispendiosas de retrabalho ou até mesmo interrupções sem o controle de versão adequado.
Técnicas como descoberta automatizada de API podem ajudar você a identificar e tratar os sintomas de APIs não gerenciadas. Mas para resolver o problema, você precisa eliminar as causas raízes: processos quebrados e falta de propriedade. Na prática, integrar o inventário e a documentação da API aos seus pipelines de CI/CD é a única abordagem que garante visibilidade em todo o seu portfólio de API a longo prazo. Em vez de ter que rastrear manualmente cada API conforme ela fica online, você só precisa identificar e corrigir exceções.
Agilizar a descoberta de API é uma área em que um portal de desenvolvedor de API pode ajudar. Ele fornece um local central para que os consumidores de API descubram APIs, leiam documentação e experimentem APIs antes de integrá-las em seus aplicativos. Seu portal de desenvolvedor de API também pode servir como um catálogo central de APIs, completo com informações de propriedade e contato, para que todos saibam quem é responsável por manter as APIs para diferentes serviços.
Um componente central da nossa arquitetura de referência de API<.htmla>, um portal de desenvolvedor de API eficaz permite alguns casos de uso importantes:
Como parte da sua estratégia de API, você precisa descobrir como manter seu portal de desenvolvedor de API. Você precisa de uma abordagem automatizada e de baixo contato que integre perfeitamente APIs de publicação, controle de versão e documentação sem criar mais trabalho para suas equipes de API.
Para permitir a descoberta de APIs de forma integrada, você precisa criar uma única fonte de verdade onde os desenvolvedores possam encontrar suas APIs, aprender a usá-las e integrá-las em seus projetos. Isso significa que você precisará de um portal para desenvolvedores e documentação atualizada .
O API Connectivity Manager , parte do F5 NGINX Management Suite, ajuda você a integrar publicação, controle de versão e documentação de APIs diretamente em seus fluxos de trabalho de desenvolvimento, para que seu portal de desenvolvedor de API nunca fique desatualizado. Além de facilitar a criação de portais de desenvolvedores de API para hospedar suas APIs e documentação, o API Connectivity Manager permite que você adicione páginas personalizadas e personalize completamente o portal do desenvolvedor para combinar com sua marca.
Vamos ver como o API Connectivity Manager ajuda você a abordar alguns casos de uso específicos. Consulte a documentação do API Connectivity Manager para obter instruções detalhadas sobre como configurar um cluster de portal do desenvolvedor e publicar um portal do desenvolvedor .
Geralmente, há um grande abismo entre o nível de qualidade e detalhes que seus consumidores de API esperam da documentação e o que seus ocupados desenvolvedores de API podem entregar de forma realista com tempo e recursos limitados. Muitas ferramentas de documentação desenvolvidas internamente não conseguem se integrar ao ciclo de vida de desenvolvimento ou a outros sistemas de engenharia. Não precisa ser assim.
Como o NGINX pode ajudar: O API Connectivity Manager usa a especificação OpenAPI para publicar APIs no gateway de API e gerar automaticamente a documentação que as acompanha no portal do desenvolvedor, economizando tempo dos desenvolvedores de API e garantindo que os consumidores de API sempre possam encontrar o que precisam. Você pode carregar arquivos de especificação OpenAPI diretamente por meio da interface de usuário do API Connectivity Manager ou enviando uma chamada por meio da API REST. Isso facilita a automatização do processo de documentação por meio do seu pipeline de CI/CD.
Para publicar documentação no API Connectivity Manager, clique em Serviços na coluna de navegação à esquerda para abrir a guia Serviços . Clique no nome do seu espaço de trabalho ou crie um novo .
Quando estiver no Workspace, clique em Documentação da API abaixo da caixa que contém o nome e a descrição do seu Workspace ( example-api na captura de tela). Basta clicar no botão Adicionar documento de API para carregar seu arquivo de especificação OpenAPI. Clique no botão Salvar para publicar a documentação no portal do desenvolvedor.
Mudanças de versão devem sempre ser tratadas com cuidado, e isso é especialmente verdadeiro em ambientes de microsserviços onde muitos serviços podem estar interagindo com uma única API. Sem uma abordagem cuidadosa para introduzir novas versões e aposentar as antigas, uma única mudança de quebra pode levar a uma interrupção em cascata em dezenas de microsserviços.
Como o NGINX pode ajudar: O uso de arquivos de especificação OpenAPI com o API Connectivity Manager permite um controle fácil de versões para suas APIs. Além de definir o número da versão, você pode fornecer documentação para cada versão e gerenciar seu status (mais recente, ativo, descontinuado ou obsoleto).
Para publicar uma nova versão de uma API, clique em Serviços na coluna de navegação à esquerda. Clique no nome do seu espaço de trabalho na tabela e, em seguida, clique no nome do seu ambiente na página que é aberta. Em seguida, clique no botão + Adicionar proxy . A partir daqui, você pode carregar a especificação OpenAPI, definir o caminho base e a versão para criar o URI (por exemplo, /api/v2/ ) e inserir outros metadados importantes. Clique no botão Publicar para salvar e publicar seu proxy de API.
A versão original da API permanece disponível junto com sua nova versão. Isso dá aos seus usuários tempo para migrarem gradualmente seus aplicativos ou serviços para a versão mais recente. Quando estiver pronto, você pode descontinuar totalmente a versão original da sua API. A Figura 2 mostra duas versões da API Sentence Generator publicadas e em produção.
Para impulsionar a adoção de suas APIs, você precisa tornar o processo de integração o mais simples possível para seus consumidores de API. Depois que os usuários encontram suas APIs, eles precisam de um método para fazer login com segurança no portal do desenvolvedor e gerar credenciais. Essas credenciais concedem a eles acesso à funcionalidade da sua API. Na maioria das vezes, você desejará implementar um fluxo de trabalho autogerenciado para que os usuários possam se inscrever por conta própria.
Como o NGINX pode ajudar: O API Connectivity Manager oferece suporte a fluxos de trabalho de API autogerenciados no portal do desenvolvedor para que os usuários possam gerar suas próprias credenciais de recursos para acessar APIs. As credenciais de recursos podem ser gerenciadas no portal usando chaves de API ou autenticação HTTP Basic . Você também pode habilitar o logon único (SSO) no portal do desenvolvedor para proteger o acesso e permitir que consumidores de API autenticados gerenciem credenciais de recursos.
Para habilitar rapidamente o SSO no portal do desenvolvedor, clique em Infraestrutura na coluna de navegação à esquerda. Clique no nome do seu espaço de trabalho na tabela (na Figura 3, é team-sentence ).
Na tabela da página Espaço de Trabalho, clique no nome do Ambiente que deseja configurar (na Figura 4, é prod ).
Na seção Clusters do Portal do Desenvolvedor , clique no ícone … na coluna Ações do portal do desenvolvedor no qual você está trabalhando e selecione Editar Configuração Avançada no menu suspenso. Na Figura 5, o único cluster do Portal do Desenvolvedor é devportal-cluster .
Em seguida, clique em Políticas Globais na coluna de navegação à esquerda. Configure a política OpenID Connect Relying Party clicando no ícone … na coluna Ações da sua linha e selecionando Editar Política no menu suspenso. Para obter mais informações, consulte a documentação do API Connectivity Manager .
Uma maneira de medir o sucesso da sua estratégia de API é monitorar a métrica “tempo até a primeira chamada de API”, que revela quanto tempo leva para um desenvolvedor enviar uma solicitação básica com sua API.
Estabelecemos que uma documentação clara e concisa é essencial como o primeiro ponto de entrada para sua API, onde seus usuários obtêm uma compreensão básica de como trabalhar com uma API. Normalmente, os desenvolvedores devem então escrever um novo código para integrar a API em seu aplicativo antes que possam testar as solicitações da API. Você pode ajudar os desenvolvedores a começar muito mais rápido, fornecendo uma maneira de interagir diretamente com uma API no portal do desenvolvedor usando dados reais – efetivamente fazendo sua primeira chamada de API sem escrever uma única linha de código para seu aplicativo!
Como o NGINX pode ajudar: Depois de habilitar o SSO para seus portais de desenvolvedores do API Connectivity Manager, os consumidores de API podem usar o API Explorer para testar chamadas de API em suas páginas de documentação. Eles podem usar o API Explorer para explorar os endpoints, parâmetros, respostas e modelos de dados da API e testar chamadas de API diretamente com seus navegadores.
A Figura 7 mostra o API Explorer em ação – neste caso, testando a API Sentence Generator. O usuário seleciona as credenciais apropriadas, cria a solicitação e recebe uma resposta com dados reais da API.
As APIs são cruciais para sua organização. E o primeiro passo para governar e proteger suas APIs começa com um inventário de cada API, onde quer que esteja. Mas a descoberta de API é apenas parte da solução: você precisa criar inventário, documentação e controle de versão de API em seu ciclo de vida de desenvolvimento e engenharia para abordar as causas raiz da proliferação de API.
Inicie uma avaliação gratuita de 30 dias do NGINX Management Suite, que inclui acesso ao API Connectivity Manager , ao NGINX Plus como um gateway de API e ao NGINX App Protect para proteger suas APIs.
"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."