Marcio Cunha

Engenharia de Plataforma com Backstage: Construção de Developer Portals para Governança de Microsserviços

Descubra como a engenharia de plataforma e o Backstage organizam a arquitetura de microsserviços, reduzem o atrito no desenvolvimento e centralizam a governança técnica.

Marcio Cunha5 min
Também disponível em:EnglishEspañol
Resumo
  • A proliferação descontrolada de microsserviços gera silos operacionais e perda de visibilidade técnica nas equipes.
  • O Backstage atua como um portal centralizado que unifica documentação, infraestrutura e catálogos de serviços.
  • Templates padronizados aceleram a criação de novos projetos garantindo conformidade com as regras da empresa.
  • A governança descentralizada acontece organicamente através de metadados declarativos versionados no controle de versão.
  • Investir em engenharia de plataforma reduz o esgotamento mental dos desenvolvedores e acelera a entrega de valor.

O Desafio da Complexidade em Arquiteturas de Microsserviços

Quando uma empresa decide adotar microsserviços, a promessa inicial é a de autonomia e velocidade. Em vez de um grande sistema monolítico onde todo mundo mexe no mesmo código, dividimos a aplicação em dezenas ou centenas de serviços menores e independentes. Na prática, isso significa que cada equipe pode escolher suas ferramentas, atualizar dependências e publicar código sem travar o restante da companhia. Contudo, essa liberdade traz um custo oculto e severo: a fragmentação do conhecimento.

Com o passar dos meses, o número de repositórios cresce exponencialmente. Ninguém sabe exatamente quem é o dono de qual serviço, onde estão documentadas as APIs (interfaces de programação de aplicativos, que permitem a comunicação entre sistemas), ou quais padrões de segurança foram aplicados. Os desenvolvedores passam mais tempo procurando informações e configurando ambientes de desenvolvimento do que escrevendo código útil para o negócio. É exatamente nesse cenário de caos operacional que surge a necessidade urgente da engenharia de plataforma.

O Papel da Engenharia de Plataforma e o Surgimento do Backstage

A engenharia de plataforma não é apenas uma modinha de mercado, mas uma disciplina voltada para construir produtos internos que capacitam os desenvolvedores a entregarem software com autonomia e segurança. Em vez de deixar cada equipe reinventar a roda na hora de criar um pipeline de entrega contínua ou provisionar servidores na nuvem, uma equipe especializada cria ferramentas padronizadas. O objetivo é transformar a experiência de desenvolvimento em algo fluido, onde o caminho mais fácil é também o caminho correto e seguro.

Criado originalmente pelo Spotify e hoje mantido sob a tutela da Cloud Native Computing Foundation (CNCF), o Backstage consolidou-se como o padrão de mercado para a construção desses portais de desenvolvedores. Na prática, ele funciona como uma central de controle unificada para toda a engenharia da empresa. Através de uma interface web extensível, o Backstage reúne catálogos de serviços, documentação técnica, painéis de monitoramento e ferramentas de autoatendimento, eliminando a dispersão de ferramentas.

Arquitetura do Backstage e o Catálogo de Software

O coração de qualquer implementação do Backstage é o seu Catálogo de Software. Trata-se de um banco de dados centralizado que rastreia todos os componentes de software da organização, sejam eles microsserviços, bibliotecas, pipelines de dados ou recursos de infraestrutura. Cada componente é descrito por um simples arquivo de metadados em formato YAML, versionado diretamente no repositório de código do próprio serviço. Isso significa que a documentação e o registro do componente vivem junto com o código-fonte, facilitando atualizações.

Esses arquivos seguem um modelo conceitual baseado em Kinds, onde definimos entidades como Component, API, Resource e User. Um 'Component' representa o microsserviço propriamente dito, enquanto uma 'API' descreve o contrato de comunicação que ele expõe para o mundo. O Backstage lê esses arquivos automaticamente por meio de varreduras periódicas nos repositórios, garantindo que o catálogo esteja sempre atualizado sem exigir trabalho manual dos engenheiros.

Padronização de Criação de Projetos com Scaffolder

Outro grande gargalo nas empresas é o ritual de inicialização de um novo projeto. Configurar linters, estruturas de testes, ferramentas de integração contínua e regras de segurança consome dias de trabalho e frequentemente resulta em inconsistências. O Backstage resolve isso através de um módulo chamado Scaffolder, que funciona como um motor de templates automatizados para a criação de novos serviços na organização.

Na prática, o desenvolvedor preenche um formulário simples na interface web do Backstage, escolhendo o tipo de serviço que deseja criar (por exemplo, uma API em Node.js ou um microsserviço em Java). O Backstage executa um conjunto de passos pré-configurados que geram o repositório no GitHub ou GitLab, injetam o código base estruturado, configuram as credenciais iniciais e já registram o novo serviço no catálogo corporativo. O tempo de inicialização cai de dias para poucos minutos, garantindo que 100% dos novos projetos nasçam em conformidade com as diretrizes de segurança da empresa.

Implementando o Catálogo com um Arquivo de Configuração

Para ilustrar como o Backstage descobre e cataloga os microsserviços da organização, veja abaixo um exemplo real de arquivo de metadados, comumente chamado de 'catalog-info.yaml', que deve ser colocado na raiz de cada repositório de serviço.

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: user-authentication-service
  description: Microsserviço responsável pela autenticação e gestão de sessões de usuários.
  annotations:
    github.com/project-slug: minha-empresa/user-auth
    backstage.io/techdocs-ref: dir:.
spec:
  type: service
  lifecycle: production
  owner: equipe-seguranca
  dependsOn:
    - resource: database-usuarios

Esse pequeno arquivo YAML é suficiente para que o Backstage entenda quem é o dono do serviço, quais dependências ele possui (como um banco de dados) e onde está localizada a documentação técnica gerada automaticamente pelo TechDocs. A partir daí, qualquer engenheiro na empresa pode acessar o portal e visualizar o estado de saúde, os alertas e os responsáveis por esse componente específico.

Governança, Extensibilidade e Considerações Finais

A governança em uma arquitetura distribuída costuma ser vista como um processo burocrático e punitivo. Com o Backstage, mudamos essa perspectiva para uma governança por facilitação. Como o portal centraliza métricas de qualidade, vulnerabilidades de segurança conhecidas e conformidade com padrões de arquitetura, as equipes conseguem visualizar seus próprios débitos técnicos de forma transparente. Os plugins da comunidade permitem estender a plataforma para integrar ferramentas como Kubernetes, SonarQube, PagerDuty e Grafana, criando uma experiência verdadeiramente unificada.

Em suma, a adoção do Backstage combinada com uma estratégia sólida de engenharia de plataforma transforma a forma como o desenvolvimento de software é vivido nas empresas. Reduz-se a carga cognitiva dos engenheiros, elimina-se o desperdício de tempo com burocracia interna e estabelece-se uma fundação escalável e auditável para o crescimento sustentável de microsserviços.