Platform Engineering: ventajas y desafíos de su adopción

Manuel Nucci
Ingenia, Architectural Journeys
4 min readJul 12, 2022

Comencemos definiendo a qué nos referimos cuando pensamos en Platform Engineering o Ingeniería de Plataforma. Es una disciplina, una práctica, que implica utilizar diferentes herramientas y workflows para permitir a los equipos de desarrollo adquirir capacidades de autogestión, mayormente en el aprovisionamiento de recursos. Esto es principalmente utilizado en organizaciones cloud-native, es decir, que poseen gran parte de su operación en la nube.

Los encargados de esta tarea son los ingenieros de plataforma, conocidos también como Platform Engineers, que permiten brindar estas capacidades a través del desarrollo de un producto conocido como Internal Developer Platform (IDP), o Plataforma Interna para Desarrolladores.

IDP es una plataforma a partir de la cual se pueden cubrir todas las necesidades operacionales del ciclo de vida entero de una aplicación. Básicamente es una capa por encima de las tecnologías y herramientas que ya existen en la organización. Permite ayudar a los equipos de operaciones a organizar el aprovisionamiento de recursos y habilitar a los desarrolladores a que hagan un self-service. En un estadío avanzado, significa proveer a los diferentes equipos con golden paths y paved roads, que son aquellos flujos más populares que los equipos necesitan para abstraerse lo suficiente al momento de interactuar con esta nueva capa tecnológica.

Platform Engineering en la organización

Platform Engineering es un concepto poderoso porque involucra desarrollo de producto, tecnología, experiencia de usuario, agilidad, estandarización y tantos otros temas. Una IDP es la plataforma que viene a automatizar todos los procesos manuales y repetitivos que tienen dependencias humanas entre los desarrolladores y operaciones.

Pues bien, ¿qué gana una organización cuando destina parte de su tiempo al desarrollo de IDP?

Una de las principales ventajas es ofrecer golden paths para los desarrolladores, flujos usuales que los equipos de producto siguen para varios escenarios frecuentes que enfrentan. La práctica de Platform Engineering permite agilizar todos estos procesos, y la IDP es el pegamento que une todas las piezas: APIs, bases de datos, servicios cloud, pipelines, etc.

Una segunda ventaja viene de la mano con el alineamiento porque una IDP permite definir qué tipo de infraestructura se puede desplegar y qué tipos de aplicaciones son soportados.

También compliance y gobierno gracias a que al estar todos los procesos ahora codificados y trazados en un repositorio de código fuente, buenas prácticas son aplicadas, se evitan antipatrones y cualquiera puede auditar el proceso gracias a su transparencia.

Otro punto a favor es que los desarrolladores pueden enfocarse exclusivamente en agregar valor al negocio, gracias a la total autonomía que poseen.

La autonomía es otra de esas ventajas, porque los equipos de producto tienen (o deberían tener) todas las respuestas a sus necesidades en esta plataforma.

Por último, la eficiencia es otro de sus pros, porque la autonomía permite acelerar la velocidad de los equipos y reducir las interacciones entre personas.

Seamos honestos. La realidad es que ningún cambio está libre de ciertos obstáculos.

Uno de los principales puntos a tener en cuenta al implementar una IDP es el destino de ciertos perfiles a esta tarea. Otro desafío es establecer claramente la misión y el rol del equipo de plataforma. Por último, otro reto que trae construir una IDP es identificar aquellos procesos o acciones repetitivas que están llevando a cabo los equipos y que lo único que hace es simplemente reinventar la rueda.

En conclusión, ¿cómo vemos desde Ingenia la evolución de esta práctica y el contexto en general?

En el corto plazo seguiremos viendo la aparición de nuevas herramientas integradoras que faciliten la adopción de esta disciplina. La demanda de perfiles en este campo también seguirá en aumento, a medida que el sector madure más y más. Las organizaciones continuarán buscando ser más ágiles, estar mejor preparadas para el cambio, lograr el time to market adecuado y ser competitivas. Finalmente, la automatización seguirá creciendo porque esta es la tendencia mundial en la que vivimos, necesitamos eliminar todas aquellas tareas repetitivas, manuales y tediosas para poner el foco en aquellas que agregan valor y nos permiten evolucionar.

Habrá grandes cambios en los próximos años y la única manera de hacer frente a ellos es estar preparados.

--

--

Manuel Nucci
Ingenia, Architectural Journeys

SRE/Cloud/DevOps Engineer making my way into all related to Cloud, DevSecOps, IaC, Architecture, APIs, Security and more.