7 estágios do ciclo de vida das APIs
Assim como os seres vivos, as APIs têm um ciclo de vida - e em cada estágio do desenvolvimento de uma API existem recomendações e boas práticas a serem seguidas. O intuito desse conteúdo é definir o significado e como você pode potencializar sua estratégia de negócios a partir da compreensão do ciclo de vida de uma API.
Antes de mais nada temos que compreender que as APIs não são simplesmente ativos tecnológicos, são ativos de negócios. A estratégia de APIs deve estar conectada com a estratégia de negócios para que as organizações consigam aumentar a experiência dos clientes, aplicando conceitos de conectividade modernos - como arquitetura orientada a eventos, microsserviços, computação em nuvem, inteligência artificial e open everything - e que estejam focados em se tornarem cada vez mais conectados, digitais e abertos.
O ciclo de vida das APIs é o conceito em que elas existem sob várias fases, e cada uma tem sua relevância em todo o processo de desenvolvimento, operações e estratégias de negócio da organização.
É importante ressaltar que não existe consenso na comunidade sobre quais são todos os estágios de vida de uma API, porque dependerá de diversos fatores como políticas internas de desenvolvimento de APIs, processos de governança e operações da organização, tipo de API, casos de uso e etc. Ou seja, você encontrará conteúdos que falam sobre três, quatro, cinco estágios e por aí vai. No fim das contas, a quantidade não é o mais relevante, mas sim a explicação do ciclo como um todo.
7 estágios do ciclo de vida das APIs
Nesse conteúdo dividiremos o ciclo de vida em 7 estágios, que são:
Vamos entender cada um deles de maneira mais detalhada.
1. Planejamento
Todas as fases do ciclo de vida da API têm sua devida importância, mas é fato que se a primeira delas não for bem planejada e executada, impactará diretamente em todas as outras fases, seja no prazo de entrega, no desenvolvimento da própria API, na expectativa dos consumidores e por aí vai. Então é preciso ter em mente que a API é concebida para ser utilizada. Esse é o propósito principal dela. No planejamento, todas as partes interessadas (stakeholders) deverão participar. Pessoas de backend, frontend, operações, segurança, de negócio e também possíveis consumidores. No artigo em que escrevi sobre API First, me aprofundo sobre a importância e os benefícios de adotar essa abordagem de desenvolvimento. Sua interface primeiro, a implementação depois. Esse é um dos princípios do API First.
Sendo assim, o planejamento se torna vital para todo o ciclo de vida: mapear quais são os cenários de uso, recursos, operações, padrões de segurança, design e versionamento que serão utilizados, tudo isso deve ser definido no planejamento.
2. Projeto
Após o planejamento, começamos, de fato, a colocar a "mão na massa". Nesta fase, criamos a interface/contrato da nossa API, que será desenhar tudo o que foi pensado e discutido no planejamento em um documento chamado swagger, utilizando a especificação OpenAPI.
Então faremos o design dos parâmetros, recursos, operações, autenticação, autorização, códigos de status, tratamento de erros, modelos etc. Sua documentação deve ser autodescritiva! Outro princípio de API First. Quanto maior a experiência do desenvolvedor, mais rápido será o ROI, a absorção pelos consumidores e também a disseminação dessa API no mercado.
3. Desenvolvimento
A utilização de ferramentas para automatizar e otimizar todo o processo de criação e exposição de uma API é necessária, mas no desenvolvimento ela é ainda mais importante. Ferramentas que consigam a partir do contrato gerar SDKs e mocks para que os consumidores possam testar e dar feedbacks (e também desenvolverem as aplicações que vão consumir essa API) e ferramentas que consigam traduzir o modelo lógico de dados para modelo lógico computacional para que o desenvolvedor do backend consiga otimizar seu desenvolvimento.
Esse é um conceito em engenharia de software que chamamos de paralelismo, uma das essências e um dos maiores benefícios da abordagem API First.
4. Testes
Os testes também fazem parte do desenvolvimento. Você não testa somente quando vai colocar em produção, e sim durante todo o ciclo de desenvolvimento, certo? Certo?
Mas, antes da virada para produção serão feitos mais e mais testes para garantir que a publicação seja bem sucedida! E assim como na fase de desenvolvimento, o maior aliado na fase de testes é o próprio cliente, que serão os consumidores dessa API de fato. Então, trabalhar com o conceito de beta testers é importante para a estratégia como um todo, pois eles trarão feedbacks e, com certeza (absoluta!), encontrarão erros e, consequentemente, ajustes a serem realizados.
A utilização de mocks para acelerar o processo e diminuir o atrito nos testes de integração também é essencial. Além disso, as ferramentas de API Testing são de extrema importância para que sejam validados os diversos tipos de cenários que foram mapeados no planejamento, bem como testes de carga e segurança.
5. Publicação
Um ponto que não foi comentado na fase do planejamento (propositalmente) e que deve ser desenhado é a estratégia de divulgação dessa API, o go-to-market.
Como disse no início deste conteúdo, a estratégia de APIs deve estar conectada com a estratégia de negócios. É preciso pensar nas nossas APIs como um produto, por isso o lançamento também deve ser pensado estrategicamente.
Qual o público-alvo? Por onde e como será feita a divulgação? Qual percentual de consumidores utilizando a API pretendemos alcançar em X tempo? Essas são algumas perguntas que devem ser respondidas desde a fase do planejamento, para que quando a API for publicada, seja possível medir se os objetivos iniciais mapeados foram alcançados.
A utilização de um portal de desenvolvedores é fundamental, pois é a vitrine de suas APIs e um aliado na estratégia de disseminação dessa API para todo o ecossistema de consumidores, sejam eles parceiros, clientes internos ou externos.
6. Monitoramento
Esperamos que o monitoramento seja a fase mais duradoura e, inversamente proporcional a duração, esperamos que sejam os problemas. Mas como diria minha avó, querer não é poder! É fato que problemas vão surgir e que a API precisará ser melhorada, que alguns planejamentos do início talvez não aconteçam da forma esperada, que o mercado ou regulação mude e passe a ser necessário se adaptar... São diversos os motivos para entender que monitorar a API é peça chave para garantir que ela esteja acessível e altamente disponível.
A criação do processo de retroalimentação de melhoria contínua é necessária para garantir que a API esteja saudável por meio da análise de códigos de status, latência média, tamanho do payload e etc. Garantir que está sendo utilizada, informações como quantidade de aplicativos que consomem, top 10 de aplicativos, percentual de crescimento em X tempo, aplicativos engajados e desengajados. E claro, não só o monitoramento reativo, mas o monitoramento proativo também é fundamental, onde seja possível configurar gatilhos a partir de comportamentos anormais da API que disparam alertas para que seja sanado um problema antes mesmo de acontecer, impactando o mínimo possível as aplicações e, consequentemente, melhorando a experiência dos clientes.
A utilização de uma plataforma de gerenciamento de APIs se torna item obrigatório, pois ela conseguirá trazer todos esses dados de telemetria das APIs para que o monitoramento seja trabalhado de forma reativa e proativa, trazendo observabilidade de ecossistema de APIs da organização.
7. Descontinuação
As APIs também se aposentam, e essa é a última fase do ciclo de vida delas.
Geralmente uma API é descontinuada porque tem muitos bugs, é insegura, ineficiente, os custos são altos, o serviço não serve mais ao propósito de negócio e não atende mais casos de uso. São diversos os motivos para que uma API seja descontinuada, e assim como em qualquer fase, o foco sempre deve ser em quem vai consumi-la, para que o impacto (nesse caso, da aposentadoria) seja o mínimo possível.
Aqui, a comunicação é a palavra-chave. Os consumidores devem ser informados da forma mais transparente possível que a API será descontinuada, por que, quando e como será. Além da comunicação por meio dos canais com o cliente, também existem estratégias na própria API que podem auxiliar, como a utilização do header API Sunset, no qual o header sunset com os dados finais daquela API é inserido no retorno da resposta.
A ideia principal do versionamento ou descontinuação de uma API é que a mudança deve ser gradual, assim como o pôr-do-sol, para que haja o mínimo de impacto nos consumidores.
Conclusão
Neste artigo, definimos o que é o ciclo de vida das APIs, quais são as fases e as boas práticas que utilizamos em cada uma para garantir que a API cumpra o propósito dela, que é ser utilizada!
Ouso dizer que é impossível ter sucesso em todas as fases sem um processo de governança que garanta consistência, segurança e qualidade em escala para todo o processo de desenvolvimento e operações das APIs. Seguindo as recomendações desse artigo, provavelmente sua estratégia de negócios será potencializada pela sua estratégia de API, e é exatamente sobre isso o mindset de API Economy.
Agradeço a você pela leitura! Nos vemos no próximo!
Inicie sua jornada conosco
Estamos prontos para guiar o seu negócio rumo ao futuro, com a solução certa para você se beneficiar do potencial das APIs e integrações modernas.
Conteúdos relacionados
Confira os conteúdos produzidos pela nossa equipe
Sua história de sucesso começa aqui
Conte com nosso apoio para levar as melhores integrações para o seu negócio, com soluções e equipes profissionais que são referência no mercado.