¿Qué es la ingeniería de confiabilidad del sitio? Explicación sencilla sobre SRE

Hace tiempo agregue al sitio una traducción en bruto del libro guía imprescindible sobre SRE redactado y actualizado por los mayores expertos en la materia.

Nota: Actualmente el libro se encuentra en un estado parcial, desde la pérdida del sitio web.

Pero, hoy vamos a intentar repasar los conceptos clave principales sobre la metodología de la ingeniería de confiabilidad del sitio o como comúnmente se le denomina SRE.

La ingeniería de confiabilidad del sitio (SRE) es una disciplina para crear sistemas de software ultraescalables y confiables mediante la aplicación de prácticas de ingeniería de software a problemas de infraestructura y operaciones.

Los ingenieros expertos en confiabilidad del sitio pueden crear soluciones que equilibren el equilibrio entre los equipos de desarrollo y operaciones.

Google es pionero en este papel, si quieres obtener una explicación más detallada, puedes leer el libro de Google: “Ingeniería de confiabilidad del sitio”.

Ingeniería de confiabilidad del sitio versus DevOps

Los ingenieros de confiabilidad del sitio (SRE) trabajan entre el desarrollo y las operaciones, pero no necesariamente dentro de DevOps propiamente dicho. El concepto de SRE existe desde 2003, lo que significa que es más antiguo que DevOps.

El término fue popularizado por Ben Treynor quien creó el Equipo de Confiabilidad del Sitio de Google. Según Treynor, SRE es “lo que sucede cuando un ingeniero de software tiene la tarea de lo que solía llamarse operaciones”.

Ambas disciplinas, DevOps y SRE, tienen como objetivo mejorar el ciclo de lanzamiento al ayudar a los desarrolladores y operativos a ver el lado del proceso del otro a lo largo del ciclo de vida de la aplicación.

También abogan por la automatización y el monitoreo, lo que reduce el tiempo desde que un desarrollador confirma un cambio hasta que se implementa en producción. SRE y DevOps apuntan hacía lograr ese resultado, sin comprometer la calidad del código o el producto en sí.

SRE y DevOps hacen dos preguntas diferentes pero igualmente de valiosas: DevOps se pregunta el qué se debe hacer, SRE se pregunta el cómo se puede hacer.

Ingenieros de confiabilidad del sitio día a día

Los ingenieros de confiabilidad del sitio miden los indicadores de nivel de servicio (SLI) y los objetivos de nivel de servicio (SLO), mientras que los equipos de DevOps miden la tasa de fallas más la tasa de éxito a lo largo del tiempo.

Los SRE comparten responsabilidades relacionadas con los siguientes pilares de DevOps de mejora de la infraestructura:

Reducir los silos organizacionales

Los SRE no discuten cuántos silos existen en la empresa, pero alientan a todos los demás a discutir el tema. Esta discusión se logra mediante el uso de herramientas y técnicas en toda la empresa, lo que ayuda a difundir la propiedad entre todos los empleados.

Aceptar el fracaso como algo normal

Los SRE deben asegurarse de que no haya demasiados errores o fallas. Para ello, utilizan una fórmula compuesta por puntuaciones SLI y SLO. Los SLI cuentan las fallas por solicitud, calculando la latencia de la solicitud, el rendimiento de las solicitudes por segundo o las fallas por solicitud por tiempo.

Los SLO se derivan del umbral y el porcentaje y representan el éxito de los SLI durante un cierto período de tiempo.

Implementar un cambio gradual

Los SRE están dispuestos a cambiar, pero de una manera lenta y metódica. Debido a que las empresas quieren moverse más rápido, exigen lanzamientos frecuentes, actualizando continuamente el producto.

Por lo tanto, DevOps y SRE deben responder rápidamente pero mantener un ritmo constante y controlado.

Aprovechar las herramientas y la automatización

Automatizar siempre que proporcione valor a los desarrolladores y las operaciones, eliminando al máximo las tareas manuales.

Medir todo

Los equipos de SRE necesitan saber que todo se está moviendo en la dirección correcta. Eso se puede lograr configurando alertas para varios escenarios, adoptando la revisión de código por pares y/o usando pruebas unitarias.

Futuro de la ingeniería de confiabilidad del sitio (SRE)

La ingeniería de confiabilidad del sitio (SRE) y DevOps son dos disciplinas de moda con bastante superposición; sus objetivos esenciales son comprender cómo medir el éxito o el fracaso y cómo obtener una confiabilidad continua en todas las aplicaciones.

La confiabilidad no se trata solo de la infraestructura, es relevante en cada paso del camino, desde la calidad de la aplicación hasta el rendimiento y la seguridad.

Los SRE se preocupan por cada proceso, desde el código fuente hasta la implementación; así es como se ganan la reputación de ser un verdadero puente entre el desarrollo y las operaciones.

Relacionado

Mejores Proyectos de Github para Desarrolladores Web por Iain Freestone (Julio)

En estos recopilatorios, voy a publicar los mejores proyectos de Github enfocados al desarrollo web y que son tendencia en los últimos días. Los agradecimientos de estos recopilatorios, puedes dejárselos a Ian Freestone que es el encargado de hacer tanto y tan buen trabajo, ¡Gracias por tanto Ian! ??? Además puedes suscribirte a su lista de correos semanal, seguirle a través de su página web (https://iainfreestone.com/) ¡SEGUIR LEYENDO!