El ingeniero de confiabilidad del sitio es un título de trabajo para un especialista que trabaja con los desarrolladores de software para garantizar que los sistemas informáticos de una organización sean escalables, estables y predecibles. El puesto requiere alguien que se sienta cómodo tanto con la ingeniería de software como con las operaciones de TI. El término SRE se acuñó en Google alrededor de 2003 cuando la empresa contrató a Ben Treynor Sloss para dirigir un equipo de ingenieros de software para ejecutar un entorno de producción. La empresa necesitaba crear nuevos paradigmas para gestionar sus grandes sistemas, al tiempo que introducía continuamente nuevas funciones y una experiencia de usuario final (UX) de alta calidad.
Aunque las tareas de ingeniería de confiabilidad del sitio las realizaban históricamente los equipos de operaciones, los SRE actuales utilizan aprendizaje automático (ML) para automatizar tareas previamente realizadas por mano de obra humana. Normalmente, los SRE son responsables de seleccionar herramientas de infraestructura, gestión de cambios de producción y determinación de respuestas de emergencia. Los SRE suelen dedicar hasta el 50 por ciento de su tiempo a las responsabilidades de las operaciones (incluidos los problemas, la intervención de guardia y la intervención manual) y el resto de su tiempo a las tareas de codificación y automatización. Sin embargo, estos porcentajes y las obligaciones de la SRE pueden variar, según la cultura y los modelos comerciales específicos.
Habilidades de ingeniero de confiabilidad del sitio
El trabajo del SRE ha evolucionado más allá del del administrador del sistema (sysadmin). Las habilidades requeridas para los SRE incluyen una licenciatura en ciencias de la computación o un campo relacionado, así como experiencia a nivel de producción en al menos un lenguaje de código escrito por interfaz de línea de comandos de alto nivel (como Java, C / C ++ y Go) y en al menos un lenguaje dinámico (incluidos Ruby, Python y Node.js). Otras habilidades requeridas pueden incluir experiencia avanzada en redes, administración de Linux / Unix, programación de sistemas, sistemas distribuidos, bases de datos o ingeniería en la nube. Los empleadores también buscan contratar miembros del equipo de SRE que tengan experiencia en análisis basado en datos e infraestructura como código (IaC), así como en clústeres de servidores, balanceo de carga y monitoreo. Otras habilidades de SRE deseables son la experiencia con al menos un proveedor de nube importante y una tecnología de contenedor. Las habilidades blandas como ser un buen comunicador son una ventaja.
Ingeniería de confiabilidad del sitio frente a DevOps
La ingeniería de confiabilidad del sitio y DevOps tienen objetivos similares: mantener un equipo de diversas habilidades involucrado en el desarrollo de software, desde el diseño hasta la operación; automatizar tareas repetitivas; y el uso de herramientas de ingeniería en las operaciones. Por el contrario, mientras que DevOps se aplica a puestos tanto dentro como fuera de TI, SRE se centra en respaldar las operaciones de TI durante el desarrollo y la implementación de software en producción. Además, aunque los líderes empresariales suelen participar en DevOps, no suelen participar en SRE.