Conecta con nosotros

Opinión

Ingeniería de plataformas de DevOps: la nueva generación de DevOps

Publicado el

Hace una década, el DevOps (desarrollo y operaciones) surgió como un fenómeno cultural, que reunía a los desarrolladores y los profesionales de operaciones para acabar con los silos. Sin embargo, aunque su aparición supuso un cambio extraordinario para la TI, el DevOps ha madurado muy rápidamente, hasta el punto de que en la actualidad el hecho de hablar de él como práctica parece algo anticuado. A pesar de ello, la transición desde el concepto original de DevOps hasta su estado actual es un indicativo de su éxito, más que de su fracaso. De hecho, de las cenizas del DevOps ha surgido el ingeniero de plataformas, un nuevo cargo creado a medida de la moderna era del DevOps. Bajo el paraguas de la ingeniería de plataformas, el DevOps funciona actualmente con un presupuesto, un equipo y un conjunto de herramientas de autoservicio específicos, que permiten que los desarrolladores gestionen las operaciones de manera directa.

El equipo de ingeniería de plataformas presenta unas claras ventajas y permite que los desarrolladores utilicen Kubernetes como herramienta de autoservicio. Esta mejora impulsa la eficiencia y la velocidad de desarrollo para numerosos usuarios, lo que demuestra la madurez y la omnipresencia de Kubernetes. Según Gartner, en los próximos tres años, cuatro de cada cinco organizaciones de ingeniería de software utilizarán equipos de plataformas para proporcionar servicios y herramientas reutilizables con los que entregar las aplicaciones.

La ingeniería de plataformas es el nuevo middleware en el entorno de desarrollo de software. A medida que el número de desarrolladores y de aplicaciones sigue creciendo, el concepto tradicional de middleware —un servidor de aplicaciones siempre disponible— ha sido sustituido por el modelo de autoservicio de la ingeniería de plataformas para los desarrolladores.

Esta transición tiene una trascendencia enorme. Durante las primeras fases del DevOps, era muy habitual experimentar con diversas tecnologías, pero estas tecnologías aún no habían convergido. En cambio, las aplicaciones modernas funcionan actualmente a la perfección usando contenedores y almacenamiento, mientras que las redes y la seguridad son gestionadas a través de Kubernetes de manera nativa en la nube.

Los desarrolladores ya no se basan en los sistemas de emisión de tickets. En lugar de ello, esperan trabajar con una infraestructura elástica que se pueda usar e implementar en la plataforma y que el ingeniero de plataformas se encargue de mantener y hacer funcionar. El ingeniero de plataformas garantiza que la plataforma es de autoservicio, que tiene una gran disponibilidad, que es fiable, elástica y multicliente, pero muy segura, que dispone de unas barreras que impiden que se extienda demasiado y proporciona métodos de supervisión del uso y de facturación, sin embargo, los ingenieros de plataformas no crean ellos mismos las aplicaciones ni controlan su implementación. Ellos son quienes permiten que se aceleren las innovaciones de los desarrolladores y la implementación de las aplicaciones. Este cambio en el nivel de madurez mejora la capacidad de respuesta y permite que los desarrolladores modifiquen rápidamente sus aplicaciones y las lleven enseguida a producción. El hecho de que los desarrolladores tomen las riendas ha permitido que los plazos de desarrollo y de implementación se reduzcan de forma drástica.

T-Mobile, por ejemplo, ha reducido el plazo de implementación de las aplicaciones desde los seis meses hasta tan solo unas horas, con la ayuda de Portworx como elemento de su arquitectura de plataforma. Las empresas que tienen miles de desarrolladores necesitan un acceso en modo de autoservicio o bajo demanda al almacenamiento y a los servicios de datos, que los equipos de ingeniería de plataformas se esfuerzan por proporcionar a escala.

Como consecuencia del avance de la TI tradicional, el grupo de ingeniería de plataformas depende de dos conjuntos de tecnologías clave: las tecnologías nativas de la nube y los servicios de datos preparados para la IA, es decir, las bases de datos y los servicios de datos modernos, como Postgres, Redis, Cassandra, Kafka y Spark, y más recientemente las herramientas de análisis y de IA, como Snowflake y ChatGPT —todos ellos proporcionados como servicio por el equipo de plataforma a los desarrolladores—.

Los ingenieros de plataformas ofrecen unos servicios que son esenciales y que hacen que los usuarios no necesiten tener unos conocimientos amplios sobre Kubernetes. Estos servicios incluyen la gestión de varias distribuciones de Kubernetes, como OpenShift, GKE, EKS o Rancher, y además proporcionan medidas de seguridad a través de plataformas como Prisma Cloud o Sysdig. Además, los ingenieros de plataformas manejan los datos en Kubernetes y se encargan de gestionar los recursos de almacenamiento, las copias de seguridad, la recuperación tras desastres, las bases de datos y los servicios de datos, todo ello bajo el paraguas de Kubernetes. Somos testigos de primera mano de las eficiencias que se logran, ya que unos pocos ingenieros de plataformas son capaces de dar servicio a cientos de usuarios.

Cuando una tecnología se generaliza, poco a poco se va haciendo invisible. Pensemos, por ejemplo, en los semiconductores —están en todas partes y gracias a ellos funcionan los mandos a distancia, los teléfonos o los automóviles. Sin embargo, como usuarios finales, muy pocas veces nos damos cuenta de que existen, ya que han pasado a ser invisibles—. Kubernetes está viviendo una transformación similar. En el ámbito de la empresa, Kubernetes se está convirtiendo en algo profundamente integrado en diversos sistemas, pero el paradigma del autoservicio hace que pase desapercibido para los usuarios. En el pasado, todos los desarrolladores debían tener un conocimiento completo de Kubernetes. Ahora, solo necesitan utilizarlo, mientras que es el ingeniero de plataformas quien se encarga de conocer sus complejidades. La ingeniería de plataformas hará que Kubernetes sea invisible.

La ingeniería de plataformas ha hecho un regalo muy valioso a los desarrolladores, ya que los ha liberado de la carga de tener que comprender Kubernetes con gran detalle para cumplir con sus responsabilidades diarias. Esto ha acabado de paso con el problema de la falta de conocimientos, en un momento en el que Kubernetes sigue expandiéndose y todas las organizaciones más grandes y de más éxito del mundo confían en él para funcionar. Los ingenieros de plataformas y Kubernetes son la combinación ideal para ayudar a las empresas a innovar y a lograr una ventaja competitiva.

Firmado: Carmen Derlinchan, Senior Systems Engineering Director Pure Storage Iberia

Lo más leído