Ingeniería de plataformas: acelerar las prácticas de desarrollo
Deje que los desarrolladores se centren en lo que importa: la innovación rápida. Agilice los flujos de trabajo, aumente la productividad y mejore la estabilidad del software con prácticas modernas.
La ingeniería de plataformas es un enfoque estratégico que adoptan las organizaciones maduras para optimizar sus prácticas de desarrollo, optimizar los flujos de trabajo y mejorar la productividad. Al establecer equipos de plataforma dedicados, las empresas pueden liberar a los desarrolladores de las tareas de mantenimiento rutinarias y permitirles enfocarse en lanzar nuevas funciones, llevar productos al mercado y diseñar funcionalidades innovadoras. El cliente es el equipo de desarrolladores (desarrolladores, gerentes, DevOps, SecOps, etc.) y el enfoque de la ingeniería de plataformas es proporcionar herramientas que abstraigan la infraestructura subyacente. Este artículo de Solve explora la creciente importancia de la ingeniería de plataformas, que tiene el apoyo de investigaciones de la industria. Además, profundiza sobre algunos de los beneficios clave que las organizaciones pueden lograr a través de la implementación de las mejores prácticas de ingeniería de plataformas.
Sobrecarga cognitiva
En el panorama de desarrollo de software acelerado de hoy en día, las organizaciones se esfuerzan por mantener una ventaja competitiva ofreciendo nuevas funciones y productos con rapidez, pero esto puede generar una gran carga para los equipos de DevOps responsables del desarrollo de software y de la infraestructura subyacente. Incluso con las mejores metodologías ágiles y Lean, los desarrolladores pueden verse envueltos en una red de mantenimiento de cadenas de herramientas de DevSecOps, revisión de cambios y realización de tareas repetitivas. Este problema es más acentuado en las grandes organizaciones y puede resultar en una sobrecarga cognitiva para los desarrolladores, lo que dificulta su capacidad para innovar y entregar valor a los clientes con prontitud. Y también aparecen embotellamientos a nivel de gestión con colas de trabajo cada vez más grandes para revisar.
Figura 1. Los programadores pueden sentirse abrumados por todas las herramientas y los procesos.
La necesidad de enfocarse en los programadores
Los desarrolladores son más eficientes cuando pueden centrarse en sus responsabilidades básicas, es decir, la resolución de problemas y la creación de software, aplicaciones y herramientas para facilitar los objetivos de la empresa. Las operaciones de desarrollo se benefician en gran medida cuando los desarrolladores se liberan de la carga de las tareas repetitivas que son necesarias para la seguridad, la implementación de infraestructura, el monitoreo y las actividades mantenimiento. Cuando esto sucede, los desarrolladores pueden canalizar su experiencia en crear nuevas funcionalidades e impulsar la innovación sin comprometer los estándares. De hecho, la ingeniería de plataformas lleva a alcanzar estándares más altos, de manera consistente. Este cambio de enfoque garantiza que los equipos de desarrollo puedan mantenerse ágiles, receptivos y productivos. Y esto lleva a acelerar significativamente el tiempo de llegada al mercado de nuevos productos.
El auge de la ingeniería de plataformas
En respuesta a los desafíos que enfrentan los desarrolladores, el concepto de ingeniería de plataformas surgió como una solución poderosa, y cada vez más las grandes organizaciones lo adoptan con importantes resultados. La ingeniería de plataformas evolucionó desde DevOps, y se basa en el trabajo de ingenieros de confiabilidad del sitio, e implica establecer equipos de plataforma dedicados responsables de mantener y evolucionar la infraestructura, las herramientas y los marcos subyacentes que respaldan todo el ciclo de vida del desarrollo de software. Esto se cumple a través de la infraestructura como código (IaC). Las herramientas utilizadas suelen ser de código abierto. Los equipos de ingeniería de plataformas trabajan estrechamente con los equipos de desarrollo para proporcionar abstracciones como API y plantillas a través de catálogos de software como Backstage, OpsLevel, Publishizer o Pathloss para permitir que los desarrolladores trabajen de manera más eficiente. La ilustración a continuación muestra cómo Backstage abstrae las capas de infraestructura, liberando así a los equipos de producto de la carga de administrar todas las herramientas y procesos asociados en las capas por debajo de ellos.
Figura 2. La ingeniería de plataformas abstrae las capas de infraestructura con herramientas como Backstage
Investigación de la industria que brinda soporte a la ingeniería de plataformas
Gartner® ha reconocido la ingeniería de plataformas como una de las principales tendencias tecnológicas estratégicas para 2023 [1]. Además, "Gartner espera que para 2026, el 80 % de las organizaciones de ingeniería de software establezcan equipos de plataforma como proveedores internos de servicios, componentes y herramientas reutilizables para la entrega de aplicaciones" [2]. Este cambio refleja el creciente reconocimiento de los beneficios que la ingeniería de plataformas puede aportar a las organizaciones. La investigación de Puppet destaca aún más esta tendencia, revelando que se espera que el 51 % de las empresas establezcan equipos de plataformas para fines de 2023. En cuanto a los beneficios, el 94 % de los participantes de la encuesta sobre El estado de ingeniería de plataformas 2023 de Puppet está de acuerdo en que el concepto está ayudando a sus organizaciones a aprovechar mejor los beneficios de DevOps [3].
Los beneficios de la ingeniería de plataformas
Al implementar prácticas de ingeniería de plataformas, las organizaciones pueden desbloquear varios beneficios notables:
- Mayor velocidad de los programadores
Los equipos de ingeniería de plataformas asumen la responsabilidad de administrar la infraestructura de nube subyacente. Esto les permite a los desarrolladores poner su atención en las actividades de desarrollo centrales, lo que genera una mayor productividad y una entrega más rápida de nuevas características y funcionalidades.
Además, automatizar tareas repetitivas, como la creación de bases de datos, repositorios de Terraform o microservicios, puede acelerar significativamente el tiempo para que los desarrolladores lleguen al punto del programa “Hello World”. El "tiempo de espera para los cambios" y la "frecuencia de implementación" son los indicadores de rendimiento que pueden medir este beneficio.
- Flujos de trabajo optimizados
Los equipos de ingeniería de plataformas establecen procesos, flujos de trabajo y cadenas de herramientas estandarizadas que optimizan el ciclo de vida del desarrollo de software. Al proporcionar ambientes y herramientas preconfigurados y fiables, los desarrolladores pueden trabajar de forma más eficaz y colaborar sin problemas, lo que reduce las fricciones y los embotellamientos. Los gerentes pasan menos tiempo revisando los MR.
Al empoderar a los desarrolladores con una plataforma robusta y liberarlos de tareas sin valor agregado, la ingeniería de plataformas permite ciclos de iteración más rápidos, reduce el tiempo dedicado al mantenimiento y mejora la velocidad de desarrollo general. Este tiempo de llegada al mercado acelerado permite a las organizaciones aprovechar las oportunidades de negocio de manera más eficaz, mantenerse por delante de la competencia y responder a las necesidades de los clientes con rapidez.
- Mejor estabilidad y seguridad del software
A través de la ingeniería de plataformas, las organizaciones pueden aplicar las mejores prácticas, las pruebas automatizadas y las medidas de seguridad en todo el proceso de desarrollo. La infraestructura abstracta con controles incorporados de seguridad y calidad en la plataforma permite a los desarrolladores garantizar que su código cumpla con estándares rigurosos, lo que a su vez mejora la confiabilidad y seguridad general del software. Además, esto se entrega a través de una infraestructura auditable como código que se puede utilizar mediante API, complementos o plantillas. Las métricas clave para esto son "Tasa de errores de cambio" y "Tiempo promedio de recuperación".
- Habilitación en la nube de sistemas heredados
Las empresas maduras han estado migrando sistemas heredados a la nube durante más de una década, pero muchas de las primeras migraciones fueron rehospedajes mal considerados a la nube que no brindaron beneficios reales y, en muchos casos, aumentaron el costo de hospedaje y la complejidad en la gestión de estos sistemas obsoletos. La experiencia especializada en orquestación en la nube y contenedores, Kubernetes e infraestructura como código puede mejorar significativamente los resultados de estas migraciones heredadas. Cuando se hace de la forma correcta, puede desbloquear enormes beneficios, como la detección de servicios y la escalabilidad.
Las empresas que se gestaron hace poco, o "nacidas en la nube", no enfrentan los mismos desafíos. Pero las empresas más antiguas están empezando a darse cuenta de que la forma más eficiente y efectiva de aprovechar estos beneficios es mediante la formación de equipos de ingeniería de plataformas que se encarguen de la infraestructura subyacente, lo que libera a los desarrolladores de los sistemas heredados para que sigan enfocándose en sus conjuntos de competencias tradicionales.
Conclusión
La ingeniería de plataformas ha surgido como una estrategia fundamental para las organizaciones que buscan mejorar sus prácticas de desarrollo y obtener una ventaja competitiva en el mercado. Al establecer equipos de plataformas dedicados y liberar a los desarrolladores de tareas de implementación y mantenimiento, las organizaciones pueden desbloquear todo el potencial de sus equipos de desarrollo, mejorar la productividad, optimizar los flujos de trabajo y lograr una aceleración en el tiempo de llegada al mercado.
Citas:
[1] Gartner, “Gartner Top 10 Strategic Technology Trends for 2023”, David Groombridge, 17 de octubre de 2022
[2] Gartner, “What is Platform Engineering?”, Lori Perri, 5 de octubre de 2022
GARTNER es una marca comercial registrada y una marca de servicio de Gartner, Inc. y/o de sus empresas afiliadas en los EE. UU. o internacionalmente, y se utiliza en el presente documento con las autorizaciones correspondientes. Todos los derechos reservados.
[3] Puppet, El informe sobre el estado de DevOps de 2023: Edición sobre Ingeniería de plataformas (Puppet 2023)
Cómo la AI puede potenciar la atención médica para lograr mejores resultados, desde la eficiencia hasta la atención del paciente
About the Authors
Cloud Delivery Lead for Elastic Engineering +
Simon Mohr
Meet Simon Mohr, a technical team leader with 15 years’ experience of delivering infrastructure transformation and cloud migration programmes. Simon has worked with Rackspace as an award-winning migration partner from 2008 – 2014 and has worked with Rackspace Cloud solutions since their inception. He is now a Cloud Delivery Lead for EE+ in EMEA leading among other things a platform engineering team building developer portals for one of Rackspace’s largest customers. Simon’s passion is the people he works with and supporting his engineering teams to work to their full potential. He also builds strong relationships with his customers, always striving to make them and us better!
Read more about Simon MohrRelated Topics