Técnicas para obter controle sobre a expansão indisciplinada de APIs
LarLar > Notícias > Técnicas para obter controle sobre a expansão indisciplinada de APIs

Técnicas para obter controle sobre a expansão indisciplinada de APIs

Aug 21, 2023

Imagens Getty

Quando não controlado, um grande portfólio de APIs pode rapidamente se tornar um grande problema – e um passivo caro – para as empresas. Sem uma estratégia e padronização de API bem definidas, os aplicativos podem facilmente sair do controle e causar expansão de API.

Quando ocorre a expansão da API, podem surgir ineficiências, como esforço de desenvolvimento duplicado em funcionalidades redundantes de aplicativos, exigindo maiores investimentos para manutenção e aumentando a complexidade do sistema. A necessidade de compatibilidade com versões anteriores para muitos consumidores pode ser imensamente complexa e cara. Múltiplas fontes de verdade também podem levar a conflitos de dados, resultando em experiências ruins e ambiguidade que podem reduzir a adoção.

Neste artigo, examinaremos algumas estratégias abrangentes que as equipes de software podem implementar para evitar a expansão de APIs ou, se necessário, recuperar o controle sobre um portfólio de APIs já mal gerenciado.

Gerenciar uma proliferação descontrolada de APIs exige um esforço concentrado das equipes de software para garantir que possam reduzir ao mínimo a complexidade geral, o custo de mudança e a manutenção emergencial.

Abordar a expansão da API começa com a determinação do escopo geral de impacto de uma API nas operações e no consumo de recursos. Freqüentemente, as APIs podem interagir com entidades de software dentro e fora da organização. O escopo do impacto das APIs é muitas vezes limitado quando os consumidores, sejam internos ou externos, estão explicitamente integrados a elas.

APIs disponíveis publicamente podem representar um grau significativamente maior de complexidade de gerenciamento. Além da classificação por escopo de impacto – que pode incluir qualquer número de componentes e endpoints fora do controle da organização – uma API pública singular pode muitas vezes incorporar vários formatos de dados, padrões de segurança e protocolos de comunicação. Como tal, é imperativo identificar a extensão da fragmentação durante a implementação do contrato e do protocolo.

Às vezes, as APIs precisarão migrar entre sistemas ao longo do seu ciclo de vida. Para permitir um caminho de transição tranquilo, as equipes de software precisarão preparar as APIs antes da migração para garantir que mantenham o estado desejado. Para reduzir problemas de transição, isto também pode exigir a calibração da migração para que as APIs migrem lentamente ao longo do tempo, em vez de em massa. Existem algumas técnicas básicas de versionamento de API que podem ser úteis nesse sentido, como permitir que os consumidores migrem para versões mais recentes enquanto os contratos mais antigos estão obsoletos. As equipes também podem criar bibliotecas acessíveis para tempos de execução populares, criar camadas de compatibilidade para APIs mais recentes ou adicionar sinalizadores de recursos específicos do consumidor para ajudar a oferecer suporte a uma migração perfeita.

Uma vez bem compreendidos o panorama e o impacto existentes, os passos subsequentes deverão centrar-se na convergência dos padrões existentes. Esta etapa pode ser executada em três “subetapas”, que analisaremos a seguir.

As equipes precisam medir e analisar regularmente o uso da API em todos os ambientes. Áreas onde existe pouco ou nenhum controle sobre os consumidores de API podem exigir a assistência de ferramentas ou plataformas de gerenciamento de API que forneçam suporte para recursos como simulação. Identifique as principais áreas de exposição, funcionalidades críticas e todos os formatos de API existentes.

APIs em portfólios grandes e não gerenciados muitas vezes podem exibir comportamentos redundantes que levam à duplicação de fontes de informação e esforços de desenvolvimento. É importante eliminar a ambigüidade das fontes, traçando fortes limites de domínio para as classificações de API e, talvez mais importante, para as responsabilidades de gerenciamento. Isso pode exigir a criação de novas APIs que sejam "versões consolidadas" das mais antigas, a descontinuação de APIs existentes que sejam consideradas redundantes ou simplesmente a atualização dos contratos de APIs existentes para restringir seu escopo.

Assim que ocorrer a consolidação funcional, é importante estabelecer convenções definitivas que se alinhem com as necessidades e objetivos do lado comercial que, em última análise, traçarão o caminho para transições, bem como para novos desenvolvimentos. Documentar e diagramar estas relações contribuirá muito para a construção de um consenso mais amplo sobre coisas como estruturas contratuais e protocolos subjacentes.