Já tem algum tempo que venho trabalhando com APIs, e gostaria de compartilhar com vocês os sucessos e também os fracassos — porque não — que tenho em minha experiência profissional. Obviamente, para facilitar, vou dividir essa experiência em vários artigos que vou publicar com a flag [Trilha APIs] no início do título do artigo.
Para começar vou falar do que vou chamar aqui de “guarda-chuva” das APIs. Esse “guarda-chuva” é o Gerenciamento de APIs. A palavra gerenciamento já nos diz muita coisa, mas quando se junta com a palavra API, o que vem a ser isso? É um software igual ao Apigee ou o Mulesoft? Ou alguma coisa a mais?
Quem dera fosse tão simples assim, apenas um software! Apesar de muitos acharem que a definição de Gerenciamento de APIs é um software, a verdade pura e simples é que NÃO são a mesma coisa. Na verdade, está muito longe disso, está mais para as respostas para as seguintes perguntas que vou fazer abaixo:
· Qual é o público alvo das APIs a serem planejadas e implementadas?
· Qual o modelo de negócio para monetização que vai ser utilizado? Quantidade de acessos?
· Quanto vamos cobrar pelo acesso? Se o modelo é quantidade de acesso!
· Como vamos cobrar pelo acesso? Se o modelo é quantidade de acesso!
· Que tipo de documentação temos que fazer para os desenvolvedores poderem entender e consumir os serviços das APIs? Open API?
· Qual o tipo de segurança que vamos ter para o acesso das APIs?
· Onde vamos publicar essas APIs? Apigee?
· Como vamos monitorar o uso das APIs?
· Como vamos controlar as versões publicadas de uma mesma API?
· Como vai ser feito o processo de CD (contínuos delivery) dessas APIs? Vai ter estágios(prod/dev/test) e versões? Os clientes poderão acessar versões antigas e também as novas escolhendo uma versão do end-point?
· Como será o controle de versão das documentações das APIs para as diversas versões de APIs?
Como pode ser visto, o processo de Gerenciamento de APIs é complicado e nele está tudo oque deve ser feito para que a experiência do cliente seja satisfatória e sem dores de cabeça.
Essa quantidade de perguntas que fiz, evita um monte de problemas ainda no início do projeto. Muita gente anda vendendo Gerenciamento de APIs como se fosse uma ferramenta, mas na verdade as ferramentas existentes são para ajudar no processo de Gerenciamento das APIs. Muito cuidado com essas definições, a ferramenta não deve ser o mais importante, ela é apenas um auxiliador para nos ajudar nesse gerenciamento. Faça as perguntas, dê as respostas e use uma ferramenta para implementar o que foi definido.
Olha que não estou entrando em detalhes como verticalização das APIs, que remete nas tecnologias que as APIs devem ser construídas e com qual arquitetura de software as mesmas devem ser planejadas. Isso influência no custo para que a estrutura de TI suporte uma quantidade X de requisições e também no processamento das APIs. Se você não usar a tecnologia certa para a construção das suas APIs, pode ser que quando você for construir a sua planilha de preços, você não vai conseguir ser competitivo o suficiente.
Por isso que fazer um brainstorm para responder as perguntas sugeridas acima, é muito importante para evitar gastar recursos de tempo, dinheiro e pessoas em algo que está nascendo para não dar certo. Pense nisso, reflita sobre o assunto e lembre-se que entre o sucesso e o fracasso em tudo nessa nossa vida está em uma simples palavra, gestão.
Não deixe de comentar, comentários são importantes para nós fazer pensar e para interagir com outras pessoas que tem pontos em comum e também diferentes, que no fim nos ajuda a evoluir como pessoas e profissionais.
Sucesso para todos e até o próximo artigo desta flag [Trilha APIs]
Segue cupons de desconto para vocês fazerem os meus cursos sobre APIs que estão publicados na plataforma Udemy, enjoy it!
Aprenda a Criar Especificações de APIs com Swagger e OpenAPI
Implementando APIs com Apigee + Node.js + Docker + Heroku
Cleison Melo
Estía Training