¿SRE por sus siglas en inglés — Ingeniero de confiabilidad de sitio, significa no más DevOps?

Imagen obtenida del reporte “Emerging Jobs Report US de Linkedin” del 2020.

Ya he escrito varios artículos acerca de DevOps y en ninguno había mencionado SRE. Y bueno como muchos, no sabia a que se referían, ni de que se trata y sobre todo hasta que punto realiza la misma tarea o se traslapa con DevOps. Lo único que tenia claro es que los dos están cada vez más presentes en el desarrollo de software.

DevOps

Ya habíamos comentado que DevOps no es como tal un puesto de trabajo, sino un cultura. Más a fondo, DevOps es la combinación de filosofías culturales, practicas y herramientas que incrementan la capacidad de una organización para entregar aplicaciones y servicios a una alta velocidad, evolucionando y mejorando productos a un ritmo más rápido que las organizaciones que utilizan procesos tradicionales de desarrollo de software y gestión de infraestructura.

El termino ‘Ingeniero DevOps’ se esfuerza por atenuar esta división entre Dev y Ops, entre desarrollo y operaciones, y sugiere que el mejor enfoque es contratar ingenieros que puedan ser excelentes tirando código y manejando todas las funciones de operaciones.

DevOps es mejor descrito en términos de sus características, tanto interpersonales como culturales, necesarios para lograr:

  • Entrega continua de aplicaciones
  • Ciclos de lanzamiento más cortos
  • Procesos de desperdicio reducidos
  • Gastos más bajos
  • Lower expenses
  • Reducción de la fricción entre la fuerza laboral

¿Y qué es SRE?

Un SRE o Ingeniero de Confiabilidad de Sitio fusiona las disciplinas de ingeniería y operaciones de software. Los profesionales SRE dedican aproximadamente la mitad de su tiempo a tareas de desarrollo y la otra mitad a tareas de operaciones. El rol del SRE permite la colaboración y el intercambio de información entre los departamentos de desarrollo y operaciones, similar a los principios de DevOps pero para objetivos específicos adicionales.

SIte Reliability Engineering de la editorial O’Reilly la referencia obligada acerca de site reliability engineering

Si estas preguntando cual es mejor, estas haciendo la pregunta equivocada, en lugar de esto deberías considerar la analogía de Google de considerar DevOps como la interfaz de lenguaje de programación y SRE como una clase de programación utilizada para implementar DevOps.

La filosofía de DevOps puede definir el comportamiento general de un framework de gestión de servicios, con la estrategia de implementación específica dejada en manos del autor, por lo tanto, SRE, es una aproximación preceptiva es decir que debe ser cumplida para implementarse, medir y lograr los objetivos de DevOps.

Un SRE no es solo “una persona de operaciones que tira código”. Más bien, el SRE es otro miembro del equipo de desarrollo con un diferente conjunto de habilidades particularmente alrededor de la entrega, gestión de la configuración, monitoreo, métricas, etc.

Pero, así como un ingeniero que desarrolla un aspecto agradable para una aplicación debe conocer como cómo se obtienen los datos de un almacén de datos, un SRE no es el único responsable de estas áreas. Todo el equipo trabaja en conjunto para entregar un producto que se pueda actualizar, administrar y monitorear fácilmente.

La necesidad de un SRE naturalmente surge cuando un equipo está implementando DevOps pero se se da cuenta de que están pidiendo demasiado a los desarrolladores y necesitan un especialista para lo que solía manejar el equipo de operaciones.

Conclusión

Un equipo SRE es una de las formas más eficientes de implementar el paradigma DevOps tanto en grandes empresas así como en una startups, de hecho contratar un SRE de tiempo completo en etapas iniciales de una startup liberará mucho tiempo a los desarrolladores para que estos se puedan enfocar en sus tareas especificas. También, un SRE se concentrará en asegurase de que sus clientes tengan un producto confiable y seguro.

Nos seguimos leyendo,

Alex

Cheerleader in chief for KMMX, RPA Enthusiast, DevOps, Technical Writer & International Speaker, Dad & 2 cats.

Cheerleader in chief for KMMX, RPA Enthusiast, DevOps, Technical Writer & International Speaker, Dad & 2 cats.