As empresas de hoje geralmente são compostas por equipes distribuídas globalmente, criando e implantando APIs e microsserviços, geralmente em mais de um ambiente de implantação. De acordo com o Relatório de Estratégia de Aplicação do F5, 81% das organizações operam em três ou mais ambientes, variando entre nuvem pública, nuvem privada, local e de ponta.
Garantir a confiabilidade e a segurança dessas arquiteturas complexas de múltiplas nuvens é um grande desafio para as equipes de operações de plataforma responsáveis por mantê-las. De acordo com líderes de engenharia de software pesquisados no relatório da F5, visibilidade (45%) e segurança consistente (44%) estão no topo da lista de desafios multinuvem enfrentados por equipes de operações de plataforma .
Com o número crescente de APIs e microsserviços hoje em dia, a governança de API está rapidamente se tornando um dos tópicos mais importantes para o planejamento e a implementação de uma estratégia de API em toda a empresa. Mas o que é governança de API e por que ela é tão importante para sua estratégia de API?
No nível mais básico, a governança de API envolve a criação de políticas e a execução de verificações e validações para garantir que as APIs sejam detectáveis, confiáveis, observáveis e seguras. Ele fornece visibilidade sobre o estado dos sistemas complexos e processos de negócios que alimentam seus aplicativos modernos, que você pode usar para orientar a evolução da sua infraestrutura de API ao longo do tempo.
A importância estratégica da governança de API não pode ser superestimada: é o meio pelo qual você concretiza a estratégia geral de API da sua organização. Sem uma governança adequada, você nunca conseguirá alcançar consistência no design, na operação e na produção de suas APIs.
Quando mal feita, a governança geralmente impõe requisitos onerosos que atrasam as equipes. No entanto, quando bem feita, a governança de API reduz o trabalho, agiliza as aprovações e permite que diferentes equipes na sua organização funcionem de forma independente, ao mesmo tempo em que cumprem os objetivos gerais da sua estratégia de API.
A criação de um plano de governança de API eficaz como parte da sua estratégia de API começa com a identificação dos tipos de APIs que você tem em produção e as ferramentas, políticas e orientações necessárias para gerenciá-las. Hoje, a maioria das equipes empresariais trabalha com quatro tipos principais de APIs:
Cada tipo de API na empresa deve ser governado para garantir que seja seguro, confiável e acessível às equipes e usuários que precisam acessá-lo.
Há muitas maneiras de definir e aplicar a governança de API. Na NGINX, normalmente vemos clientes aplicando um dos dois modelos:
No entanto, à medida que as empresas avançam em suas jornadas de priorização de APIs, ambos os modelos começam a fracassar à medida que o número de APIs em produção aumenta. Modelos centralizados geralmente tentam implementar uma abordagem única que exige várias revisões e aprovações ao longo do caminho. Isso desacelera as equipes de desenvolvimento e cria atrito – em sua frustração, os desenvolvedores às vezes até encontram maneiras de contornar os requisitos (a temida “TI paralela”).
O outro modelo – governança descentralizada – funciona bem para desenvolvedores de API no início, mas com o tempo a complexidade aumenta. A menos que as diferentes equipes que implantam APIs se comuniquem com frequência, a experiência geral se torna inconsistente entre as APIs: cada uma é projetada e funciona de forma diferente, mudanças de versão resultam em interrupções entre os serviços e a segurança é aplicada de forma inconsistente entre as equipes e serviços. Para as equipes que criam APIs, o trabalho e a complexidade adicionais acabam tornando o desenvolvimento muito lento, assim como acontece no modelo centralizado.
Os aplicativos nativos da nuvem dependem de APIs para que os microsserviços individuais se comuniquem entre si e entreguem respostas à origem da solicitação. À medida que as empresas continuam a adotar microsserviços por sua flexibilidade e agilidade, a proliferação de APIs não desaparecerá . Em vez disso, você precisa de uma abordagem diferente para governar APIs nesses ambientes complexos e em constante mudança.
Felizmente, existe uma maneira melhor. A governança adaptável oferece um modelo alternativo que capacita os desenvolvedores de APIs e, ao mesmo tempo, dá às equipes de operações de plataforma o controle necessário para garantir a confiabilidade e a segurança das APIs em toda a empresa.
No centro da governança adaptativa está o equilíbrio entre o controle (a necessidade de consistência) e a autonomia (a capacidade de tomar decisões locais) para permitir agilidade em toda a empresa. Na prática, o modelo de governança adaptável desagrega e distribui a tomada de decisões entre as equipes.
As equipes de operações de plataforma gerenciam infraestrutura compartilhada (gateways de API e portais de desenvolvedores) e definem políticas globais para garantir consistência entre APIs. No entanto, as equipes que criam APIs atuam como especialistas no assunto para seus serviços ou linhas de negócios. Eles têm autonomia para definir e aplicar políticas locais para suas APIs – controle de acesso baseado em função (RBAC), limitação de taxa para seus serviços, etc. – para atender aos requisitos de seus contextos de negócios individuais.
A governança adaptável permite que cada equipe ou linha de negócios defina seus fluxos de trabalho e equilibre o nível de controle necessário, ao mesmo tempo em que usa a infraestrutura compartilhada da organização.
Ao começar a planejar e implementar sua estratégia de API, siga estas práticas recomendadas para implementar a governança adaptável em sua organização:
Vamos ver como você pode realizar esses casos de uso com o API Connectivity Manager , parte do F5 NGINX Management Suite.
Equipes em sua organização estão criando APIs e precisam incluir funcionalidades semelhantes em seus microsserviços: autenticação e autorização, criptografia mTLS e muito mais. Eles também precisam disponibilizar documentação e controle de versão para seus consumidores de API, sejam eles equipes internas, parceiros de negócios ou desenvolvedores externos.
Em vez de exigir que as equipes criem suas próprias soluções, as equipes de Platform Ops podem fornecer acesso à infraestrutura compartilhada. Assim como acontece com todas as ações no API Connectivity Manager, você pode configurar isso em apenas alguns minutos usando a interface do usuário ou a API REST totalmente declarativa, que permite integrar o API Connectivity Manager aos seus pipelines de CI/CD. Nesta postagem, usamos a interface do usuário para ilustrar alguns fluxos de trabalho comuns.
O API Connectivity Manager oferece suporte a dois tipos de Workspaces: infraestrutura e serviços. Os espaços de trabalho de infraestrutura são usados por equipes de operações de plataforma para integrar e gerenciar infraestrutura compartilhada na forma de clusters de gateway de API e clusters de portal do desenvolvedor. Os espaços de trabalho de serviços são usados por desenvolvedores de API para publicar e gerenciar APIs e documentação.
Para configurar uma infraestrutura compartilhada, primeiro adicione um Workspace de infraestrutura. Clique em Infraestrutura na coluna de navegação à esquerda e depois no botão + Adicionar no canto superior direito da guia. Dê um nome ao seu espaço de trabalho (aqui, é uma frase de equipe – uma equipe imaginária construindo um simples “Olá, Mundo!” (API).
Em seguida, adicione um ambiente ao espaço de trabalho. Os ambientes contêm clusters do API Gateway e clusters do Developer Portal. Clique no nome do seu Workspace e depois no ícone … na coluna Ações ; selecione Adicionar no menu suspenso.
O painel Criar ambiente é aberto conforme mostrado na Figura 2. Preencha o campo Nome (e, opcionalmente, Descrição ), selecione o tipo de ambiente (produção ou não produção) e clique no botão + Adicionar para a infraestrutura que deseja adicionar (Clusters do API Gateway, Clusters do Developer Portal ou ambos). Clique no botão Criar para finalizar a configuração do seu ambiente. Para obter instruções completas, consulte a documentação do API Connectivity Manager .
Fornecer separação lógica para equipes por linha de negócios, região geográfica ou outro limite lógico faz sentido – se isso não as privar do acesso às ferramentas de que precisam para ter sucesso. Ter acesso à infraestrutura compartilhada não significa que as equipes precisam se preocupar com atividades em nível global. Em vez disso, você quer que eles se concentrem em definir seus próprios requisitos, traçar um roteiro e construir seus microsserviços.
Para ajudar as equipes a se organizarem, as equipes de Platform Ops podem fornecer serviços Workspaces para que as equipes organizem e operem seus serviços e documentação. Eles criam limites lógicos e fornecem acesso a diferentes ambientes – desenvolvimento, teste e produção, por exemplo – para desenvolver serviços. O processo é como criar o Workspace de infraestrutura que criamos na seção anterior .
Primeiro, clique em Serviços na coluna de navegação à esquerda e depois no botão + Adicionar no canto superior direito da guia. Dê um nome ao seu Workspace (aqui, api-sentence para o nosso serviço “Hello, World”) e, opcionalmente, forneça uma descrição e informações de contato.
Neste ponto, você pode convidar desenvolvedores de API para começar a publicar proxies e documentação no Workspace que você criou para eles. Para obter instruções completas sobre como publicar proxies de API e documentação, consulte a documentação do API Connectivity Manager .
A governança adaptável exige um equilíbrio entre a aplicação de políticas globais e a capacitação de equipes para tomar decisões que aumentem a agilidade. Você precisa estabelecer uma separação clara de responsabilidades definindo as configurações globais aplicadas pelo Platform Ops e definindo “guardrails” que definem as ferramentas que os desenvolvedores de API usam e as decisões que eles podem tomar.
O API Connectivity Manager fornece uma combinação de políticas globais (aplicadas à infraestrutura compartilhada) e controles granulares gerenciados no nível do proxy da API.
As políticas globais disponíveis no API Connectivity Manager incluem:
As políticas de proxy de API disponíveis no API Connectivity Manager incluem:
GET
, POST
, PUT
, etc.)No exemplo a seguir, usamos a interface do usuário para definir uma política que protege a comunicação entre um proxy de gateway de API e serviços de backend.
Clique em Infraestrutura na coluna de navegação à esquerda. Depois de clicar no nome do ambiente que contém o cluster do API Gateway que você deseja editar, a guia exibe os clusters do API Gateway e os clusters do portal do desenvolvedor nesse ambiente.
Na linha do Cluster do API Gateway ao qual você deseja aplicar uma política, clique no ícone … na coluna Ações e selecione Editar configuração avançada no menu suspenso. Clique em Políticas globais na coluna esquerda para exibir uma lista de todas as políticas globais que você pode configurar.
Para aplicar a política TLS Backend , clique no ícone … na extremidade direita da linha e selecione Adicionar política no menu suspenso. Preencha as informações solicitadas, carregue seu certificado e clique em Adicionar . Em seguida, clique no botão Salvar e Enviar . A partir de agora, o tráfego entre o API Gateway Cluster e os serviços de backend é protegido com TLS. Para obter instruções completas, consulte a documentação do API Connectivity Manager .
Planejar e implementar a governança de API é uma etapa crucial para garantir o sucesso da sua estratégia de API. Ao trabalhar em direção a um modelo distribuído e confiar na governança adaptável para atender aos requisitos exclusivos de diferentes equipes e APIs, você pode dimensionar e aplicar governança uniforme sem sacrificar a velocidade e a agilidade que tornam as APIs e os ambientes nativos da nuvem tão produtivos.
Inicie uma avaliação gratuita de 30 dias do NGINX Management Suite , que inclui acesso ao API Connectivity Manager , ao NGINX Plus como um gateway de API e ao NGINX App Protect para proteger suas APIs.
"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."