Hace una década, DevOps surgió como un fenómeno cultural que reunió a desarrolladores y profesionales de operaciones para romper los silos. Sin embargo, a pesar de que esto fue un cambio extraordinario en TI, DevOps ha madurado rápidamente hasta el punto en que discutirlo como una práctica parece obsoleto. Independientemente, la transición del concepto original de DevOps a su estado actual significa su triunfo en lugar de su desaparición.
De hecho, de las cenizas de DevOps surge el ingeniero de plataforma, un nuevo rol diseñado específicamente para la era moderna de DevOps. Bajo el paraguas de la ingeniería de plataformas, DevOps ahora opera con un presupuesto dedicado, un equipo y un conjunto de herramientas de autoservicio que permiten a los desarrolladores administrar operaciones directamente.
El equipo de ingeniería de la plataforma ofrece ventajas significativas, lo que permite a los desarrolladores aprovechar Kubernetes como una herramienta de autoservicio. Esta mejora aumenta la eficiencia y la velocidad de desarrollo para numerosos usuarios, lo que significa la madurez y la ubicuidad de Kubernetes.
Según Gartner, en los próximos tres años, cuatro de cada cinco organizaciones de ingeniería de software aprovecharán los equipos de plataforma para proporcionar servicios y herramientas reutilizables para la entrega de aplicaciones.
La ingeniería de plataforma sirve como el nuevo middleware en el panorama del desarrollo de software. A medida que la cantidad de desarrolladores y aplicaciones continúa aumentando, el concepto tradicional de middleware, un servidor de aplicaciones siempre disponible ha sido reemplazado por el modelo de autoservicio de ingeniería de plataformas para desarrolladores.
Esta transición tiene un significado inmenso. Durante las primeras fases de DevOps, la experimentación con varias tecnologías estaba muy extendida, pero estas tecnologías aún no habían convergido. Sin embargo, las aplicaciones modernas ahora funcionan sin problemas utilizando contenedores y almacenamiento, con redes y seguridad administradas a través de Kubernetes de forma nativa en la nube.
Los desarrolladores ya no confían en los sistemas de emisión de tickets. En cambio, esperan una infraestructura elástica que puedan usar e implementar a través de la plataforma, que es mantenida y operada por el ingeniero de la plataforma. El ingeniero de la plataforma se asegura de que la plataforma sea de autoservicio, altamente disponible, confiable, elástica, multiusuario pero altamente segura, tenga barandillas para evitar que la plataforma se extienda demasiado, proporcione monitoreo de uso y métodos de facturación, pero el ingeniero de la plataforma no está construyendo la aplicación o poseer la implementación de las aplicaciones.
Son habilitadores para acelerar las innovaciones de los desarrolladores y la implementación de aplicaciones. Este cambio en la madurez mejora la capacidad de respuesta, lo que permite a los desarrolladores realizar cambios rápidos en sus aplicaciones y llevarlas rápidamente a producción. Con los desarrolladores a cargo, los tiempos de desarrollo e implementación se han reducido drásticamente.
T-Mobile, por ejemplo, redujo el tiempo de implementación de la aplicación de seis meses a solo unas horas con la asistencia de Portworx como elemento de la arquitectura de su plataforma. Las empresas con miles de desarrolladores requieren acceso de autoservicio o bajo demanda a los servicios de datos y almacenamiento, que los equipos de ingeniería de plataformas se esfuerzan por ofrecer a escala.
Como una progresión de la TI tradicional, el grupo de ingeniería de plataformas se basa en dos conjuntos clave de tecnologías: tecnologías nativas de la nube y servicios de datos listos para IA: bases de datos modernas y servicios de datos como Postgres, Redis, Cassandra, Kafka y Spark, y más recientemente análisis y herramientas de IA como Snowflake y ChatGPT, todas proporcionadas como servicios por el equipo de la plataforma a los desarrolladores.
Los ingenieros de plataforma ofrecen servicios cruciales que eliminan la necesidad de una amplia experiencia en Kubernetes entre los usuarios. Estos servicios incluyen la gestión de varias distribuciones de Kubernetes como OpenShift, GKE, EKS o Rancher, además de proporcionar medidas de seguridad a través de plataformas como Prisma Cloud o Sysdig.
Además, los ingenieros de plataforma manejan datos en Kubernetes, administrando recursos de almacenamiento, respaldo, recuperación ante desastres, bases de datos y servicios de datos bajo el paraguas de Kubernetes. Estamos presenciando las eficiencias de primera mano, con una pequeña cantidad de ingenieros de plataforma que atienden a cientos de usuarios.
Cuando una tecnología se vuelve omnipresente, gradualmente se desvanece en un segundo plano. Considere los semiconductores como un ejemplo: están presentes en todas partes, alimentando nuestros controles remotos, teléfonos y automóviles. Sin embargo, como usuarios finales, rara vez consideramos su existencia, se han vuelto invisibles.
Kubernetes está experimentando una transformación similar. En el ámbito empresarial, Kubernetes se está arraigando profundamente en varios sistemas, y el paradigma de autoservicio hace que pase desapercibido para los usuarios. En el pasado, cada desarrollador necesitaba poseer un conocimiento completo de Kubernetes. Ahora, los desarrolladores solo necesitan utilizarlo, dejando las complejidades al ingeniero de la plataforma. La ingeniería de plataformas hará que Kubernetes sea invisible.
La ingeniería de plataformas otorga un valioso regalo a los desarrolladores al liberarlos de la carga de comprender Kubernetes a nivel granular como parte de sus responsabilidades diarias. Esto elimina un problema de brecha de habilidades a medida que Kubernetes continúa prosperando y todas las organizaciones más grandes y exitosas del mundo confían en él. Los ingenieros de plataforma y Kubernetes son una combinación perfecta para ayudar a la innovación y la ventaja competitiva de una empresa.
Por Julio Castrejón, Country Manager México en Pure Storage.