Un ingeniero de fiabilidad del centro (SRE) puede ayudar a lograr el éxito de DevOps, proporcionar una mayor visibilidad del estado de los servicios de misión crítica, mejorar los tiempos de respuesta a los incidentes y garantizar una alta disponibilidad de todas las aplicaciones. En este artículo, exploraremos qué es un SRE y cómo puede ayudar a su organización a mejorar la calidad y la fiabilidad generales de su ciclo de vida de desarrollo de software (SDLC).
¿Qué es un ingeniero de fiabilidad del centro?
Un ingeniero de fiabilidad del centro es responsable de la supervisión, la automatización y la fiabilidad de las operaciones de TI. Utilizan herramientas de desarrollo de software para automatizar las tareas operativas de TI, como la gestión de cambios, la respuesta a incidentes y la gestión del sistema de producción. También son responsables de supervisar el estado de las implementaciones de software y de transmitir los registros y los datos a los desarrolladores.
¿Por qué SRE?
Las iniciales SRE pueden referirse a un ingeniero de fiabilidad del centro o a la práctica de ingeniería de fiabilidad del centro. El objetivo de la práctica de SRE es garantizar que los servicios y las aplicaciones de una organización estén siempre disponibles —incluso mediante actualizaciones frecuentes realizadas por el equipo de desarrollo—.
El rol de SRE depende en gran medida de herramientas de software y automatización que pueden simplificar las tareas diarias, como la supervisión de las aplicaciones o la gestión del sistema. Cuando los desarrolladores actualizan una aplicación, sus cambios a veces pueden afectar negativamente a la aplicación y reducir su rendimiento o incluso hacer que se bloquee. Los SRE están ahí para estar atentos a estos posibles problemas y asegurarse de que los errores en el código o la implementación del software no afectan a la capacidad de la organización para atender satisfactoriamente a sus clientes.
Una gran parte de las responsabilidades de un SRE es actuar como un búfer y facilitador entre el desarrollo y las operaciones de TI. Los desarrolladores quieren actualizar su software de manera rápida y frecuente, pero los equipos operativos quieren moverse un poco más despacio para asegurarse de que las actualizaciones no causan problemas.
Debido a esta necesidad de mantener el mejor equilibrio entre el desarrollo y las operaciones, los SRE deben combinar varios trabajos —incluida la ingeniería de software, las operaciones y la gestión de la infraestructura— en un solo trabajo. Por lo general, también son muy expertos en crear y gestionar redes y sistemas en general y saben cómo predecir y prevenir costosos tiempos de inactividad e interrupciones del sistema.
¿Qué hacen los ingenieros de fiabilidad del centro?
Los SRE trabajan para mantener la disponibilidad, el rendimiento y la fiabilidad de la infraestructura de TI de una organización. Esto incluye el diseño, la implementación y la supervisión global de los sistemas para mantenerlos en funcionamiento con la máxima eficiencia y poder proporcionar siempre el tipo de experiencias intuitivas y reactivas que los usuarios finales desean.
Gracias a las herramientas de software, los SRE pueden automatizar y optimizar muchas tareas operativas cruciales, como el análisis de registros, la aplicación de parches y la actualización de aplicaciones y sistemas, la prueba de entornos de producción, etc. También gestionan de cerca todos los sistemas, detectan y resuelven cualquier problema que surja y realizan análisis posteriores a un incidente para analizar lo que ha ocurrido y cómo puede prevenirse en el futuro.
Otras responsabilidades son:
- Consultar con los desarrolladores para garantizar que la fiabilidad está diseñada e integrada en cada aplicación
- Trabajar con las operaciones para ver que las aplicaciones nuevas y actualizadas tienen suficiente soporte de la infraestructura de TI existente.
- Previsión y planificación de las necesidades de capacidad, así como del rendimiento y la resiliencia del sistema.
- Establecer métricas clave como indicadores de nivel de servicio (SLI) y objetivos de nivel de servicio (SLO) para medir el progreso y el éxito a lo largo del tiempo.
- Mejorar el ciclo de vida del desarrollo del software, sobre todo después de incidentes.
- Ayudar a los equipos de desarrollo escalando el sistema, implementando la automatización y creando nuevas funcionalidades.
- Responder y resolver los problemas de escalamiento del soporte
¿El SRE es el mismo que el DevOps?
El SRE no es lo mismo que el DevOps, pero hay algunas similitudes en los objetivos de cada equipo. Tanto los SRE como el DevOps quieren que el desarrollo y las operaciones trabajen de un modo más estrecho y eficaz. Tanto los SRE como el DevOps están muy a favor de la automatización y la optimización del sistema.
Si bien las prácticas de DevOps tradicionales han permitido una mejor colaboración global y unos ciclos de desarrollo de software más rápidos, el DevOps no suele tener a nadie en su equipo que sea específicamente responsable de impulsar un desarrollo que mejore o aumente el rendimiento y la fiabilidad del centro. Aquí es donde brilla el SRE. El único objetivo de un SRE es proporcionar (o mantener) la fiabilidad y la escalabilidad en todo el sistema.
Cuando el DevOps se centra en la velocidad y la agilidad, los SRE se centran en la gestión de la infraestructura y en mantenerla disponible y de alto rendimiento. El DevOps es más bien un enfoque cultural en una organización, pero un SRE utiliza habilidades muy especializadas para soportar el DevOps y al mismo tiempo garantizar el máximo funcionamiento.
Incluso dentro de la cultura de DevOps, los SRE sirven como puente entre las operaciones de TI y el desarrollo. Suelen actuar como garantía de calidad, pero se trata de un control de calidad proactivo. Los SRE suelen ser un factor crítico que permite que DevOps tenga éxito al ayudar a definir el equilibrio ideal entre la estabilidad del sistema y la velocidad de desarrollo.
¿Qué habilidades necesita un SRE?
Debido a que los SRE forman el puente entre las operaciones de TI y los desarrolladores, necesitan una gran variedad de conocimientos. Muchos de los SRE actuales son ex administradores de sistemas que saben cómo programar o antiguos desarrolladores de software con experiencia en el ámbito de las operaciones.
Los SRE tienen que saber cómo diseñar y crear sistemas de TI escalables y resilientes. Necesitan entender una variedad de plataformas informáticas en la nube. También tienen que saber cómo configurar los protocolos de red y gestionar las bases de datos. Y lo que es más importante, necesitan unas excelentes habilidades de resolución de problemas y comunicación.
Otras habilidades valiosas pueden incluir:
- Comprensión profunda de la infraestructura de TI, tanto en la nube como localmente.
- Experiencia en tecnología y orquestación de contenedores
- Capacidad para establecer relaciones estratégicas con socios, proveedores y colegas de todas las unidades de negocio.
- Experiencia en lenguajes de codificación, herramientas de supervisión y control de versiones, bases de datos y sistemas operativos.
- Gestión y mantenimiento de la infraestructura del sitio web
- Familiaridad con la integración continua/el desarrollo continuo (CI/CD )
- Experiencia con sistemas informáticos distribuidos
¿Los SRE están en demanda?
La respuesta a esta pregunta es un sí rotundo. Los SRE tienen más demanda que nunca y ese impulso no muestra signos de desaceleración. Los analistas del sector de Gartner han estimado que en 2027, el 75% de las empresas utilizarán prácticas de SRE en toda la organización para optimizar las operaciones. Ese porcentaje es un gran salto de solo el 10 % de las empresas que utilizaban prácticas de SRE en 2022.
A medida que las organizaciones mueven cada vez más sus aplicaciones y servicios en línea, los clientes siguen esperando un acceso perfecto a los servicios sin tiempos de inactividad ni retrasos. Los SRE son una parte fundamental para cumplir esas expectativas, especialmente en sectores en los que el tiempo de inactividad puede causar graves repercusiones, como la tecnología, la atención sanitaria y las finanzas.
Las grandes organizaciones globales necesitan ingenieros con conocimientos de SRE para garantizar la fiabilidad de sus servicios y aplicaciones. Si bien el puesto tiene muchos requisitos técnicos, la trayectoria profesional de SRE es muy abierta y puede llevar a más puestos de dirección y liderazgo.