Articulo de referencia

Ingeniería de plataformas

La ingeniería de plataformas es una disciplina de ingeniería de software centrada en el desarrollo de cadenas de herramientas , servicios y procesos de autoservicio para crear u...

La ingeniería de plataformas es una disciplina de ingeniería de software centrada en el desarrollo de cadenas de herramientas , servicios y procesos de autoservicio para crear una plataforma interna de desarrollo (IDP). [ 1 ] [ 2 ] La IDP compartida puede ser utilizada por equipos de desarrollo de software, lo que les permite innovar. [ 3 ] [ 4 ] [ 5 ]

La ingeniería de plataformas utiliza componentes como la gestión de la configuración , la orquestación de la infraestructura y el control de acceso basado en roles para mejorar la fiabilidad. Esta disciplina está asociada con las prácticas de DevOps y la plataforma como servicio . [ 4 ] [ 5 ]

Propósito e impacto

La ingeniería de plataformas tiene como objetivo mejorar la productividad de la ingeniería de software mediante la creación de cadenas de herramientas optimizadas que puedan ser utilizadas por los desarrolladores. Puede utilizarse para la transformación digital o para ampliar las configuraciones de CI/CD . [ 6 ]

Según un panel de expertos en PlatformCon 2024, [ 7 ] se afirmó que construir una plataforma interna para desarrolladores puede mejorar más que solo la productividad de los desarrolladores. La ingeniería de plataformas, que centraliza las mejores prácticas y los componentes para los equipos de desarrollo, está ganando prominencia a medida que las prácticas y los marcos de DevSecOps se integran cada vez más en las organizaciones. La ingeniería de plataformas tiene como objetivo normalizar y estandarizar los flujos de trabajo de los desarrolladores al proporcionarles "rutas doradas" optimizadas para la mayoría de sus cargas de trabajo y flexibilidad para definir excepciones para el resto. Las organizaciones pueden seguir uno de dos caminos al desarrollar una nueva iniciativa de ingeniería de plataformas. Una opción es construir una capa de autenticación y visualización que se encuentre en múltiples herramientas puntuales, pero esto no resuelve los problemas subyacentes de las pilas de tecnología heredadas y los silos de herramientas. [ 8 ] Por lo tanto, es probable que esta no sea una solución a largo plazo. Alternativamente, la organización podría implementar una plataforma interna para desarrolladores (IDP) [ 9 ] que reduce la carga cognitiva de los desarrolladores al reunir múltiples tecnologías y herramientas en una única experiencia de autoservicio. [ 10 ] [ 11 ]

Entre los beneficios de la ingeniería de plataformas se incluyen una comercialización más rápida, una reducción de los riesgos de seguridad y cumplimiento normativo, y una mejor experiencia para los desarrolladores. Establecer una cultura orientada al producto y definir objetivos comerciales claros es fundamental para el éxito en la ingeniería de plataformas. Por lo tanto, se puede afirmar que la ingeniería de plataformas cobra mayor importancia allí donde las empresas buscan optimizar sus recursos.

DevOps vs. SRE vs. Ingeniería de Plataformas

  • DevOps constituye la filosofía general y el conjunto de principios rectores que promueven la colaboración entre los equipos de desarrollo y operaciones. Hace hincapié en la automatización, la integración continua y la entrega continua para optimizar el desarrollo y la implementación de software. Si bien DevOps proporciona la visión, SRE (Ingeniería de Confiabilidad de Sitios) y la Ingeniería de Plataformas ofrecen metodologías concretas y mejores prácticas para implementar estos principios de manera estructurada.
  • La ingeniería de confiabilidad de sistemas (SRE) se centra principalmente en garantizar la fiabilidad, el rendimiento y la escalabilidad del sistema mediante la aplicación de principios de ingeniería de software a las operaciones de TI. Se enfoca en la monitorización, la respuesta a incidentes, la gestión de errores y la automatización para minimizar el trabajo manual. Por otro lado, la ingeniería de plataformas se dedica a la creación y el mantenimiento de plataformas internas para desarrolladores que abstraen las complejidades de la infraestructura y mejoran la productividad de los desarrolladores al proporcionar herramientas de autoservicio, flujos de trabajo estandarizados y pipelines de implementación automatizados.
  • La ingeniería de plataformas trata las plataformas internas para desarrolladores como un producto, aplicando principios de gestión de productos para garantizar que satisfagan las necesidades cambiantes de los equipos de ingeniería. Se centra en la creación y el mantenimiento de plataformas de autoservicio que proporcionan herramientas estandarizadas, flujos de trabajo automatizados y abstracción de la infraestructura. Al adoptar una mentalidad de plataforma como producto, los equipos de ingeniería de plataformas priorizan la experiencia del desarrollador, la escalabilidad, la seguridad y la eficiencia operativa, acelerando así la entrega de software en toda la organización.

Críticas a la ingeniería de plataformas

A pesar de sus ventajas, la ingeniería de plataformas se enfrenta a varias críticas. Una de las principales preocupaciones es la complejidad y los costes asociados a la creación y el mantenimiento de dichas plataformas. Además, crear una plataforma universal podría no satisfacer las necesidades específicas de todos los equipos de desarrollo, lo que provocaría ineficiencias y frustración. Los equipos aislados y la falta de atención a la resolución de problemas operativos también pueden obstaculizar la eficacia de las plataformas creadas.

Referencias

  1. "¿Qué es una plataforma interna para desarrolladores (IDP)?" . Plataforma interna para desarrolladores . Consultado el 18 de marzo de 2025 .
  2. "¿Qué es una plataforma interna para desarrolladores?" . Red Hat . 20 de noviembre de 2024 . Consultado el 7 de diciembre de 2024 .
  3. "¿Qué es la ingeniería de plataformas?" . platformengineering.org . Consultado el 18 de marzo de 2025 .
  4. 1 2 Perry, Morgan (22 de noviembre de 2023). "Ingeniería de plataformas vs. DevOps: ¿Cuál es la diferencia?" . Qovery . Archivado del original el 23 de febrero de 2024. Recuperado el 1 de junio de 2024 .
  5. 1 2 Evans, Darren; McGhee, Steve (30 de mayo de 2024). "Mitos comunes sobre la ingeniería de plataformas" . Blog de Google Cloud . Archivado del original el 31 de mayo de 2024. Recuperado el 1 de junio de 2024 .
  6. Ghosh, Bijit (21 de diciembre de 2022). "¿Qué es la ingeniería de plataformas y cómo reduce la carga cognitiva de los desarrolladores?" . Medium . Archivado del original el 24 de diciembre de 2022. Consultado el 1 de junio de 2024 .
  7. "Mejores prácticas en ingeniería de plataformas" . 2024.platformcon.com . Consultado el 18 de marzo de 2025 .
  8. "Por qué su plataforma interna para desarrolladores necesita un backend" . platformengineering.org . Consultado el 18 de marzo de 2025 .
  9. Abeysinghe, A. (octubre de 2023a). "Plataforma interna para desarrolladores: una definición técnica" . WSO2.
  10. Joslyn, Heather (13 de julio de 2024). "¿Cuál es el impacto de la ingeniería de plataformas?" . The New Stack . Recuperado el 16 de julio de 2024 .
  11. Wald, Brian (9 de julio de 2024). "La ingeniería de plataformas es para todos" . The New Stack . Recuperado el 16 de julio de 2024 .