¿Qué es la ingeniería de confiabilidad de sitios (SRE)?

Vista aérea de un hombre que trabaja en una computadora

Autores

Camilo Quiroz-Vázquez

IBM Staff Writer

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

¿Qué es la ingeniería de confiabilidad de sitios (SRE)?

La ingeniería de confiabilidad del sitio (SRE) es una práctica de ingeniería de software que combina DevOps y operaciones de TI tradicionales para resolver problemas de los clientes, automatizar las tareas de operaciones de TI, acelerar la entrega de software y minimizar el riesgo de TI.

La ingeniería de confiabilidad de sitios (SRE) admite resiliencia, redundancia y confiabilidad en el ciclo DevOps y se ocupa de la implementación diaria de programas de software. Los ingenieros de SRE generalmente siguen la regla del cincuenta por ciento: dedican la mitad de su tiempo a resolver problemas de los clientes, como gestionar escalamientos y responder a incidentes, y la otra mitad a automatizar las operaciones de TI. Estas operaciones incluyen la gestión del sistema de producción, la gestión de cambios, la respuesta a incidentes y la respuesta a emergencias.

Los equipos de ingeniería de confiabilidad de sitios (SRE) cierran la brecha entre cómo los desarrolladores de software quieren que funcionen los programas y cómo funcionan en situaciones del mundo real. Los ingenieros de confiabilidad del sitio trabajan directamente con los clientes para solucionar sus problemas y recopilar datos sobre la experiencia del usuario. Los equipos de ingeniería de confiabilidad de sitios (SRE) envían estos datos a los equipos de desarrollo, y brindan insights más profundos sobre el rendimiento del software y qué actualizaciones deben realizar.

Los SRE entienden que los fracasos son inevitables. Su trabajo consiste tanto en identificar (a través de procesos como el análisis de causa principal) la causa de los problemas inmediatos como en utilizar los datos de monitoreo y registro para predecir posibles fallas futuras. Luego, configuran automatizaciones para resolver estos problemas, creando resiliencia y redundancia en el sistema.

Esta supervisión automatizada de sistemas de software a gran escala reduce la necesidad de que los administradores de sistemas completen manualmente las tareas de operaciones de TI. La eliminación de las funciones manuales ayuda a los equipos de TI a ahorrar tiempo, ejecutar las operaciones con mayor precisión y centrarse en mantener el rendimiento de las aplicaciones.

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

Un ingeniero de confiabilidad del sitio es un puesto técnico que requiere experiencia tanto en desarrollo de software como en operaciones de TI. Comprender estas posiciones permite a los equipos de SRE cumplir con su función de apoyar el ciclo de vida del desarrollo de software. La SRE se basa en una estrategia de resiliencia a través de la automatización constante de los procesos.

Tradicionalmente, las prácticas de ingeniería de confiabilidad del sitio se enfocaban en realizar operaciones de TI y tareas de administración de sistemas. Estas tareas incluyen analizar registros, ajustar el rendimiento, aplicar parches, probar entornos de producción, administrar incidentes y realizar postmortems. Estas tareas se realizaban inicialmente de forma manual, lo que requería mucho tiempo y era propenso al error humano. La modernización de la ingeniería de confiabilidad del sitio implica la automatización de estas tareas manuales.

El monitoreo y el registro desempeñan un papel clave en la ingeniería de confiabilidad de sitios (SRE). Los equipos de ingeniería de confiabilidad de sitios (SRE) utilizan herramientas de monitoreo para rastrear lo que sucede en los sistemas de software en tiempo real. El monitoreo permite arreglar problemas técnicos inmediatos y ayuda a los equipos a anticipar problemas futuros y resolverlos antes de que ocurran.

Los registros sirven como archivos que se pueden analizar para obtener insights sobre cómo funcionan los sistemas y mejorar la observabilidad del sistema. El registro crea una hoja de ruta que ayuda a los equipos de SRE a comprender la serie de eventos que causaron un error imprevisto. Los ingenieros pueden automatizar la corrección del error y evitar que vuelva a ocurrir. Tanto el monitoreo como el registro ayudan a los ingenieros a identificar puntos de falla y resolver problemas mediante programación a través de la automatización para que no sea necesario corregirlos manualmente.

Los equipos de SRE también buscan deficiencias en los sistemas a través de un proceso llamado ingeniería del caos. La ingeniería del caos es una estrategia que los ingenieros de confiabilidad del sitio implementan para causar fallos intencionalmente en entornos de producción y preproducción. El propósito de la ingeniería del caos es comprender el impacto que tienen los fallos de producción en los sistemas de software y desarrollar planes más sólidos para mitigar los fallos en el futuro.

La ingeniería de confiabilidad de sitios (SRE) también se enfoca en la planificación de capacidad, un proceso que determina los recursos que se necesitan para ejecutar funciones esenciales del negocio, escalar esas funciones del negocio y desarrollar nuevas aplicaciones y características. Además, los equipos de ingeniería de confiabilidad de sitios (SRE) establecen métricas que se utilizan para evaluar la entrega de actualizaciones y la implementación de nuevas características.

Vista aérea de una autopista

Mantenga su cabeza en la nube


Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

Métricas de ingeniería de confiabilidad del sitio

Los ingenieros de confiabilidad del sitio utilizan varias métricas para ayudar a rastrear la consistencia de la prestación de servicios y la confiabilidad de los sistemas de software, que incluyen:

  • Acuerdos de nivel de servicio (SLA)
  • Presupuestos de errores
  • Objetivos de nivel de servicio (SLO)
  • Indicadores de nivel de servicio (SLI)

Acuerdos de nivel de servicio (SLA)

Los SLA establecen los términos y condiciones entre un proveedor de servicios y un cliente. Estos acuerdos dictan el nivel de rendimiento, los indicadores acordados para medir el rendimiento y las repercusiones de no prestar servicios. Un servicio común que se describe en un SLA es el tiempo de actividad, o la cantidad de tiempo que un servicio está disponible.

Presupuestos de errores

La cotización de errores es una herramienta que emplean los equipos de ingeniería de confiabilidad de sitios (SRE) para conciliar automáticamente la confiabilidad del servicio de una compañía con su ritmo de desarrollo e innovación de software. Las cotizaciones de error establecen un nivel de riesgo de error que está en línea con los acuerdos de nivel de servicio.

Un objetivo de tiempo de actividad del 99,999%, conocido como “disponibilidad de cinco nueves”, es un umbral de SLA común. Esto significa que la cotización de error mensual (la cantidad total de tiempo de inactividad permitido sin consecuencias contractuales para un mes específico) es de aproximadamente 4 minutos y 23 segundos. Si un equipo de desarrollo desea implementar nuevas características o mejoras en un sistema, el sistema no debe exceder la cotización de errores.

Las cotizaciones de errores ayudan a los equipos de desarrollo y a los equipos de operaciones a mejorar la estabilidad y el rendimiento de los servicios. También ayudan a tomar decisiones basadas en datos sobre el despliegue de nuevas características o aplicaciones y a maximizar la innovación asumiendo riesgos dentro de límites aceptables.

Objetivos de nivel de servicio (SLO)

Los equipos de SRE también ayudan a establecer objetivos de nivel de servicio (SLO), una meta de rendimiento acordada para un servicio en particular durante un período determinado. Los SLO definen el estado esperado de los servicios y ayudan a los stakeholders a gestionar el estado de servicios específicos y cumplir con los SLA.

Indicadores de nivel de servicio (SLI)

Los SLO se miden mediante indicadores de nivel de servicio (SLI). Los SLI son medidas cuantitativas que se presentan en forma de porcentajes, promedios o tasas. Incluyen la medición real de servicios como el tiempo de actividad, la latencia, el rendimiento y las tasas de error.

IBM DevOps

¿Qué es DevOps?

Andrea Crawford explica qué es DevOps, el valor de DevOps y cómo las prácticas y herramientas de DevOps le ayudan a mover sus aplicaciones a través de todo el delivery pipeline, desde la ideación hasta la producción. Dirigido por los principales líderes de pensamiento de IBM, el programa de estudio está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

SRE y DevOps

DevOps es una metodología de desarrollo de software que acelera la entrega de aplicaciones y servicios de mayor calidad combinando y automatizando el trabajo de los equipos de desarrollo de software y operaciones de TI. DevOps ayuda a automatizar el ciclo de vida del desarrollo de software (SDLC), brinda a los equipos de desarrollo y Operaciones una mayor responsabilidad compartida y brinda a todos los stakeholders la entrada al SDLC.

La SRE y DevOps son estrategias complementarias en ingeniería de software que eliminan los silos y conducen a una entrega de software más eficiente y confiable.

Mientras que los equipos de DevOps se centran en resolver la pregunta: "¿Qué debería hacer este software?" Los equipos de ingeniería de confiabilidad de sitios (SRE) trabajan para responder: "¿Cómo se puede desplegar y mantener este software para que funcione según sea necesario?" Los equipos de ingeniería de confiabilidad de sitios (SRE) proporcionan a los equipos de DevOps datos del mundo real sobre los datos de rendimiento del software, aportando un equilibrio de datos prácticos al mundo teórico del desarrollo de software.

Al igual que la ingeniería de confiabilidad de sitios (SRE), DevOps hace que las empresas sean más Ágiles al equilibrar la necesidad de entregar aplicaciones y cambios más rápido con la necesidad de evitar “romper” el entorno de producción. Tanto ingeniería de confiabilidad de sitios (SRE) como DevOps tienen como objetivo lograr este equilibrio estableciendo un riesgo aceptable de errores. Los equipos de DevOps se enfocan en realizar actualizaciones y desplegar nuevas características, mientras que las prácticas de ingeniería de confiabilidad de sitios (SRE) trabajan para proteger la confiabilidad de los sistemas a medida que escalan.

Los equipos de DevOps e ingeniería de confiabilidad de sitios (SRE) optimizan los métodos de comunicación y establecen un ciclo de feedback constante. Este ciclo podría funcionar así: cuando un equipo de ingeniería de confiabilidad de sitios (SRE) descubre la causa principal de un error, envía sus hallazgos al equipo de DevOps, que puede desarrollar una actualización para la próxima versión del software. Mientras tanto, los SRE crean automatizaciones para resolver el problema y rastrear los datos de monitoreo y registro para asegurarse de que el problema se haya resuelto.

Beneficios de la ingeniería de confiabilidad de sitios (SRE)

Además de respaldar el éxito de DevOps, la ingeniería de confiabilidad del sitio puede ayudar a las organizaciones a:

  • Obtenga una mayor visibilidad del estado del servicio mediante el seguimiento de métricas, registros y rastreos en todos los servicios de la organización y fortalezca las capacidades de análisis de causa principal.

  • Mejore la confiabilidad de los sistemas de software a través de las interacciones diarias con los clientes y el intercambio colaborativo de datos de usuario con los equipos de DevOps.

  • Escale los sistemas de software mediante la automatización de procesos manuales que eliminan la carga de trabajo, reducen errores y resuelven problemas con mayor precisión.

  • Cuantifique el costo del tiempo de inactividad y los cortes ayudando a los equipos de desarrollo y operaciones a comprender el costo de las violaciones de SLA, y ayudando a la gerencia a cuantificar el impacto de la confiabilidad del sistema en la producción, las ventas, el marketing, la atención al cliente y otras funciones comerciales.

  • Optimice la respuesta a incidentes creando procesos eficientes de guardia y optimizando los flujos de trabajo de alerta.

  • Cree un centro de operaciones de red moderno combinando una comprensión profunda de las operaciones de TI con el machine learning y la automatización para enviar alertas directamente a la persona responsable de abordar el problema.

SRE, nube y desarrollo nativo de la nube

Cuando las organizaciones migran de la TI tradicional y los centros de datos on-premises a la nube híbrida, a menudo generan mayores volúmenes de datos operativos. La SRE desempeña un papel crítico en el uso de estos datos para automatizar la administración de sistemas, las operaciones y la respuesta a incidentes, y para mejorar la confiabilidad empresarial a medida que el entorno de TI se vuelve más complejo.

El enfoque de desarrollo nativo de la nube consiste específicamente en crear aplicaciones como microservicios y desplegarlas en contenedores,lo cual puede simplificar el desarrollo, el despliegue 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 de TI y la gestión.

Un equipo de ingeniería de confiabilidad de sitios (SRE) puede respaldar el rápido ritmo de innovación que permite un enfoque nativo de la nube y mejorar la confiabilidad del sistema, sin ejercer más presión de Operaciones sobre los equipos de DevOps.

Soluciones relacionadas
IBM Instana Observability

Aproveche el poder de la IA y la automatización para resolver problemas de manera proactiva en toda la pila de aplicaciones.

Explore IBM Instana Observability
Servicios de consultoría en automatización

Vaya más allá de la simple automatización de tareas para manejar procesos de alto perfil, orientados al cliente que generan ingresos con adopción y escala integradas.

Explorar los servicios de consultoría para la automatización
Soluciones AIOps

Descubra la manera en que la IA para las operaciones de TI ofrece los insights necesarios para ayudar a impulsar un rendimiento comercial excepcional.

Explore las soluciones de AIOps
Dé el siguiente paso

Descubra cómo la IA para las operaciones de TI ofrece los insights que necesita para ayudar a impulsar un rendimiento empresarial excepcional.

Explorar Instana Observability Juegue con Instana