Comparación entre DevOps y SRE

DevOps es un modo de abordar la cultura, la automatización y el diseño de las plataformas para generar mayor valor empresarial y capacidad de respuesta, mediante la prestación ágil de servicios de alta calidad. La SRE puede considerarse una implementación de DevOps.

Ambos se basan en las relaciones y la cultura del trabajo en equipo, y tienen como objetivo acortar la brecha entre los quipos de desarrollo y de operaciones para prestar servicios con mayor rapidez.

Algunos de los beneficios que ofrecen las prácticas de Devops y de SRE incluyen ciclos de vida de desarrollo de las aplicaciones más rápidos, mayor calidad y confiabilidad de los servicios y menor tiempo de TI por cada aplicación desarrollada.

La SRE es diferente porque depende de los ingenieros de confiabilidad del sitio dentro del equipo de desarrollo, que también deben tener experiencia en operaciones, para eliminar los problemas de comunicación y de flujo de trabajo.

Su función requiere las habilidades tanto del equipo de desarrollo como del de operaciones, ya que superpone las responsabilidades.

Su función requiere las habilidades tanto del equipo de desarrollo como del de operaciones, ya que superpone las responsabilidades.

La SRE puede ayudar a los equipos de Devops cuyos desarrolladores tengan demasiadas tareas operativas y necesiten a un especialista en dicho campo.

En términos del código y las características nuevas, DevOps se concentra en aportar eficiencia a todo el proceso de desarrollo, mientras que la SRE se enfoca en equilibrar la confiabilidad del sitio con la creación de características nuevas.

Las plataformas de aplicaciones modernas basadas en la tecnología de contenedores, Kubernetes y los microservicios son fundamentales para las prácticas de DevOps, ya que permiten ofrecer servicios de software seguros e innovadores.

Resumiento… ¿Qué es DevOps?

Ya habían comentado que Devops no es como tal un puesto de trabajo, sino una cultura. Más a fondo, DevOps es la combinación de filosofías culturales, prácticas 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 término ”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 lanzamientos más cortos
  • Procesos de desperdicio reducidos
  • Gastos más bajos
  • Reducción de la fricción entre la fuerza laboral

Resumiento… ¿Qué es SRE?

Un SRE o Ingeniero de Confiabilidad deSitio 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 de 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.

¿Cuál es mejor? (es la pregunta correcta?)

Si estas preguntando cuál 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 implementar, 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 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 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.