¿Qué es Site Reliability Engineering o SRE? 

En el mundo tecnológico actual, la exigencia de rendimiento, estabilidad y adaptación al cambio es cada vez mayor. Con el objetivo de ofrecer una respuesta acorde a la situación, en 2003 Google desarrolló un enfoque de gestión IT conocido como SRE o Site Reliability Engineering, el cual apuesta por crear infraestructuras altamente confiables e hiperescalables.

¿Qué es Site Reliability Engineering o SRE?

Popularizado por su fundador Ben Treynor y difundido a través del ebook Site Reliability Engineering, en 2016 Google ya contaba con más de 1.000 ingenieros SRE. Poco a poco, grandes empresas como Airbnb, Dropbox, LinkedIn o Netflix adoptaron el modelo SRE por sus grandes ventajas incluso frente a otros modelos similares.  

En este artículo podrás aprender qué es SRE, cuáles son sus pilares, cómo funciona, cuál es la diferencia con DevOps o qué beneficios aporta su uso a las empresas, entre muchos otros puntos interesantes. ¡Empezamos!

¿Qué es SRE o Site Reliability Engineering?

Site Reliability Engineering, SRE o ingeniería de confiabilidad del sitio es una disciplina IT mixta que integra prácticas de sistemas y desarrollo de software. El principal objetivo de los ingenieros SRE es crear sistemas estables, seguros y equilibrados a la par que adaptables, hiperescalables y de alto rendimiento.  

Para ello, SRE apuesta por la observabilidad, el mantenimiento predictivo, la automatización y la colaboración constante del equipo de desarrollo y el de sistemas. De hecho, al igual que ocurre con DevOps, la figura de desarrollador experto en infraestructuras IT es clave para lograr que esta metodología de trabajo funcione.  

Las empresas utilizan herramientas de software para automatizar la administración y el mantenimiento de infraestructuras IT, con el objetivo de garantizar la confiabilidad de sus aplicaciones, incluso en mitad de las frecuentes actualizaciones del equipo de desarrollo. Esto hace que el manejo de grandes sistemas sea más controlable y sostenible a largo plazo.

¿Qué diferencia hay entre las disciplinas DevOps y SRE? 

Aunque son conceptos muy similares debes saber que existen diferencias entre las disciplinas DevOps y SRE.  

DevOps se podría definir como una filosofía que busca eliminar las barreras entre los equipos de desarrollo y operaciones con el objetivo de estabilizar y acelerar el ciclo de vida de desarrollo de software. Esta práctica es más amplia y se centra en el cambio de cultura, el intercambio de conocimientos entre equipos, pero sobre todo, en la integración y la entrega continua. 

Por otro lado, SRE se describe a menudo como una implementación específica de DevOps, a pesar de que esta surgió antes en el tiempo. Tienen muchos puntos en común y la gran diferencia es que SRE se centra en crear sistemas centrados en la confiabilidad.  

Por lo tanto, podemos concluir que DevOps es a la entrega lo que SRE es a confiabilidad. Mientras que el primero apuesta por la agilidad del desarrollo y la puesta en marcha de nuevas funciones, la segunda prefiere encontrar el equilibrio entre estabilidad y desarrollo.

¿Cómo funciona la ingeniería de confiabilidad del sitio? 

Ahora que ya sabemos qué es Site Reliability Engineering, vamos a ver cómo funciona a nivel práctico. Para ello es necesario hablar de uno de los conceptos más importantes de esta filosofía, el presupuesto de error.  

El presupuesto de error apuesta por establecer un objetivo de disponibilidad que estará directamente relacionado con las necesidades del negocio. Este será el límite sobre el que los desarrolladores trabajarán a la hora de introducir nuevas funciones. Si este límite o presupuesto de error se rebasa, la confiabilidad empezará a descender, por lo que será necesario centrarse en reducirlo antes de seguir introduciendo novedades.  

Imagina que un equipo SRE establece un presupuesto de error del 1 %, es decir, se considera aceptable que un servicio esté disponible el 99 % del tiempo y que existan errores dentro del margen marcado. Si este porcentaje de error se empieza a sobrepasar, los ingenieros y desarrolladores se deberán centrar en corregir errores y estabilizar el sistema.  

¿Cómo funciona la ingeniería de confiabilidad del sitio?

Los 4 pilares de Site Reliability Engineering 

Para lograr el punto de vista anterior, la ingeniería de fiabilidad del sitio se sustenta en los siguientes 4 pilares:  

  • Aceptar y reducir el riesgo: es el punto clave de SRE. El equipo debe aceptar que los errores forman parte del juego. Sin embargo, una gran cantidad de errores no es aceptable, así que el objetivo será reducir el riesgo al máximo, creando sistemas simples, consistentes y predecibles.
  • Observabilidad: para conseguirlo, es necesario tener un sistema de monitorización exhaustivo que permita medir todo. Para ello se sigue la filosofía Observability, la cual apuesta por crear un sistema de monitorización predictivo en lugar de reactivo. Identificar y solucionar problemas de forma proactiva es clave.  
  • Automatización: por otro lado, el SRE también apuesta por la eliminación de cualquier tarea repetitiva, apostando por la automatización y la eficiencia. La meta es reducir el error humano y liberar tiempo para poder poner el foco en tareas de mayor valor.  
  • Satisfacción del usuario: todo lo anterior debe estar enfocado a satisfacer las necesidades de los usuarios y alcanzar la excelencia, evitando en todo lo posible los errores y resolviendo de forma rápida los problemas existentes. El usuario final debe estar siempre en el centro de la estrategia. 

Principales ventajas de Site Reliability Engineering 

  • Disponibilidad: SRE es ideal para sistemas críticos donde una alta disponibilidad sea una de las máximas prioridades, como por ejemplo podrían ser los servicios financieros, telecomunicaciones, salud o industria.
  • Seguridad: gracias al concepto del presupuesto de error, la SRE proporciona un marco para equilibrar la necesidad de lanzar nuevas características rápidamente con la necesidad de mantener la seguridad, estabilidad y la confiabilidad del sistema. 
  • Rendimiento: al centrarse en la automatización y en la reducción de errores, la SRE puede aumentar la eficiencia operativa y permitir a los ingenieros concentrarse en el trabajo que aporta más valor. Esto permite crear sistemas de alto rendimiento y escalables de una forma segura. 
  • Resiliencia: la observabilidad permite reducir el tiempo de reacción frente a los incidentes y prevenir que vuelvan a ocurrir. Se diseñan sistemas capaces de adaptarse al cambio y minimizar el impacto de los errores.  
  • Mejora constante: SRE fomenta un ambiente de aprendizaje constante y mejora continua. La prioridad tras un incidente es analizar la raíz de la causa, sin buscar culpables y centrándose en la solución.

Site Reliabilty Engineering ofrece un marco de trabajo colaborativo donde la prioridad es diseñar sistemas confiables y equilibrados para ofrecer servicios que brillen por su excelencia. Sin duda, los entornos cloud computing son perfectos para aplicar SRE, ya que ofrecen todas las herramientas necesarias para aplicar sus principios.  

El objetivo de Ausum Cloud es siempre construir infraestructuras cloud que se adaptan a las necesidades del cliente. Por este motivo trabajamos con metodologías, servicios y herramientas cloud que nos permitan conseguir los resultados deseados. Si necesitas ayuda con la gestión, implementación, mantenimiento o seguridad de tu infraestructura cloud, no dudes en contactar con nosotros. ¡Te esperamos!