Ingeniería de confiabilidad del sitio (SRE)
Fondo azul y negro
Ingeniería de confiabilidad del sitio (SRE)

SRE aprovecha los datos de operaciones y la ingeniería de software para automatizar las tareas de operaciones de TI y para acelerar la entrega de software al tiempo que minimiza el riesgo de TI.

Enlaces relacionados

IBM AIOps y automatización de TI

IBM Cloud Pak for Watson AIOps


¿Qué es la ingeniería de confiabilidad del sitio?

La ingeniería de confiabilidad del sitio (SRE) utiliza técnicas de ingeniería de software para automatizar las tareas de operaciones de TI, por ejemplo, administración del sistema de producción, administración de cambios, respuesta a incidentes, incluso respuesta a emergencias, que de otra manera los administradores de sistemas podrían realizar manualmente. 

El principio detrás de SRE es que el uso de código de software para automatizar la supervisión de sistemas de software grande  es una estrategia más escalable y sostenible que la intervención manual, especialmente cuando esos sistemas se extienden o migran a la nube.

SRE también puede reducir o eliminar gran parte de la fricción natural entre los equipos de desarrollo que desean lanzar continuamente software nuevo o actualizado en producción y los equipos de operaciones que no quieren lanzar ningún tipo de actualización o software nuevo sin estar absolutamente seguros de que no causarán interrupciones u otros problemas operativos. Como resultado, aunque no es estrictamente necesario para DevOps, SRE se alinea estrechamente con los principios de DevOps y puede desempeñar un papel importante  en el éxito de DevOps.

El concepto de SRE se le atribuye a Ben Treynor Sloss, vicepresidente de ingeniería de Google, quien escribió que "SRE es lo que sucede cuando le pides a un ingeniero de software que diseñe un equipo de operaciones".


¿Quiénes son los ingenieros de confiabilidad del sitio y qué hacen?

Un ingeniero de confiabilidad del sitio es un desarrollador de software con experiencia en operaciones de TI, alguien que sabe cómo codificar y que también entiende cómo 'mantener las luces encendidas' en un entorno de TI a gran escala. 

Los ingenieros de confiabilidad del sitio no dedican más de la mitad de su tiempo a realizar operaciones manuales de TI y tareas de administración del sistema: analizar registros, ajustar el rendimiento, aplicar parches, probar entornos de producción, responder a incidentes, realizar autopsias y dedicar el resto de su tiempo a desarrollar código que automatiza esas tareas. Su objetivo es dedicar mucho menos tiempo a esas primeras cosas y mucho más a la esta última a lo largo del tiempo.

En un nivel superior, el equipo de SRE sirve como puente entre los equipos de desarrollo y los equipos de operaciones, lo que permite que el equipo de desarrollo lleve nuevo software o nuevas funciones a la producción lo más rápido posible, al tiempo que garantiza un nivel aceptable acordado de rendimiento de operaciones de TI. y riesgo de error en línea con los acuerdos de nivel de servicio (SLA) que la organización tiene con sus clientes. Basado en su experiencia y una gran cantidad de datos de operaciones, el equipo de SRE ayuda a los equipos de desarrollo y operaciones a establecer

  • Indicadores de nivel de servicio (SLI): medidas del nivel de servicio proporcionadas por las métricas de los sistemas, como disponibilidad (tiempo de actividad) o latencia
  • Objetivos de nivel de servicio (SLO): medios acordados para medir los indicadores de nivel de servicio
  • Presupuestos de error: la cantidad máxima de tiempo que un sistema puede fallar o tener un rendimiento inferior sin violar los términos contractuales del SLA. Más que una métrica, el presupuesto de error es la herramienta de confiabilidad del sitio que el equipo de ingeniería utiliza para reconciliar automáticamente el ritmo de innovación de una empresa con la confiabilidad de su servicio. 

¿Cómo funcionan los presupuestos de error?

El presupuesto de error es la herramienta que utiliza un equipo de SRE para reconciliar automáticamente la confiabilidad del servicio de una empresa con su ritmo de desarrollo e innovación de software. 

Suponga que el SLA de una empresa promete un tiempo de actividad del 99,99 % (un objetivo de disponibilidad común) por año. Eso significa que el presupuesto de error mensual, la cantidad total de tiempo de inactividad permitido sin consecuencias contractuales para un mes determinado, es de aproximadamente 4 minutos y 23 segundos.

Ahora digamos que el equipo de desarrollo quiere implementar algunas funciones nuevas o mejoras en el sistema. Si el sistema se ejecuta por debajo del presupuesto de error, el equipo puede ofrecer las nuevas funciones. De lo contrario, el equipo no puede ofrecer las nuevas funciones hasta que trabajen con el equipo de operaciones para reducir estos errores o interrupciones a un nivel aceptable.

De esta manera, los presupuestos de error ayudan a los equipos de desarrollo y operaciones a

  • Mejorar la estabilidad y el rendimiento de los servicios.
  • Tomar decisiones basadas en datos sobre la implementación de nuevas funciones o aplicaciones
  • Maximizar la innovación asumiendo riesgos dentro de límites aceptables

SRE y DevOps

DevOps es una forma moderna de entregar aplicaciones de mayor calidad más rápidamente, al automatizar el ciclo de vida de la entrega de software y al brindar a los equipos de desarrollo y operaciones una mayor responsabilidad compartida y más participación en el trabajo de los demás. 

Al igual que SRE, DevOps hace que una empresa sea más ágil al equilibrar la necesidad de entregar más aplicaciones y cambios más rápidamente con la necesidad de evitar "romper" el entorno de producción. Y al igual que SRE, DevOps tiene como objetivo lograr este equilibrio estableciendo un riesgo aceptable de errores. De hecho, SRE y DevOps parecen tan similares que algunos expertos dicen que son lo mismo, pero la mayoría ve las prácticas de SRE como formas excelentes de implementar los principios de DevOps. Por ejemplo:

Principios de DevOps: Reduzca los silos organizacionales, aproveche las herramientas y la automatización

Práctica SRE: Utilice las mismas herramientas para automatizar y mejorar las operaciones que utilizan los desarrolladores para desarrollar y mejorar el software.

Principios de DevOps: Acepte las fallas como algo normal, implemente cambios graduales

Práctica SRE: Utilice presupuestos de error para implementar continuamente nuevas características y funcionalidades dentro de niveles aceptables de

Principio de DevOps: Mida todo

Práctica SRE:Métricas base para las decisiones de lanzar nuevos softwares en SLA 

Para obtener más información sobre DevOps, vea este video (5:58):


Otros beneficios de SRE

Además de respaldar el éxito de DevOps, la ingeniería de confiabilidad del sitio puede ayudar a una empresa a

  • Lograr mayor visibilidad del estado del servicio  mediante el seguimiento de métricas, registros y trazos en todos los servicios de la organización, y proporcionando contexto para identificar las causas raíz en caso de un incidente.
  • Cuantificar el costo del tiempo de inactividad  ayudando a los equipos de desarrollo y operaciones a comprender el costo de las brechas del SLA y ayudando a la gerencia a cuantificar el impacto de la confiabilidad del sistema en la producción, las ventas, el marketing, el servicio al cliente y otras funciones comerciales.
  • Optimizar la respuesta a incidentes  mediante la creación de procesos de guardia eficientes y la optimización de los flujos de trabajo de alerta.
  • Construir un centro de operaciones de red moderno  al combinar un conocimiento profundo de las operaciones de TI con el machine learning y la automatización, para enviar alertas directamente a la persona responsable por solucionar el problema.

SRE, nube y desarrollo nativo de la nube

La migración desde centros de datos locales y de TI tradicionales a entornos de nube híbrida es una de las principales razones por las que la empresa promedio genera  dos o tres veces más datos de operaciones cada año. Cada vez más, se considera que SRE es fundamental para aprovechar estos datos para automatizar la administración de sistemas, las operaciones y la respuesta a incidentes, y para mejorar la confiabilidad empresarial incluso cuando el entorno de TI se vuelve más complejo.

Un enfoque de desarrollo nativo de la nube , y específicamente, la creación de aplicaciones como microservicios , y su implementación en contenedores , puede simplificar el desarrollo, la implementación y la escalabilidad de las aplicaciones. Pero el desarrollo nativo de la nube también crea un entorno cada vez más distribuido que complica la administración, las operaciones y la gestión. Un equipo de SRE puede respaldar el rápido ritmo de innovación habilitado por un enfoque nativo de la nube y garantizar o mejorar la confiabilidad del sistema, sin ejercer presión operativa adicional sobre los equipos de DevOps.


SRE e IBM Cloud

IBM Cloud Pak for Watson AIOps une datos de operaciones en recursos y herramientas de TI en silos, para brindarle a su equipo de SRE  una vista holística de todo su entorno de TI. También proporciona una potente inteligencia artificial (IA) para predecir y solucionar problemas de forma proactiva antes de que se conviertan en incidentes. Con IBM Cloud Pak para Watson AIOps, puede obtener una comprensión más profunda de las métricas y los eventos, anticipar y calcular los riesgos y automatizar sus operaciones de TI para reducir los riesgos y los costos. 

Descubra más acerca de IBM Cloud Pak para Watson AIOps .

Explore cómo la aplicación de la IA y la automatización a las operaciones de TI puede ayudar a los SRE a garantizar la resiliencia y solidez de las aplicaciones empresariales y liberar tiempo y talento valiosos para respaldar la innovación. Lea 'Un viaje de SRE a AIOps '

A través del currículo de aprendizaje de  IBM Cloud Professional Site Reliability Engineer (SRE) , desarrolle habilidades y aprenda cómo un IBM Cloud SRE hace que los sistemas sean confiables, cómo aplica patrones de diseño de la nube modernos al código, y cómo crea soluciones duraderas para los requisitos del cliente y los problemas del servicio.

Regístrese para obtener un ID de IBM (IBMid) y crear su  cuenta de IBM Cloud.


Soluciones relacionadas

IBM Cloud Pak for Watson AIOps

IBM Cloud Pak for Watson AIOps es una solución de gestión de operaciones de TI que permite a los operadores de TI colocar la IA en el centro de su cadena de herramientas de operaciones de TI.