BACKGROUND IMAGE: bluebay2014 - stock.adobe.com

Este contenido es parte de Guía Esencial: Automatización invade las TI para mejorar procesos empresariales
Evaluar Conozca los pros y contras de las tecnologías, productos y proyectos que está considerando.

Del código a la automatización, habilidades del SRE llegan lejos

Un ingeniero de confiabilidad del sitio usa muchos sombreros. Además de las responsabilidades de desarrollo y solución de problemas de TI, este rol requiere habilidades de comunicación de primer nivel.

DevOps elimina los silos tradicionales que separan los equipos de operaciones y desarrollo de software. Pero el proceso rápido e iterativo del desarrollo ágil moderno deja una brecha de confiabilidad, y los equipos pueden terminar implementando servicios nuevos, pero poco confiables, a un ritmo rápido.

Un ingeniero de confiabilidad del sitio (SRE) crea e implementa software de calidad que mejora la confiabilidad, la repetibilidad y la flexibilidad de los servicios y sistemas de producción en un entorno DevOps. Las habilidades esenciales de SRE abarcan la pila de software, desde la creación y mejora del código hasta la resolución de problemas técnicos profundos.

Una visión general de los roles y responsabilidades de SRE

La noción de un SRE comenzó en Google en 2003, como un medio para hacer que los centros de datos a gran escala sean más confiables, escalables y eficientes. La ingeniería de confiabilidad de software finalmente maduró en su propio dominio destinado a automatizar las tareas de operaciones, desde la planificación de capacidad hasta la respuesta a desastres.

Un SRE esencialmente sustituye la automatización del trabajo humano. Para lograr esto, los SRE suelen crear herramientas de autoservicio, incluidas las de aprovisionamiento automático y configuración del entorno de prueba, para desarrolladores. Un equipo de SRE aborda y mejora el rendimiento, la disponibilidad, la latencia, la eficiencia, el monitoreo, la resolución de problemas y la planificación de software y servicios de producción.

Los SRE son desarrolladores y solucionadores de problemas. A menudo dividen su tiempo de manera equitativa entre el desarrollo de software para un mejor rendimiento y disponibilidad del sitio, y las operaciones de TI y tareas de soporte, como abordar las escaladas de la mesa de ayuda. En las tareas de desarrollo, los SRE consultan activamente con los equipos de proyecto para garantizar que el software emergente se ajuste a los requisitos comerciales de disponibilidad, seguridad, mantenibilidad y rendimiento. Los SRE trabajan con el lado de las operaciones para garantizar que las secuencias de entrega e implementación funcionen sin problemas.

Las funciones y responsabilidades críticas de SRE incluyen:

  • Desarrollar el software y los procesos necesarios para mantener los servicios. Las herramientas desarrolladas para mantener los servicios generalmente incluyen la recopilación de datos y un monitoreo exhaustivo.
  • Capturar y analice las principales métricas, como la disponibilidad, el tiempo medio entre fallas y el tiempo medio para reparar, y desarrolle nuevas métricas y KPI según sea necesario. Agregue estas métricas a paneles de control y sistemas de informes.
  • Utilizar la supervisión detallada para mejorar la disponibilidad y el rendimiento de las aplicaciones, servicios, sistemas e infraestructura. Cree nuevas alertas para encontrar anomalías y comprender la causa raíz de las fallas del sistema.
  • Crear e implementar arquitecturas de automatización, alertas, autocuración y otras tecnologías para hacer que el entorno sea más fácil de mantener.
  • Monitorear, administrar y solucionar problemas de procesos regulares para mejorar procesos y flujos de trabajo.
  • Crear y mantener documentación para procesos, automatización, infraestructura, recursos y servicios.
  • Actuar como experto en la materia y asesorar a los desarrolladores e ingenieros, así como ayudar a los desarrolladores junior con la resolución de problemas y la depuración de software.

Habilidades y experiencia SRE necesarias

Al igual que con muchos roles de DevOps, rara vez hay una única trayectoria educativa o profesional bien definida para convertirse en SRE. Esto significa que una organización puede considerar muchos tipos diferentes de candidatos para un rol de SRE, pero los requisitos del trabajo pueden implicar grandes diferencias en educación y experiencia. En términos de educación y experiencia general, un candidato SRE debe esperar tener una licenciatura en Ciencias de la Computación, pero una experiencia equivalente u otro título técnico ciertamente puede ser aceptable.

El verdadero criterio para un SRE es la experiencia y los conocimientos. Es probable que un candidato necesite más de cinco años de experiencia en entornos de servicio escalables y debe poseer al menos tres años de experiencia en desarrollo de software que involucren lenguajes importantes como Java y Python.

Un rol típico de SRE exige un conjunto de habilidades amplio y comprobado. A modo de ejemplo, un candidato SRE debe aportar un gran conocimiento de los principales sistemas operativos, como Linux, y su administración, así como de redes, equilibrio de carga, protocolos como TCP/IP y servicios como DNS. El conocimiento de otras tecnologías, como servidores, almacenamiento, virtualización y herramientas de monitoreo de redes, como Nagios, Splunk y Grafana, también es importante.

Un SRE debe ser un excelente desarrollador de software que pueda crear herramientas para la administración y automatización de la infraestructura y esté familiarizado con las prácticas de ingeniería de DevOps y diversos problemas técnicos. El desarrollo exige un conocimiento integral de importantes herramientas de canalización de CI/CD, incluidas Jenkins, GitLab y SonarQube.

La resolución de problemas de TI, el análisis de causa raíz y la mitigación de interrupciones de producción también son habilidades críticas de SRE. En muchos casos, el SRE debe clasificar múltiples problemas simultáneamente bajo la extrema presión de un entorno de producción crítico. El conocimiento de las técnicas y herramientas de análisis de registros, como Loggly y Splunk, puede ofrecer una ventaja sobre otros candidatos para el trabajo.

El lado más suave

Las habilidades esenciales del SRE no son solo de naturaleza técnica.

Por ejemplo, un SRE debe ser bien organizado y estar cómodo operando en un entorno de producción de alto volumen o de misión crítica, a menudo en industrias que están sujetas a cumplimiento normativo y requisitos de seguridad. Las grandes organizaciones de contratación podrían buscar experiencia en el soporte de aplicaciones con un acuerdo de nivel de servicio las 24 horas, los 7 días de la semana y brindando soporte de guardia en un centro de operaciones de red.

Finalmente, una organización a menudo recurre a su SRE para hacer presentaciones y crear documentación para una variedad de audiencias. Esto significa que el SRE debe ser un comunicador experto con excelentes habilidades de colaboración escrita, verbal y virtual, especialmente cuando se trabaja con personas menos inclinadas técnicamente.

Investigue más sobre Estrategias y tips de gestión

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close