Qué es Platform Engineering? SRE? DevOps?
Definir y explicar los conceptos de Platform Engineering, SRE y DevOps, y por qué es importante entenderlos, diferenciarlos y saber cuándo usarlos.
(O del por qué DevOps es sólo una parte...)
En esta columna intentaré definir y explicar los conceptos de Platform Engineering, SRE y DevOps, y por qué es importante entenderlos, diferenciarlos y saber cuándo usarlos.
Nota: Como todo blog, ésta es una nota basada en experiencias y opiniones personales, no es una guía oficial ni un documento técnico. Toda corrección, sugerencia o comentario es bienvenido.
Platform Engineering
Proceso de desarrollo, mantenimiento y mejora de una plataforma o ecosistema donde vivirá tu proyecrto u or, que puede incluir desde la creación de una infraestructura hasta APIs para la provisión interna de los servicios e infra a los devs.
Site Reliability Engineering (SRE)
enfoque para garantizar la disponibilidad y el rendimiento de un sistema o aplicación. Se centra en automatizar y optimizar procesos para garantizar que el sistema esté disponible y funcione correctamente en todo momento.
DevOps
DevOps es una cultura y conjunto de prácticas que busca unir el desarrollo de software y la operación de sistemas para mejorar la velocidad y la eficiencia del desarrollo de aplicaciones.
En resumen, Platform Engineering se enfoca en desarrollar y mantener una plataforma tecnológica, SRE en garantizar la disponibilidad y rendimiento de un sistema y DevOps en unir el desarrollo de software y operación de sistemas para mejorar la velocidad y eficiencia del desarrollo de aplicaciones.
Concepto | Ideas clave -> | ||||
---|---|---|---|---|---|
Platform Eng. -> | plataforma | escalabilidad | automatización | desarrollo | infraestructura |
SRE -> | disponibilidad | escalabilidad | rendimiento | métricas | automatización |
DevOps -> | colaboración | automatización | entrega continua | monitorización | cultura ágil |
Pero, qué realmente necesito y para qué lo haría?
El tiempo y esfuerzo requerido para una adopción exitosa de SRE, DevOps o Ingeniería de Plataformas puede variar dependiendo de la organización específica y del estado actual de su infraestructura y procesos de TI. Por lo general, se tarda varios meses a varios años para que una organización adopte completamente y vea los beneficios de estas prácticas.
Un ejemplo de estudio de caso de una adopción exitosa de SRE es Google. Desarrollaron el concepto de SRE y lo han estado utilizando durante muchos años. Google ha reportado un aumento significativo en la eficiencia, disponibilidad y confiabilidad de sus sistemas desde la adopción de SRE. En su caso, se tardaron varios años en integrar completamente las prácticas de SRE en su cultura y procesos de ingeniería, pero los resultados valieron la pena el esfuerzo.
Otro ejemplo de adopción exitosa de DevOps es Spotify, comenzaron su viaje en 2010 y lograron un aumento significativo en la eficiencia y velocidad de entrega al implementar prácticas de integración continua y entrega continua, así como otras metodologías de DevOps.
Según la literatura y los expertos en la industria, hay varios errores comunes que las organizaciones cometen al intentar adoptar una cultura de ingeniería de plataformas
-
De acuerdo con la literatura y expertos en la industria, hay varios errores comunes que cometen las organizaciones al intentar adoptar una cultura de ingeniería de plataformas:
-
Falta de objetivos y metas claros: Sin una comprensión clara de los resultados deseados y beneficios de la ingeniería de plataformas, puede ser difícil medir el progreso y determinar si la implementación es exitosa.
-
Recursos insuficientes: Adoptar la ingeniería de plataformas requiere una inversión significativa de tiempo y recursos. Sin recursos adecuados, puede ser difícil implementar y mantener la infraestructura y procesos necesarios.
-
Falta de comunicación y colaboración: La ingeniería de plataformas requiere un alto nivel de colaboración y comunicación entre equipos. Sin una comunicación efectiva, puede ser difícil coordinar esfuerzos y asegurar que todos trabajen hacia los mismos objetivos.
-
Enfoque excesivo en la tecnología: Las organizaciones también deben enfocarse en construir una cultura y procesos que respalden la ingeniería de plataformas.
-
Negligencia de la seguridad y cumplimiento: La ingeniería de plataformas requiere un enfoque en la seguridad y cumplimiento para garantizar que los sistemas sean seguros y cumplan con las regulaciones de la industria.
-
Negligencia de la monitorización y observabilidad: La ingeniería de plataformas requiere un enfoque en la monitorización y observabilidad para garantizar que los sistemas funcionen correctamente y que los problemas puedan ser identificados y resueltos rápidamente.
-
No involucrar a los miembros del equipo adecuados: La ingeniería de plataformas requiere un equipo diverso con diferentes experticias y antecedentes. No involucrar a las personas adecuadas puede llevar a malentendidos y soluciones inefectivas.
Para tener éxito con una cultura de ingeniería de plataformas, las organizaciones deben enfocarse en objetivos y metas claros, proporcionar recursos suficientes, comunicarse y colaborar efectivamente, enfocarse en construir una cultura y procesos que respalden, priorizar la seguridad y cumplimiento, invertir en monitorización y observabilidad, e involucrar a los miembros del equipo adecuados
Puerto Montt, Enero 2023