[Série] Governança de API
Tags: api, governance, development, devops
Published: 2020-07-21 01:30:42

Nos últimos meses tenho notado um aumento substancial da utilização do termo API. Empresas estão cada dia mais criando e consumindo APIs e a procura por desenvolvedores que sabem construir APIs também tem crescido. Existem inúmeras maneiras de construir e fornecer uma API, para isso podemos citar grandes empresas que possuem soluções prontas e de alto custo visando entregar uma API no menor tempo possível, ou podemos construir do zero a um baixo custo nossas próprias soluções e entregar uma API gastando um tempo razoável.

Mas a maioria dessas soluções não são capazes de entregar um recurso fundamental: Gerenciamento do Ciclo de vida do desenvolvimento. Um desenvolvedor passa algum tempo criando APIs úteis e robustas, mas acaba lutando com a evolução orgânica do seu código e com as mudanças que o meio negocial pode impor no desenvolvimento, como a famosa frase: precisamos dessa alteração para amanhã. Será se esse desenvolvedor é capaz de informa qual o verdadeiro impacto que uma simples mudança de parâmetro pode trazer para todos os clientes?

> 👾🎤 Isso não faz sentido, o que mais existe por ai são ferramentas de ALM, DevOps ou acompanhamento de projeto.
> -- Leitor ansioso

Para esses leitores, só posso responder que continuem lendo. E que o foco desse artigo é **Governança de APIs**. E por ser um tema bem especifico, precisamos de ferramentas bem especificas. É diferente do que construir um software que vai rodar apenas no navegador ou no desktop. Deixa apresentar como é a construção de uma API sem o gerenciamento do ciclo de vida do desenvolvimento.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/02yf0qxepz7zywx090sp.png)

Para as empresas cuja a estratégia de negócio tem como objetivo entregar API para um mercado em potencial, a governança é uma necessidade. Não sabe do que estou falando sugiro que naveguem no site [ProgrammableWeb](https://www.programmableweb.com/) ou procure pelos temas [Open Banking](https://www.infomoney.com.br/consumo/open-banking-o-que-e-e-como-funciona/) ou [Open Insurance](https://www.revistaapolice.com.br/2019/10/open-insurance-entenda-o-conceito-e-sua-aplicacao/).

## Atividades da governança de API

Foi falado um monte sobre governança de API e gerenciamento do ciclo de vida do desenvolvimento focando na entra de API. Mas afinal o que seria isso, quais são as atividades que diferenciam de uma construção de software para *web* ou *desktop*.

Primeiro preciso fazer uma pergunta a você; você sabe onde estão todas as APIs da sua empresa? Nesse exato momento consegue informar quais clientes estão consumindo suas APIs?

Nesse momento consigo definir a Governança de API como a disciplina que vai desenvolver um trabalho para entender onde as pessoas estão, ferramentas, serviços, habilidades, melhores e piores práticas. E cruzar com o anseio e desejos dos outros setores da empresa, com o objetivo de construir uma ponte entre o momento atual da empresa com o que pode acabar sendo uma futura estratégia de governança de API.

De nada adianta implantar uma solução completa e robusta que já foi validada em outros times, se não trabalhar pessoas, ferramentas, processos e cultura dos envolvidos.

> A cultura come a estratégia no café da manhã
> -- Peter Drucker 

A governança é especialmente benéfica para organizações que possuem um trabalho de construção de API ou arquiteturas de microsserviços, entregando consistência dos seus serviços para toda a organização. Além de ajudar a evitar problemas como código duplicado, acoplamento rígido entre componentes, falta de confiabilidade e economia.

Afinal o desejo de quem trabalha no time de governança é que as pessoas se importem com o design da API e estejam abertas a aprender como outras pessoas estão projetando suas APIs. E que os próprio time consiga defender o valor que um bom projeto pode agregar ao negocio em vez de simplesmente responder um ticket do JIRA. Pois o ticket não diz nada sobre a API ser bem projetada e consistente com outras equipes, a governança entre aqui.

Esse foi apenas o primeiro artigo da serie sobre Governança de API. Para os próximos episódios vamos abordar os seguintes temas com a visão da governança.

0. Introdução
1. [Centralização](https://dev.to/devzwiz/serie-governanca-de-api-centralizacao-2ebm)
2. [Contrato da API](https://dev.to/devzwiz/serie-governanca-de-api-contrato-da-api-2dd0)
3. Diretrizes de estilo
4. Reutilização
5. Automação
6. Versionamento
7. Política de descontinuação
8. Rastreamento / Observabilidade
9. Descoberta de API


## Referencial

- [Basic API Design Guidelines Are Your First Step Towards API Governance](https://nordicapis.com/ebooks/the-api-economy/)
- [Best Practices in API Governance](https://swagger.io/resources/articles/best-practices-in-api-governance/)
- [I Think We Will Have To Embrace Chaos With the Future of APIs](http://apievangelist.com/2020/01/21/i-think-we-will-have-to-embrace-chaos-with-the-future-of-apis/)
- [Por que devemos começar nossas APIs pelo contrato?](https://medium.com/@juscelioreis/por-que-devemos-come%C3%A7ar-nossas-apis-pelo-contrato-ee1de70af8b3)
- [Understanding  the API-First Approach to Building Products](https://swagger.io/resources/articles/adopting-an-api-first-approach/)
- [You Have to Know Where All Your APIs Are Before You Can Deliver On API](http://apievangelist.com/2018/02/06/you-have-to-know-where-all-your-apis-are-before-you-can-deliver-on-api/)

---

{% user juscelior %}