Estratégias de APIs se fazem cada vez mais complexas, especialmente em função de seus cenários, do seu uso em diversos tipos de negócios e consumo por parte de empresas e desenvolvedores. É por esse motivo que não podemos deixar de falar na chamada Governança de APIs, já que através dela é possível melhorar o gerenciamento de uma API, assim como desenvolver uma estratégia mais abrangente quanto a segurança de APIs.
Claro que a Governança de APIs é muito mais do que isso e é justamente sobre como ela funciona e envolve a segurança, gerenciamento e todo o ciclo de vida de uma API.
Caso você queira ir além deste artigo, recomendo você acessar meu curso online no API Playbook onde conto em detalhes tudo o que você precisa saber, além de todo o framework de implantação.
A Governança de APIs fornece também o design, desenvolvimento e implantação de uma API. Esse fato traz benefícios técnicos — redução de custos nas fases do ciclo de vida da API — e benefícios corporativos. Ao mesmo tempo, ela é componente vital na estrutura da arquitetura de uma API, pois permite a padronização e diminui os esforços durante o desenvolvimento e execução das APIs.
Trabalhar seguindo o processo de Governança permite que sua empresa tenha tomada de decisões mais assertivas em relação aos programas de APIs e assim estabeleça melhores práticas de criação, implantação e consumo de APIs.
Dentre algumas das metas da Governança de APIs estão:
Priorização do backlog das oportunidades de APIs a serem desenvolvidas
Destacar áreas para aprimorar as abordagens usadas no desenvolvimento e gerenciamento
Melhorar a velocidade de desenvolvimento, qualidade e consistência de futuras APIs
Garantir alinhamento entre organizações e seus parceiros no reuso das APIs e, principalmente, ao longo de testes, produção e manutenção
Criar padrões e diretrizes a serem seguidos por empresas e seus parceiros
Por sua vez, arquiteturas serverless — arquitetura de computação orientada a eventos — e a maior integração de ecossistemas tem trazido novos desafios para a Governança de APIs em negócios digitais.
Tais desafios acabam por refletir dificuldades específicas para cada área de negócio e precisam ser levadas a sério pela iniciativa de Governança, entre elas:
Área de Desenvolvimento: aumentar velocidade de entregas e reutilizar componentes;
Área de Operação: antecipar e solucionar problemas com rapidez;
Área de Segurança: garantir a aplicação de mecanismos adequados de segurança dentro de cada contexto;
Área de Negócio: reduzir time-to-market e manter alinhamento com a estratégia de negócio medindo o sucesso para determinar a evolução e/ou aposentadoria das APIs.
Fora as necessidades das áreas citadas, os negócios digitais precisam de mecanismos de controle que não dificultem a rapidez e a autonomia, mas sim impulsionem a inovação de forma contínua e gradual.
Quando falamos de Governança de APIs, ela pode envolver pilares como processos, responsabilidades, ferramentas, KPIs e políticas. Ao delimitar os pilares, o Time de Governança de APIs precisa garantir que estes possibilitem:
Aplicar políticas de segurança de APIs
Organizar o catálogo de APIs
Reutilizar APIs e fazer com que estas tenham aderência com as estratégias de negócio
Controlar o versionamento das APIs
Rastrear os dados de roteamento para o back-end
Acompanhar o ciclo de vida de cada API
Definir os padrões de interfaces de APIs
Reunir estatísticas sobre portal do desenvolvedor e uso de API Gateway
De que forma a Governança da APIs está vinculada à segurança?
Como você percebeu, a Governança de API é um dos elementos mais importantes quando o assunto é API Management, mas o que não se pode deixar de lado é o fato de tal Governança estar vinculada a segurança de APIs.
O processo de Governança de APIs também auxilia na supervisão de ameaças à segurança às quais as APIs são sensíveis em uma iniciativa de API aberta (seja ela apenas para parceiros ou até mesmo aberta ao público em geral). A partir daí você possui uma linha de defesa que segmenta possíveis violações de segurança que possam comprometer dados sensíveis. Tal processo também colabora para que você consiga ter uma visão mais apurada para identificar dificuldades no futuro.
Consistência: o principal objetivo da Governança da API
Não é de hoje que vemos o número crescente de empresas desenvolvendo aplicativos, os quais utilizam APIs internas ou de terceiros. Algumas destas organizações podem trabalhar com 30, 50 ou mais de 100 APIs dependendo do seu negócio ou público-alvo.
Isso significa que se apoiar no processo de Governança de APIs ajuda suas APIs a terem consistência com o negócio. E uma API consistente representa economia de tempo e dinheiro, assim como permite que componentes sejam reutilizados e garante que as APIs agreguem valor aos negócios.
Além disso, a Governança pode evitar o desalinhamento com as áreas de negócio além de evitar problemas com duplicação de APIs, acoplamento rígido entre componentes, falta de confiabilidade em muitos serviços.
Falar em consistência de uma API também significa falar da relação da Governança com o Ciclo de Vida de APIs. Como já mencionei acima, uma das atividades que envolvem a Governança de APIs é o acompanhamento do Ciclo de Vida de uma API e isso é essencial durante o processo de Governança. O gerenciamento da API está presente em todas as suas fases da sua jornada: ideação, produção, publicação, consumo e aposentadoria.
A partir disso, o processo de Governança de APIs pode garantir mais segurança, fazendo com que apenas os usuários devidamente autorizados possam ter acesso a sua API, ou seja, a gestão de sua API por meio de um processo de Governança é fundamental para a proteção de seus dados.
O alinhamento do ciclo de vida da API e da Governança resulta em:
Aumento da compreensão da plataforma de gerenciamento de API
Redução da complexidade das interações a um conjunto de interações fundamentais
Resolução consistente de problemas de arquitetura de acordo com seus ambientes
Prevenção de documentação repetitiva nas estruturas da API
O processo de Governança de APIs não é um bicho de sete cabeças, porém, como pouco se fala sobre este assunto, é preciso que ele seja discutido internamente e que seja colocado em prática. Por mais simples que pareça, você não pode deixar de lado a complexidade envolvendo o processo, dado que ele sofre influência do nível de maturidade das suas APIs. Portanto se você está no começo dessa jornada, vá com calma e não se afobe. Comece pequeno e evoluindo o processo aos poucos.