Pasar al contenido principal
Cargando...


Backstage es una plataforma que permite lanzar y gestionar proyectos de desarrollo de software.

Fue creado por el equipo de Spotify para dar respuesta a una necesidad de organización de los microservicios: “¿Dónde está ese API para ese servicio que supuestamente usamos todos?” o “este servicio no responde, ¿quién es el dueño?”.

Conceptos clave

Catálogo de software

Es un sistema centralizado que mantiene la pista de la propiedad y metadatos de un proyecto en el ecosistema (servicios, sitios web, librerías…). Se construye en torno al concepto de ficheros YAML de metadatos almacenados junto al código.

Para crear un componente en el catálogo basta con entrar a dicho catálogo y pulsar en crear componente.

Una vez pulsado el botón se mostrarán distintas Templates que permitirán generar un esqueleto del tipo de software deseado: Microservicios, proyectos completos, librerías… etc. Una vez seleccionada la Template solo hay que rellenar un pequeño formulario con nombres tales como descripción, paquete, nombre… y el componente aparecerá en el catálogo junto a los metadatos pertinentes.

Templates

Una Template es un documento YAML con metadatos relativos al proyecto software que se va a crear junto con un esqueleto que sirve para generar el proyecto software en cuestión ya inicializado y listo para empezar a añadir lógica.

Las Templates pueden ser creadas de 0 y son mantenibles vía Git y en esencia no son más que un fichero YAML que describe el flujo de creación del componente, así como un esqueleto con variables parametrizadas que son resueltas con el formulario en el flujo de creación del componente.

Arquitectura

Backstage está constituido por tres partes fundamentales:

  • Core: Funcionalidad base del sistema
  • App: Es una instancia de la aplicación Backstage que se despliega y ajusta a lo que se necesita. Une la funcionalidad principal con Plugins adicionales
  • Plugins: Son funcionalidades adicionales que adaptan el comportamiento de la aplicación a lo que la compañía necesita.

Los plugins pueden ser de tres tipos:

  1. Standalone: Aquellos que se ejecutan por entero en el servidor
  2. Service backed: Son aquellos servicios que requieren de un servicio backend para funcionar. El más importante en este sentido sería el Service Catalog ya que es el que controla el catálogo de componentes.
  3. Third party backed: Son aquellos que necesitan de un proveedor externo para funcionar.

Autenticación

Backstage soporta autenticación con diversos Providers:

  • Atlassian
  • Auth0
  • Azure
  • Bitbucket
  • GitHub
  • GitLab
  • Google
  • Okta
  • OneLogin
  • OAuth2Proxy

La autenticación se activa por despliegue y pueden añadirse otros Providers customizados.

Dockerizable

Backstage es fácilmente dockerizable y trae una información muy precisa sobre cómo hacer el proceso, lo que permite adaptar el código fuente a lo que se precise y construir una imagen propia del producto.

José Luis Antón Bueso, Solution Architect en Altia.