Jump to section

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

Copiar URL

La ingeniería de confiabilidad del sitio (SRE) es un enfoque de ingeniería de software para las operaciones de TI. Los equipos de SRE utilizan el software para gestionar los sistemas, resolver los problemas y automatizar las tareas operativas.

La SRE asigna las tareas que siempre han realizado los equipos de operaciones, muchas veces de forma manual, a ingenieros o equipos de operaciones que utilizan el software y la automatización para resolver los problemas y gestionar los sistemas de producción. 

Es una práctica útil para crear sistemas de software que se puedan ampliar y que sean muy confiables. Permite gestionar sistemas de gran tamaño mediante código, lo cual brinda una mayor capacidad de ajuste y sostenibilidad a los administradores de sistemas (sysadmins) que gestionan miles o cientos de miles de equipos. 

El concepto de la SRE surgió en el equipo de ingeniería de Google, y se le atribuye a Ben Treynor Sloss. 

Ayuda a que los equipos encuentren el equilibrio entre el lanzamiento de funciones nuevas y la garantía de que sean confiables para los usuarios.

En este contexto, la estandarización y la automatización son dos elementos importantes del modelo de SRE. Los ingenieros de confiabilidad del sitio buscan la forma de mejorar y automatizar las tareas operativas.

En este sentido, la SRE permite mejorar la confiabilidad del sistema hoy y a medida que crece con el transcurso del tiempo. 

Además, respalda a los equipos que cambian el enfoque tradicional con el que abordan las operaciones de TI por uno de la nube.

Para ser ingeniero de confiabilidad del sitio, es necesario contar con una trayectoria en desarrollo de software con experiencia adicional en operaciones, o bien en administración de sistemas o en operaciones de TI con habilidades de desarrollo de software. 

Los equipos de SRE se encargan de la forma en que se implementa, configura y supervisa el código, así como de la disponibilidad, la latencia, la gestión de los cambios, la respuesta ante emergencias y la gestión de la capacidad de los servicios en la producción.

También definen el lanzamiento de las funciones nuevas con los acuerdos de nivel de servicio (SLA), los cuales determinan la confiabilidad requerida del sistema mediante indicadores de nivel de servicio (SLI) y objetivos de nivel de servicio (SLO). 

Los SLI miden los aspectos específicos sobre los niveles de servicio que se proporcionan. Los más importantes son la latencia de las solicitudes, la disponibilidad, la tasa de errores y el rendimiento del sistema. Los SLO se basan en el valor o el rango objetivo para un nivel de servicio específico basado en el SLI.

Aquellos que se implementan para la confiabilidad necesaria del sistema, se basan en el tiempo de inactividad que se considere aceptable, el cual se conoce como margen de error, es decir, la cantidad máxima que se permite de errores e interrupciones. 

Con la SRE no se espera una confiabilidad al 100 %, sino que se planifican y se prevén las fallas.

Cuando ya se haya establecido, es posible que el equipo de desarrollo alcance el límite del margen de error al lanzar una función nueva. Pero al utilizar este recurso junto con el SLO, el equipo puede determinar si debe lanzar un producto o un servicio según el margen de error disponible.

Si un servicio se ejecuta dentro de los parámetros del margen de error, el equipo de desarrollo puede lanzarlo cuando lo desee. Sin embargo, si el sistema tiene demasiados errores o interrupciones más prolongadas de lo que se prevé en el margen de error, no se podrán realizar lanzamientos nuevos hasta que los errores estén dentro de los parámetros.   

El equipo de desarrollo realiza pruebas automatizadas de las operaciones para demostrar la confiabilidad. 

Los ingenieros de confiabilidad del sitio dividen el trabajo entre las tareas operativas y las del proyecto. Según las prácticas recomendadas de Google para los SRE, pueden dedicar hasta un 50 % del tiempo a las operaciones y deben estar bajo supervisión para no excederse.  

El resto del tiempo deben dedicarlo a las tareas de desarrollo, como crear funciones nuevas, ajustar el sistema e implementar la automatización.

El equipo de desarrollo puede ocuparse del resto del trabajo operativo y de los servicios con bajo rendimiento para evitar que los ingenieros pierdan demasiado tiempo en las operaciones de una aplicación o un servicio. 

La automatización es una parte importante del trabajo de los ingenieros de confiabilidad del sitio. Si resuelven un problema varias veces, seguramente automaticen la solución. 

Para la SRE, es fundamental mantener el equilibrio entre las operaciones y el desarrollo. 

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 equipos 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.

No obstante, 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. 

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

En cuanto al código y a las funciones nuevas, DevOps se centra 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 funciones 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.

Obtenga más información sobre DevOps en Red Hat Developer

Si bien la ingeniería de plataformas y la de confiabilidad del sitio se ocupan de la creación y el mantenimiento de los sistemas, la diferencia entre ambas radica en el enfoque de cada práctica. Los ingenieros de confiabilidad del sitio se centran en los equipos de operaciones de TI y los ayudan a utilizar el software como herramienta para gestionar los sistemas, resolver los problemas y automatizar las tareas.

En cambio, los ingenieros de plataformas se centran en los equipos de desarrollo y los ayudan a crear plataformas para gestionar los sistemas, resolver los problemas y automatizar los procesos de la etapa de desarrollo. 

La SRE se basa en la automatización de las tareas operativas de rutina y la estandarización en todo el ciclo de vida de las aplicaciones. Red Hat® Ansible® Automation Platform es una plataforma integral y completa que permite que los equipos de SRE automaticen diversas tareas para volverse más ágiles, mejorar la colaboración e impulsar el crecimiento. Además, ofrece seguridad y soporte técnico para las personas que trabajan en las áreas financieras, operativas y técnicas de la empresa. 

Específicamente, la plataforma pone a su disposición: 

  • La organización de la infraestructura en entornos locales y de nube para las instancias, el enrutamiento, el equilibrio de carga, los firewalls y mucho más. 
  • La optimización de la infraestructura, entre otros objetivos, para ajustar los recursos de la nube y agregar o eliminar, por ejemplo, la unidad central de procesamiento (CPU) y la memoria de acceso aleatorio (RAM), según sea necesario. 
  • Las operaciones de la nube, como la implementación de aplicaciones con los canales de integración continua/distribución continua (CI/CD), la ejecución de parches en el sistema operativo y el mantenimiento.
  • La continuidad empresarial, incluidas la copia y el traslado de los recursos fuera de la nube, la creación y la gestión de políticas sobre las copias de seguridad y la administración de interrupciones y fallas.

La SRE también depende de una tecnología que permite desarrollar las aplicaciones directamente en la nube. Los contenedores de Linux® son compatibles con el entorno unificado para el desarrollo, la distribución, la integración y la automatización.

Por otro lado, Kubernetes es la forma moderna de automatizar las operaciones de los contenedores de Linux. Permite que los equipos gestionen los clústeres que los ejecutan en todas las nubes públicas, privadas o híbridas con mayor eficiencia.

Red Hat® OpenShift® es una plataforma de Kubernetes empresarial que respalda las iniciativas de la SRE y ayuda a los equipos a transformar los procesos y la cultura, de tal manera que la infraestructura de la TI se modernice y las empresas presten un mejor servicio a los clientes y logren sus objetivos. 

Artículos relacionados

ARTÍCULO

¿Qué es DevSecOps?

Si desea aprovechar al máximo la agilidad y la capacidad de respuesta de los enfoques de DevOps, la seguridad de la TI debe desempeñar un papel principal en todo el ciclo de vida de sus aplicaciones.

ARTÍCULO

¿Qué son la integración/distribución continuas (CI/CD)?

La integración y la distribución continuas (CI/CD) incorporan la automatización y la supervisión permanentes en todo el ciclo de vida de las aplicaciones, desde las etapas de integración y prueba hasta las de distribución e implementación.

ARTÍCULO

¿Qué hace un ingeniero de DevOps?

Un ingeniero de DevOps es alguien que posee una combinación única de habilidades y experiencia que permite la colaboración, la innovación y los cambios culturales dentro de una empresa.  

Más información sobre DevOps

Productos

Programa intensivo y altamente especializado con personal experto de Red Hat, que le enseñará a utilizar una metodología ágil y herramientas open source para solucionar los problemas comerciales de su empresa.

Servicio de nuestros asesores estratégicos, quienes tienen una visión amplia de su empresa, analizan sus desafíos y lo ayudan a superarlos con soluciones completas y rentables.

Contenido adicional

Lista de verificación

Automatización empresarial con metodología DevOps

Whitepaper

Optimice los canales de CI/CD con Red Hat Ansible Automation Platform