La agilidad lo cambió todo: la creación de productos de software pasó de ser un proceso eterno, costoso y con un final incierto a un esquema iterativo, con entregas rápidas y mejores posibilidades de introducir correcciones y ajustar el resultado exactamente a lo que se necesitaba. Sin embargo, la aceleración de la digitalización en las empresas motiva a redoblar los esfuerzos para desarrollar aplicaciones de altísima calidad y máximo valor agregado.
Con esta idea comienza a posicionarse en el mercado la noción de platform engineering o ingeniería de plataforma: un conjunto de capacidades de autoservicio que automatizan las operaciones de infraestructura y que permite así optimizar la experiencia de los desarrolladores, acelerar la entrega de valor y lidiar con la creciente complejidad de las arquitecturas de software modernas. Se trata de uno de los temas de conversación más mencionado en estos momentos dentro de las comunidades DevOps (acrónimo para la metodología de colaboración entre las áreas de desarrollo -Dev- y operaciones -Ops-¨) y emerge como un tema casi obligado para este año.
Una respuesta a la complejidad
De hecho, la consultora de mercado Gartner la eligió como una de las doce principales tendencias tecnológicas para 2023 y asegura que surgió en respuesta al hecho de que, en un mundo de negocios con panoramas de IT cada vez más complejos, usuarios no expertos deben lidiar con servicios digitales que impactan de manera directa en el resultado del negocio. La ingeniería de plataforma se ubica, precisamente, en el espacio de interfaz entre el usuario final y esos servicios, para actuar como una base de cooperación entre desarrolladores y operadores.
Según Gartner, para 2026 el 80% de las organizaciones de ingeniería de software establecerá equipos de plataforma para que actúen como proveedores internos de servicios, componentes y herramientas reutilizables para la entrega de aplicaciones.
Una plataforma para cada necesidad
Las capacidades de una plataforma de ingeniería dependen de las necesidades de los usuarios finales de cada organización: en el fondo, no es más que un producto construido por un equipo dedicado de expertos y ofrecido a desarrolladores, científicos de datos o usuarios finales, de acuerdo a cada caso. En ese sentido, la construcción de la plataforma no se diferencia mucho de la creación de cualquier otro producto de software: inicia con una identificación de los grupos de usuarios objetivos y continúa con la recopilación de sus requerimientos -siempre con la experiencia del usuario en el centro-, para avanzar luego con la construcción propiamente dicha.
El concepto de ingeniería de plataforma está íntimamente ligado con el de portales internos de desarrolladores (IDP, por sus siglas en inglés): espacios que proporcionan un conjunto de herramientas, capacidades y procesos seleccionado por expertos y empaquetados para facilitar su consumo por parte de los equipos de desarrollo.
El paso evolutivo
Platform Engineering es el paso evolutivo: pone el foco en que la experiencia del desarrollador sea autoservicio y sin fricciones para construir software de alto valor agregado con la menor sobrecarga posible. Al mismo tiempo, habilita a los equipos de operaciones para qué definan qué recursos se inician en qué entorno, plantillas de configuración de aplicaciones o permisos para automatizar procesos como mantenimiento, cambio de configuraciones, implementaciones, aprovisionamiento o monitoreo, entre muchas otras variables.
No existen recetas mágicas ni fórmulas infalibles: la plataforma ideal para una empresa puede ser inútil para otra o, incluso en una misma organización, para diferentes equipos de desarrollo.
¿El objetivo final de la plataforma de ingeniería? Impulsar la productividad en la creación de aplicaciones, mejorar la calidad, aliviar la típica sobrecarga a la que suelen estar sometidos los desarrolladores, facilitar el ritmo de entregas por parte del equipo de desarrollo y, lo más importante, garantizar que cada pieza de software aporte valor real para el negocio.