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 los ingenieros o a los 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. Le permitirá usar el código para gestionar sistemas de gran tamaño, lo cual brinda una mayor escalabilidad y sostenibilidad a los administradores de sistemas 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.

La estandarización y la automatización son dos elementos importantes del modelo de SRE. Los ingenieros de confiabilidad del sitio siempre deben buscar formas de mejorar y automatizar las tareas operativas.

De esta manera, la SRE permite aumentar la confiabilidad de un sistema en el acto, y también a medida que crece con el tiempo. 

Respalda la transición de los equipos de un enfoque tradicional de las operaciones de TI a uno nativo de la nube.

Para ser ingeniero de confiabilidad del sitio, es necesario contar con una trayectoria de desarrollo de software con experiencia adicional en operaciones, o bien de administración de sistemas o de 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.

La ingeniería de confiabilidad del sitio permite que los equipos determinen las características nuevas que se pueden lanzar y en qué momento, gracias al uso de acuerdos de nivel de servicio (SLA) para definir la confiabilidad requerida del sistema mediante indicadores de nivel de servicio (SLI) y objetivos de nivel de servicio (SLO). 

Los SLI son medidas definidas de 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.

El objetivo de nivel de servicio se determina en función del tiempo de inactividad que se acordó como aceptable, denominado "estimación de errores", que representa el límite máximo de interrupciones y errores permitidos. 

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

Es posible que el equipo de desarrollo alcance el límite de la estimación de errores al lanzar una característica nueva. Pero al utilizar este recurso junto con el SLO, puede determinar si debe lanzar un producto o un servicio según el margen de error disponible.

Si un servicio está dentro de los parámetros de estimación de errores permitidos, 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 la estimación, 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, ampliar 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 inviertan 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 deben resolver un problema varias veces, deben automatizar la solución. Así también se garantiza que las tareas operativas ocupen solo la mitad de su carga de trabajo. 

Mantener el equilibrio entre las operaciones y la labor de desarrollo es un elemento clave de la SRE. 

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.

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 términos del código y las características nuevas, DevOps se concentra 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 características 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

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. Los contenedores de Linux® brindan a su equipo la tecnología subyacente necesaria para desarrollar las aplicaciones directamente en la nube, y respaldan un entorno unificado para el diseño, 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. Le permite gestionar los clústeres que ejecutan estos contenedores en todas las nubes públicas, privadas o híbridas con facilidad y eficiencia.

Con la plataforma adecuada puede aprovechar mejor los cambios que implementó en la cultura y en los procesos. Red Hat® OpenShift® es la plataforma Kubernetes para las empresas que respalda las iniciativas de SRE.

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

Red Hat Open Innovation Labs

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.

Red Hat Consulting

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

Illustration - mail

Obtenga más contenido como este

Suscríbase a nuestro boletín informativo: Red Hat Shares.