A Economia de APIs: Uma Questão de Sobrevivência Digital
O termo "API Economy" ou "Economia de APIs" se refere a um conjunto de práticas e modelo de negócios orbitando em torno do papel das APIs na economia digital moderna, e diretamente representa a exposição de serviços e recursos digitais de uma organização em forma de interfaces que abstraem o consumo desses recursos. O principal objetivo da economia de APIs é facilitar a criação de aplicações voltadas ao usuário, focadas em metas de negócio e melhoria na produtividade geral de projetos de software através de uma plataforma segura, gerenciável e escalável.
A economia de APIs é um viabilizador para tornar negócios e organizações em plataformas
Em um mundo conectado através de tecnologias móveis e dispositivos IoT (Internet of Things), gerando uma superabundância de dados, associado a crescente velocidade necessária para atender necessidades de seus usuários, as APIs se tornam os blocos de construção universais para quebrar esses silos de dados e permitir a concepção de soluções integradas cada vez mais personalizadas para cada indivíduo. Há muitos anos as APIs representam um componente de extrema importância na Engenharia de Software em termos de reuso de código, modularização e padronização, mas ganharam ainda mais relevância com a concepção da arquitetura de microsserviços, encorajada por grandes fornecedores como direcionamento no desenvolvimento de software de próxima geração.
Ao adotar a decomposição de aplicações em microsserviços, é possível tirar proveito de vantagens provindas da modularidade intrínseca da arquitetura, introduzindo capacidade de escalar rapidamente as aplicações, acompanhando o crescimento do negócio e as necessidades dos clientes. APIs são essenciais nesse ecossistema distribuído e modular, representando a porta de entrada para as funcionalidades de cada microsserviço ao fornecer uma interface padronizada e permitindo a comunicação eficiente entre as unidades.
A correlação entre o sucesso de uma estratégia de APIs e o sucesso do negócio está cada vez mais forte, e o uso das APIs já não é uma questão do PORQUÊ implementá-las, mas COMO implementá-las de maneira efetiva. Associadas ao uso de linhas de montagem DevOps e estratégias de automação dos processos de TI, elas representam mais um dos pilares para o crescimento e evolução de um negócio digital.
Planejar, Implementar, Operar, Suportar e Aposentar
De acordo com um estudo executado pela Red Hat, as sete boas práticas necessárias para um programa de APIs bem sucedido são:
- Focar implacavelmente no valor da API;
- Tornar o modelo de negócios claro desde o início;
- Projetar e implementar com o usuário em mente;
- Colocar as operações de API no topo da lista;
- Ser obsessivo com a experiência do desenvolvedor;
- Vá além do Marketing 101;
- Lembre-se da "aposentadoria" das APIs e da Gestão de Mudanças.
É importante ressaltar que o público-alvo de uma API deve ser bem definido desde o início. APIs podem ser públicas, privadas ou voltadas a parceiros; dirigidas à produtização de serviços providos pela organização ou à integração entre diferentes tecnologias e ecossistemas; impulsionar inovação, acelerar a resposta a cenários complexos, automatizar e aumentar processos executados manualmente. O diagrama abaixo descreve de maneira simples o relacionamento entre as diferentes categorias e disciplinas.
Ao citarmos o modelo de negócios, não se trata somente de questões como "Quem paga pelo serviço?" ou "Como funciona a cobrança pelo serviço?", mas de uma entidade maior que rege aspectos financeiros e organizacionais. As APIs devem se adaptar e complementar o modelo de negócios, não o caso oposto. O marketing atrelado ao programa de APIs deve ser direcionado de acordo com os tipos de audiência.
Processos diferenciados de segmentação de usuários, posicionamento no mercado e targeting podem ser adotados para um levantamento mais efetivo de informações, visando situar API como um produto legitimamente voltado ao público-alvo planejado. APIs não se tornam populares sem que os desenvolvedores que as consomem tenham tranquilidade de utilizá-las e confiança em seu resultado.
Desempenho, documentação clara, contratação instantânea, free-tier ou trial, transparência na precificação e cobrança, portal do desenvolvedor, são alguns dos elementos críticos para conseguir o engajamento dos desenvolvedores e estabelecer uma relação de longo prazo, seja um cliente, parceiro ou comunidade.
Adotar especificações (OpenAPI) e padrões abertos (REST, GraphQL, JSON, gRPC) potencializa ainda mais a adoção e engajamento, utilizando o conhecimento destilado de empresas e profissionais em termos de boas práticas na implementação, operação e documentação, além de viabilizar a interoperabilidade entre soluções e flexibilidade necessária para atender casos de uso diversos.
Também contribui diretamente na redução de custos de manutenção, sustentação e evolução devido a ampla disponibilidade de profissionais capacitados nestes domínios e ausência de custos relacionados a utilização de protocolos proprietários.
De maneira geral as APIs são um produto e simultaneamente fornecem um serviço, e portanto devem ser tratadas como tal. As atividades relacionadas a seu ciclo de vida, desde o projeto e implementação, operação, sustentação, gestão de mudanças e por fim sua aposentadoria, devem ser orquestrados focando principalmente em garantir corretude nas requisições, níveis de serviço adequados e qualidade de entrega, atendendo com agilidade e eficiência as novas necessidades dos clientes.
API Management e API Gateway
Resumidamente, definem-se os termos API Management e API Gateway da seguinte forma:
- O termo "API Management" se refere aos processos de controle, distribuição e análise de APIs que conectam aplicações e dados através das organizações. É uma disciplina que engloba o desenvolvimento e implementação de APIs como um todo, sendo essencial para implementação de APIs em ambientes enterprise-grade ao endereçar versionamento, segmentação de escopo de usuários, análise de utilização e monetização.
- O termo "API Gateway" pode se referir a um padrão de implementação que centraliza requisições à APIs através de um único ponto de entrada, contudo, comumente se refere à solução ou software que permite a implementação desse padrão. Está intimamente ligado ao API Management, representando uma forma tangível de gerenciar APIs dentro de um sistema real de forma eficiente, ou seja, além de contemplar funcionalidades técnicas para integração, exposição de endpoints, controle de tráfego e segurança, também trazem funcionalidades gerenciais como as citadas na definição anterior.
Uma solução de API Management pode ser fracionada em três camadas de serviços básicos: API Gateway, responsável pela orquestração técnica das APIs; Analytics, responsável pela coleta e análise de métricas; e Desenvolvedor, primeiro ponto de contato para utilizadores e principal interface de interação para desenvolvedores internos.
Conforme a quantidade de serviços e APIs aumenta, o relacionamento entre as interfaces e sua respectiva manutenção se torna também mais complexo. Em ambientes de média e grande escala é interessante adotar uma solução de API Management/API Gateway para simplificar a governança, versionamento, monitoração e análise de dados, provendo um único ponto de acesso controlado e gerenciado, inserindo uma camada adicional de segurança, além de permitir níveis de abstração maiores ao orquestrar e rotear requisições a diversos serviços, reduzindo a complexidade de acesso a funcionalidades do serviço.
Soluções como o Red Hat 3Scale API Management oferecem um ambiente completo para desenvolvimento, integração, publicação, gerenciamento e monetização de APIs, impulsioando o trabalho dos desenvolvedores e a implementação dos principais fatores de engajamento necessários para um programa de APIs bem sucedido. Associado a outras tecnologias como o Red Hat OpenShift e Red Hat Integration, é possível construir um ecossistema cloud-native de desenvolvimento de microsserviços que atende aos padrões de qualidade e segurança de uma solução corporativa de maneira escalável e flexível.
Como a IcaroTech pode ajudar a construir um programa de APIs bem sucedido?
A Icaro Tech atua no mercado transformando os negócios através de automação há mais de 20 anos. Somos parceiros IBM e Red Hat e contamos com profissionais acreditados e capacitados para impulsionar a automação dentro das organizações. Atuamos desde a concepção do projeto – com assessments e análise do negócio – até a implementação, evolução (melhoria contínua) e gerenciamento dele através de uma equipe altamente qualificada de serviços gerenciados.
Antonio Ideguchi
Arquiteto de Soluções | Customer Success