Platform engineering
Armar un producto interno para que los developers publiquen sin ser expertos en cloud.
El software actual corre sobre una pila larga de herramientas: cuentas cloud, Kubernetes, pipelines de CI/CD, infraestructura como código, secretos, monitoreo, escáneres de seguridad. La idea de DevOps de "lo construís, lo operás" le cargó buena parte de eso a cada equipo de producto, y muchos terminaron pasando más tiempo conectando herramientas que haciendo funcionalidades. La ingeniería de plataformas (platform engineering) responde a eso con un equipo de plataforma dedicado que arma una capa compartida y de autoservicio encima de toda esa complejidad.
Esa capa se llama plataforma interna de desarrollo (internal developer platform). Desde un portal, una línea de comandos o unos pocos archivos de configuración, un developer puede crear un servicio nuevo a partir de una plantilla, recibir un repositorio con su pipeline ya armado, pedir una base de datos, desplegar en staging y ver logs y tableros, todo sin abrir tickets ni aprender cada herramienta de abajo. Los caminos recomendados se llaman golden paths (caminos dorados): la forma fácil y con soporte de hacer las tareas comunes, con las reglas de seguridad y de costos ya incorporadas. Backstage, un portal open source creado en Spotify, es un punto de partida muy usado.
La clave es tratar la plataforma como un producto y a los developers como sus clientes: entrevistarlos, medir si la adoptan y hacer que el golden path sea el camino más cómodo, no una obligación. Mal hecha, la plataforma se vuelve una ventanilla burocrática más, o un montón de herramientas que nadie pidió. Bien hecha, permite que una empresa con decenas de equipos se mueva rápido y mantenga su infraestructura prolija y segura.
Para quedarse
- Un equipo de plataforma arma herramientas de autoservicio para los demás equipos de desarrollo.
- La plataforma interna esconde los detalles de infraestructura detrás de plantillas y un portal.
- Los golden paths hacen que la forma recomendada sea también la más fácil.
- Funciona cuando se maneja como un producto, con los developers como clientes.
Para seguir leyendo
- ¿Qué es la ingeniería de plataformas? (Red Hat)
- CNCF platforms white paper (en inglés)
- What is Backstage? (en inglés)