Marcio Cunha

Ingeniería de Plataforma con Backstage: Construcción de Portales de Desarrolladores para la Gobernanza

Aprenda cómo la ingeniería de plataforma y Backstage organizan los microservicios, reducen la fricción y centralizan la gobernanza técnica.

Marcio Cunha5 min
También disponible en:PortuguêsEnglish
Resumen
  • La proliferación descontrolada de microservicios crea silos operativos y pérdida de visibilidad técnica en los equipos.
  • Backstage actúa como un portal centralizado que unifica la documentación, la infraestructura y los catálogos de servicios.
  • Las plantillas de software estandarizadas aceleran la creación de nuevos proyectos garantizando el cumplimiento corporativo.
  • La gobernanza descentralizada ocurre de forma orgánica a través de metadatos declarativos versionados en el control de código.
  • Invertir en ingeniería de plataforma reduce el agotamiento mental de los desarrolladores y acelera la entrega de valor.

El Desafío de la Complejidad en Arquitecturas de Microservicios

Cuando una empresa decide adoptar microservicios, la promesa inicial es autonomía y velocidad. En lugar de un gran sistema monolítico donde todos modifican el mismo código, dividimos la aplicación en decenas o cientos de servicios más pequeños e independientes. En la práctica, esto significa que cada equipo puede elegir sus herramientas, actualizar dependencias y desplegar código sin bloquear al resto de la compañía. Sin embargo, esta libertad trae un costo oculto y severo: la fragmentación del conocimiento.

Con el paso de los meses, el número de repositorios crece exponencialmente. Nadie sabe exactamente quién es el dueño de qué servicio, dónde está documentada la API (interfaz de programación de aplicaciones, que permite la comunicación entre sistemas) o qué estándares de seguridad se aplicaron. Los desarrolladores pasan más tiempo buscando información y configurando entornos de desarrollo que escribiendo código útil para el negocio. Es exactamente en este escenario de caos operativo donde surge la necesidad urgente de la ingeniería de plataforma.

El Papel de la Ingeniería de Plataforma y el Surgimiento de Backstage

La ingeniería de plataforma no es solo una moda de mercado, sino una disciplina orientada a construir productos internos que capaciten a los desarrolladores para entregar software con autonomía y seguridad. En lugar de dejar que cada equipo reinvente la rueda al crear una tubería de entrega continua o aprovisionar servidores en la nube, un equipo especializado crea herramientas estandarizadas. El objetivo es transformar la experiencia de desarrollo en algo fluido, donde el camino más fácil sea también el camino correcto y seguro.

Creado originalmente por Spotify y mantenido hoy bajo la tutela de la Cloud Native Computing Foundation (CNCF), Backstage se ha consolidado como el estándar de mercado para la construcción de estos portales de desarrolladores. En la práctica, funciona como un centro de control unificado para toda la ingeniería de la empresa. A través de una interfaz web extensible, Backstage reúne catálogos de servicios, documentación técnica, paneles de monitoreo y herramientas de autoservicio, eliminando la dispersión de herramientas.

Arquitectura de Backstage y el Catálogo de Software

El corazón de cualquier implementación de Backstage es su Catálogo de Software. Se trata de una base de datos centralizada que rastrea todos los componentes de software de la organización, ya sean microservicios, bibliotecas, tuberías de datos o recursos de infraestructura. Cada componente se describe mediante un simple archivo de metadatos en formato YAML, versionado directamente en el repositorio de código del propio servicio. Esto significa que la documentación y el registro del componente viven junto con el código fuente, facilitando las actualizaciones.

Estos archivos siguen un modelo conceptual basado en Kinds, donde definimos entidades como Component, API, Resource y User. Un 'Component' representa el microservicio propiamente dicho, mientras que una 'API' describe el contrato de comunicación que expone al mundo. Backstage lee estos archivos automáticamente mediante exploraciones periódicas en los repositorios, garantizando que el catálogo esté siempre actualizado sin exigir trabajo manual a los ingenieros.

Estandarización de la Creación de Proyectos con Scaffolder

Otro gran cuello de botella en las empresas es el ritual de inicialización de un nuevo proyecto. Configurar linters, estructuras de prueba, herramientas de integración continua y reglas de seguridad consume días de trabajo y frecuentemente resulta en inconsistencias. Backstage resuelve esto a través de un módulo llamado Scaffolder, que funciona como un motor de plantillas automatizadas para la creación de nuevos servicios en la organización.

En la práctica, el desarrollador completa un formulario simple en la interfaz web de Backstage, eligiendo el tipo de servicio que desea crear (por ejemplo, una API en Node.js o un microservicio en Java). Backstage ejecuta un conjunto de pasos preconfigurados que generan el repositorio en GitHub o GitLab, inyectan el código base estructurado, configuran las credenciales iniciales y registran el nuevo servicio en el catálogo corporativo. El tiempo de inicialización se reduce de días a pocos minutos, garantizando que el 100% de los nuevos proyectos nazcan en cumplimiento con las directrices de seguridad de la empresa.

Implementando el Catálogo con un Archivo de Configuración

Para ilustrar cómo Backstage descubre y cataloga los microservicios de la organización, vea a continuación un ejemplo real de archivo de metadatos, comúnmente llamado 'catalog-info.yaml', que debe colocarse en la raíz de cada repositorio de servicio.

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: user-authentication-service
  description: Microservicio responsable de la autenticación y gestión de sesiones de usuario.
  annotations:
    github.com/project-slug: mi-empresa/user-auth
    backstage.io/techdocs-ref: dir:.
spec:
  type: service
  lifecycle: production
  owner: equipo-seguridad
  dependsOn:
    - resource: base-datos-usuarios

Este pequeño archivo YAML es suficiente para que Backstage entienda quién es el dueño del servicio, qué dependencias posee (como una base de datos) y dónde está ubicada la documentación técnica generada automáticamente por TechDocs. A partir de ahí, cualquier ingeniero en la empresa puede acceder al portal y visualizar el estado de salud, las alertas y los responsables de ese componente específico.

Gobernanza, Extensibilidad y Consideraciones Finales

La gobernanza en una arquitectura distribuida suele verse como un proceso burocrático y punitivo. Con Backstage, cambiamos esta perspectiva hacia una gobernanza mediante facilitación. Como el portal centraliza métricas de calidad, vulnerabilidades de seguridad conocidas y cumplimiento de estándares de arquitectura, los equipos logran visualizar sus propias deudas técnicas de forma transparente. Los complementos de la comunidad permiten extender la plataforma para integrar herramientas como Kubernetes, SonarQube, PagerDuty y Grafana, creando una experiencia verdaderamente unificada.

En resumen, la adopción de Backstage combinada con una sólida estrategia de ingeniería de plataforma transforma la forma en que se vive el desarrollo de software en las empresas. Se reduce la carga cognitiva de los ingenieros, se elimina el desperdicio de tiempo en burocracia interna y se establece una base escalable y auditable para el crecimiento sostenible de los microservicios.