Backstage
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.