Skip to main content

Backstage

logo

Github

O Backstage é uma plataforma de desenvolvimento de engenharia interna sendo seu principal propósito organizar ferramentas, serviços e informações em um só lugar, criando um portal único para os times de desenvolvimento.

Cada tarefa e subtarefa em um processo de desenvolvimento possui sua própria UI sendo necessário aprender muito mais do que somente o que é preciso fazer. Essa mudança de contexto torna-se caótica com o tempo a médica que o projeto e ou empresa agrega mais e mais tecnologia.

Hoje em dia o backstage é o ponto de entrada para que mudança de DevOps para Platform Engineer e pode ser considerada a tools mais importante que você precisa conhecer no seu acervo.

É a ferramenta que hoje permite que todos da organizaçào sejam mais produtivos e auto suficiente. O Backstage é um front-end muito extensível para criar um portal interno de desenvolvimento.

Como surgiu o Backstage?

O Backstage foi criado pela Spotify para resolver problemas de escala e complexidade na gestão de ferramentas e serviços. A história começa com o crescimento rápido da empresa: à medida que o número de times de engenharia e microsserviços aumentava, ficava cada vez mais difícil para os desenvolvedores encontrarem as ferramentas certas, entenderem os padrões e manterem a produtividade.

Para enfrentar esses desafios, a Spotify desenvolveu internamente o Backstage como um portal único que integrava todas as ferramentas e serviços utilizados pelos engenheiros. Ele permitia criar novos microsserviços com templates padronizados, consultar documentações centralizadas e monitorar o estado de serviços existentes. Isso não apenas aumentava a eficiência, mas também mantinha a consistência em um ambiente cada vez mais complexo.

Em 2020, a Spotify decidiu abrir o código do Backstage e torná-lo um projeto CNCF. É um dos projetos da CNCF que mais possui colaboradores e esta todo mundo adotando.

Casos de Uso do Backstage

  • Aumentar a produtividade e eficiência dos desenvolvedores
  • Resolver problemas de engenharia.
    • Encontrar todos os aplicativos da empresa, quem são os proprietários, onde estão as dependências, qual a versão esta implantada.

Aqui um demo do backstage para conhecer a interface.

O Backstage nada mais é do que um MODELO para que você construa o seu portal. Quando você rodar o projeto na primeira vez, você não terá nada.

Logo de cara iremos bater num catalog,

Também temos dentro do portal toda uma área de documentação na aba Docs para centralizar a documentação de cada uma das coisas que são criadas. Esses documentos podem ser referenciados em cada um dos itens do catalog ou consultado diretamente. Se e for em Backstage Demo observará a documentação do Backstage dentro do próprio portal criado.

Como o Backstage se Organiza?

O Backstage é altamente extensível podendo se ajustar as mais diferentes empresas.

Temos a parte do núcleo, o core do sistema, que são as funcionalidades básicas criados pelos desenvolvedores.

Quando falamos de app no Backstage, nos referimos a instâncias separadas da plataforma. Normalmente, uma organização utiliza apenas uma instância do Backstage (um app) para centralizar as ferramentas e informações. Essa instância pode ser personalizada e configurada para atender às necessidades específicas da empresa, mas ela abrange toda a plataforma.

Geralmente, você cria um único app Backstage e gerencia suas funcionalidades usando plugins e configurações. Criar múltiplos apps é possível, mas não é o caso mais comum. Podemos personalizar a instância do Backstage de várias maneiras incluindo a UI.

Os Plugins são funcionalidades para tornar um app do Backstage útil para a empresa. Cada ferramenta ou funcionalidade é um plugin. Plugins atendem diferentes equipes ou necessidades dentro de um único app.

NodeJS

Como é totalmente desenvolvido em NodeJS alterar o código será necessário. Se você tiver conhecimento em nodejs irá sofrer um pouco se não tiver irá sofrer muito. É um bom momento para aprender nodejs, pois só assim conseguirá customizar bem o Backstage e desenvolver seus próprios plugins e contribuir com a comunidade. Fora isso ficará limitado a usar o que existe disponível e esperar que as coisas acontecam.