A pandemia levou a um grande aumento nas demandas por soluções digitais. Mas como isso se refletiu nas organizações? Para as que têm múltiplas tecnologias diferentes convivendo, foi uma grande barreira à transformação digital. Qualquer mudança de tecnologia ficou muito cara e complexa. Ainda assim, a transformação é sua única solução. Como fazê-la com a abrangência necessária rapidamente? Uma arquitetura centrada em APIs pode ser a resposta.
Essa abordagem tem levado as organizações a decompôr suas plataformas em serviços, a desenvolver APIs e a conectá-las por meio de uma plataforma de integração híbrida para viabilizar a troca de dados em tempo real.
As APIs estão na base de uma arquitetura modular, com diferentes camadas. É um modelo que propicia a integração e que garante flexibilidade das plataformas, permitindo que a organização faça várias iniciativas em paralelo, em vez de uma sequência de uma mudança por vez em um longo período. Então, paralelamente, a organização pode fazer a migração de um sistema, a adaptação para a cloud e a transformação ágil de uma equipe.
Porém, a decomposição de um sistema existente em serviços tem um custo e um tempo. As organizações precisam avaliar se ela é o melhor caminho.
Para isso, conhecer o que está em jogo será fundamental. É o que você verá neste artigo, que traz os casos de uso mais adequados a esse modelo, por onde começar, os desafios de uma jornada para a arquitetura baseada em APIs e as vantagens de fazer essa transição.
Que tipo de plataforma se beneficia de uma arquitetura baseada em APIs
Sistemas operacionais, transacionais e analytics, que precisam acessar os dados uns dos outros ou iniciar processos em tempo real, são bons exemplos de plataformas que se beneficiam de uma arquitetura baseada em APIs, assim como a interação com provedores cloud, empresas externas e redes públicas.
Também tiram vantagem empresas que desejam enriquecer a comunicação em seus canais digitais. É o caso, por exemplo, de um site de viagem que precisa disponibilizar voos disponíveis para os destinos buscados pelos usuários.
A opção também é a ideal para empresas que precisam entregar e escalar rápido, assim como ter suporte para vários dispositivos e plataformas, acelerar o passo de sua transformação, permitindo que várias mudanças ocorram paralelamente, e diminuir os custos e complexidade envolvidos.
Como iniciar uma arquitetura baseada em APIs
Tudo começa com o redesenho da arquitetura. Decidir o que separar e como migrar estão entre os desafios.
Numa arquitetura baseada em APIs a lógica é diferente da baseada em código, na qual a API só é inserida no final. A arquitetura deve ser estruturada de modo a facilitar o acesso de dados, via API gateway, bem como a gestão das APIs. Assim, o desenho da API é feito antes da aplicação em si, evitando a criação de complexidade e, por analogia com o spaghetti code, uma spaghetti architecture.
Depois, a organização precisa priorizar os serviços para a sua transformação. Fatores como relevância e complexidade podem ajudar nesse processo, além de auxiliarem a entender o esforço envolvido na migração.
O próximo passo é pensar o modelo operacional e a governança. A organização também precisa fazer setup de uma plataforma de API management, fazer PoCs e, já no projeto, priorizar o backlog de API. Criar uma excelente documentação de APIs, para que todos os times possam usá-las facilmente, será fundamental.
Desafios da migração
- Chegar a uma estratégia de APIs: se a organização não tiver clareza sobre a arquitetura que deseja, ela pode acabar gerando complexidade.
- Gestão de muitas APIs: gerenciar um grande número de APIs parece impossível quando você tem um processo manual de monitoramento de performance e de respostas a quaisquer problemas. Automatizar a gestão será fundamental.
- Necessidade de maior poder de processamento: com mais serviços rodando, a exigência de CPU pode ser maior.
- Segurança: enquanto monolitos com poucas APIs têm poucos vetores de ataque, um arquitetura centrada em APIs tem muitos – as próprias APIs. Segurança é um ponto crítico, portanto, que requer conhecimento das boas práticas e de testes constantes no CI/CD pipeline.
- Construir o ambiente tecnológico certo para escalar e maximizar a produtividade do time, como usar cloud ou DevOps: em infraestruturas não automatizadas é difícil tangibilizar os benefícios das APIs.
- Reunir talentos: são vários detalhes técnicos, e você vai precisar de desenvolvedores e POs experientes para garantir o foco nas prioridades e o aproveitamento de um ecossistema API-driven. Talvez seja necessário capacitar a equipe ou contratar novos profissionais.
Vantagens de uma arquitetura centrada em APIs
- Reuso de funcionalidades em escala, diminuindo a duplicação
- Redução do esforço em integração entre diferentes times
- Independência entre as camadas da aplicação
- Facilita o uso de DevOps e agile
- Efetividade e eficiência no delivery
- Resiliência
- Performance
- Escalabilidade
- Flexibilidade para viabilizar novas iniciativas em negócios
- Criação de oportunidades de negócio via economia de APIs
- Redução de time to market.
Construa suas pontes
O avanço do uso de APIs é uma oportunidade de negócio, assim como um desafio técnico. Oportunidade porque abre novas fontes de receita e maximiza o valor para os clientes. Desafio pela criação de uma estratégia de APIs, desenvolvimento e gestão.
Partir de uma arquitetura centrada em APIs é bem mais fácil do que migrar para ela com uma operação em funcionamento. Porém, depois de fazê-la, boa parte das modernizações, assim como de inovações, será bem mais simples e rápida.