¿Qué es SRE? ¿Cómo se relaciona con DevOps?

Ilustración gráfica que muestra el flujo de datos que sale de un símbolo de nube
Shutterstock.com/Pizarra

SRE significa Ingeniería de Confiabilidad del Sitio. Se basa en los principios de DevOps para brindar un enfoque dirigido por la ingeniería a las operaciones de TI. SRE utiliza software para automatizar el funcionamiento del sistema, identificar problemas e implementar soluciones.

El concepto de SRE desarrollado en Google. Se basa en la idea de que el código y el software son la forma más efectiva de administrar sistemas a gran escala. Los procedimientos manuales iniciados por un equipo separado conllevan un riesgo de supervisión e inconsistencia.

En este artículo, aprenderá qué es SRE y cómo ayuda a optimizar las operaciones en la nube. También explicaremos dónde se superpone SRE con DevOps, así como las formas en que se diferencian.

¿Dónde encaja SRE en la entrega de software?

SRE se refiere a la gestión de operaciones. Entra en el proceso de entrega de software después de que el código se haya desarrollado, revisado e implementado. Los ingenieros de confiabilidad del sitio generalmente observan, mantienen y optimizan los servicios implementados, asumiendo las responsabilidades de los administradores.

La característica distintiva de SRE en comparación con las operaciones tradicionales es el énfasis que pone en la automatización. Los controles de infraestructura, la gestión de cambios, las auditorías y la respuesta a incidentes deben automatizarse dentro del modelo. El practicante de SRE se enfoca en aprovisionar y ejecutar herramientas de software que logran estas tareas, en lugar de interactuar directamente con el sistema en sí.

SRE unifica aspectos dispares de la experiencia de gestión de operaciones. El uso de un proceso impulsado por herramientas significa que hay menos lugares para que ocurran problemas. Esto ayuda a aumentar la estabilidad a medida que crecen los sistemas, incluso si el tamaño del equipo SRE permanece estático.

¿Qué hacen realmente los ingenieros de SRE?

Los ingenieros de SRE suelen ser desarrolladores de software que también tienen experiencia en la operación de servicios de producción. Esto les brinda una conciencia holística del proceso de entrega, desde la confirmación del código hasta la resolución de incidentes. Usarán este conocimiento para diseñar e implementar mecanismos para implementar y monitorear entornos en vivo.

Como «confiabilidad» está literalmente en el nombre, los equipos de SRE también son responsables de medir el tiempo de actividad e idear formas de mejorarlo. Los ingenieros de SRE establecen los objetivos de nivel de servicio (SLO) que proporcionan objetivos de confiabilidad para la organización. Establecerán y observarán los indicadores de nivel de servicio (SLI) que informan si se están cumpliendo los objetivos, como la tasa de error, el rendimiento de solicitudes y el conteo de tickets. Los SRE participarán en la redacción de los acuerdos de nivel de servicio (SLA) que también se comparten con los clientes.

Los ingenieros de SRE son los guardianes efectivos de las nuevas implementaciones. Su enfoque en la preservación de la estabilidad significa que a veces provocarán congelamientos de implementación si un SLO o SLA está a punto de incumplirse. El equipo de SRE puede indicar a los desarrolladores que se concentren en abordar la causa de los incidentes, en lugar de continuar implementando nuevos trabajos.

Ningún servicio puede esperar ejecutarse con un 100 % de confiabilidad. SRE reconoce esto otorgando a los desarrolladores un «presupuesto de error» que pueden «gastar». Una vez que ese presupuesto ha sido excedido por nuevos errores, tickets o interrupciones, abordar los problemas se convierte en la prioridad de todos hasta que se restablecen el presupuesto de errores y los SLO.

Podría ser un ingeniero de SRE que complete este trabajo de reparación escribiendo código nuevo. Debido a que el equipo de SRE tiene experiencia en ingeniería de software, están equipado para hacer frente a los problemas por iniciativa propia. En momentos en que el servicio funciona bien, las personas con roles de SRE vuelven a ser desarrolladores regulares. Se espera que los ingenieros de SRE de Google dediquen al menos la mitad de su tiempo en el trabajo de desarrollo.

Este equilibrio único de desarrollo y operaciones ayuda a preservar la capacidad del ingeniero de SRE para supervisar el proceso de entrega. Su nivel de visibilidad es invaluable cuando se trata de detectar riesgos que podrían causar un incidente. También alienta a los ingenieros a minimizar el tiempo dedicado a las tareas de operaciones mediante la implementación de nuevas herramientas y procedimientos automatizados. Esto puede crear un ciclo autosuficiente: un mayor grado de automatización generalmente hace que el servicio sea más confiable, lo que reduce la carga de trabajo de operaciones para el equipo de SRE. A su vez, los ingenieros quedan libres para volver al desarrollo y aumentar el rendimiento.

¿Cómo se alinea SRE con DevOps?

DevOps es un término de gran alcance que describe el uso de tecnologías y metodologías modernas para entregar software de mayor calidad más rápidamente. Esto se logra reduciendo la brecha entre los equipos de desarrollo y operaciones, y luego superponiendo la automatización al proceso de entrega de software.

Hasta ahora esto suena similar a SRE. Sin embargo, SRE tiene un único objetivo en mente: la confiabilidad, mientras que DevOps también considera preocupaciones tangenciales, como la eficiencia del desarrollador y la velocidad de entrega. Cabe señalar que DevOps a menudo se aborda como un puente entre el desarrollo y las operaciones, mientras que SRE los fusiona. En SRE, las tareas de desarrollo y operaciones las completan las mismas personas, y el desarrollo gana la mayor parte de la atención.

Por estas razones, SRE puede verse como una implementación específica de DevOps. Aunque los objetivos generales son similares y están fuertemente alineados, SRE describe un método para lograrlos: use presupuestos de error, SLO y SLI para proteger los servicios contra errores, luego implemente protecciones que permitan que el sesgo de trabajo regrese hacia el desarrollo.

Benjamin Treynor Sloss, el ingeniero de Google que acuñó el término SRE, afirma que SRE se puede ver como «una implementación específica de DevOps con algunas extensiones idiosincrásicas». Alternativamente, puede invertir el modelo y abordar DevOps «como una generalización de varios principios básicos de SRE para una gama más amplia de organizaciones, estructuras de gestión y personal».

Una forma significativa en la que SRE difiere de DevOps es su dependencia de los datos. DevOps a menudo se ve como un conjunto de principios para mover código de manera eficiente desde las estaciones de trabajo de los desarrolladores a los entornos de producción. Esto significa trabajar en términos de confirmaciones, solicitudes de combinación, canalizaciones y contenedores. SRE es una estrategia para implementar cambios con la máxima confiabilidad y una posibilidad reducida de regresión. Una SRE efectiva requiere observación y análisis continuos para determinar dónde se han producido los errores y cómo podrían repetirse en el futuro. Es más investigativo y consciente de sí mismo que una implementación típica de DevOps.

¿Es SRE un buen cambio de carrera?

SRE ha comenzado recientemente a atraer la atención general. Puede ser un desafío encontrar un rol de SRE porque muchas organizaciones aún no reconocen los beneficios del modelo. En algunos casos, una forma de SRE puede estar presente dentro de una organización, pero esto podría no reflejarse en los roles que anuncian.

A pesar de su naturaleza especializada, SRE suele ser un buen cambio de carrera. Exige una intersección de habilidades, que abarca desde el desarrollo de software hasta la operación del servicio y la respuesta a incidentes, con un buen grado de profundidad en cada uno. Hay pocos candidatos que puedan ofrecer esto, lo que significa que los roles de SRE tienden a ser puestos lucrativos.

Un análisis por GitLab en abril de 2022 encontró solo 21 000 vacantes de SRE mientras que había 104 000 puestos de DevOps. Sin embargo, los datos de Glassdoor indicaron un rango salarial de hasta $ 300,000 para el trabajo de SRE, en comparación con $ 234,000 para DevOps.

Pasar a un rol de SRE podría ser una oportunidad gratificante para las personas que desean permanecer en el campo del desarrollo mientras adquieren experiencia práctica en la operación del servicio. Es especialmente adecuado para las personas que consideran que los roles de administrador tradicionales son demasiado repetitivos y prácticos. Como SRE, se espera que automatice las operaciones, busque oportunidades para mejorar la calidad del servicio y contribuya a los esfuerzos de desarrollo regulares después de que el localizador de incidentes se haya silenciado.

Conclusión

Site Reliability Engineering utiliza métodos comúnmente asociados con el desarrollo de software para automatizar las operaciones de servicio. Los ingenieros de SRE son desarrolladores experimentados que también están familiarizados con los desafíos de ejecutar y escalar servicios en producción. Establecen una cadena de herramientas para medir y optimizar la confiabilidad, asumiendo las tareas que antes manejaban los administradores de sistemas dedicados.

SRE puede verse como una implementación de los principios de DevOps. La designación de ingenieros de SRE debería dar como resultado un servicio más resistente que pueda aceptar cambios rápidos. Esto logra el objetivo de DevOps de acelerar la implementación de software sin afectar la calidad. SRE establece una estrategia específica que trabaja en este sentido al enfatizar la medición de datos, así como la unificación del talento de desarrollo y operaciones.

Mientras que DevOps ahora se entiende ampliamente en la comunidad, SRE sigue siendo un área de enfoque emergente para muchas organizaciones. Las vacantes pueden ser más difíciles de encontrar, pero tienden a ser más lucrativas cuando aparecen. Esto refleja el variado conjunto de habilidades que los ingenieros de SRE deben poseer. Pedir es probable que crezca rápidamente en los próximos dos años, así que ahora es el momento de que los candidatos y las organizaciones comiencen a prestar atención al cambio hacia SRE.

Deja un comentario

En esta web usamos cookies para personalizar tu experiencia de usuario.    Política de cookies
Privacidad