• Blog
  • Emprender
  • Los nuevos perfiles profesionales de la Transformación Digital: Site Reliability Engineering

Los nuevos perfiles profesionales de la Transformación Digital: Site Reliability Engineering

6min

La constante evolución de los sistemas tecnológicos genera retos y, al mismo tiempo, ofrece nuevas oportunidades desde el punto de vista técnico, pero también profesional. La optimización de los productos implica nuevas necesidades y expertos capaces de afrontarlas. Hoy vamos a hablarte de un concepto cada vez más enraizado en las compañías tecnológicas y de los perfiles especialistas en su desarrollo. ¿Quieres saber qué es el Site Reliability Engineering?

Índice

Site Reliability Engineering: ¿de qué estamos hablando?

Innovación, confianza y fiabilidad del dato. Estos tres términos, capitales en un entorno en el que la toma de decisiones en las empresas pasa por la recolección, procesamiento y análisis de una ingente cantidad de datos, son el fundamento del Site Reliability Engineering (SRE). 

Hablamos de un concepto que tiene su origen en el año 2003 y que fue ideado por el actual vicepresidente de Ingeniería de Google, Benjamin Treynor Sloss. Por aquel entonces, Sloss se encontraba al frente de un equipo de ingenieros en la compañía fundada por Larry Page y Sergey Brin. Su propósito era analizar y optimizar cualquier tipo de proceso para asegurarse de que todos los sitios web de Google estuvieran disponibles, resultaran confiables y fueran útiles para los usuarios que interactuaran con ellos. A partir de estas necesidades surgió el concepto de SRE que funciona, además, como puente entre los equipos de desarrollo y de operaciones

Con él nos referimos a una práctica de gestión IT que busca reducir cualquier interrupción de los servicios y garantizar la estabilidad y la fiabilidad de los sistemas. Esto implica una actuación global, que interviene en diferentes áreas de la empresa para conseguir que todo marche a la perfección, venciendo las divergencias que tradicionalmente se dan entre departamentos en las organizaciones. Con esta base, es evidente que la comunicación entre los departamentos de la organización y el trabajo en equipo es esencial para alcanzar el resultado esperado. 

Es posible que te surja una duda. ¿No es esta misma la labor que se desarrolla desde la gestión de sistemas que todos conocemos? Sí y no. Es cierto que una y otra persiguen solventar errores, mantener los sistemas de modo que el usuario no se vea afectado por fallos o interrupciones. Pero la diferencia principal se encuentra en el enfoque. 

Tradicionalmente, desde la gestión de sistemas, los equipos de trabajo hacen su labor de mantenimiento identificando problemas que acontecen en los procesos y poniéndoles solución. Por su parte, la palabra que define la forma de trabajo del Site Reliability Engineering es la proactividad y un enfoque desde el software. Esto es, el propósito es la identificación de las posibles incidencias y la resolución de las mismas antes de que el usuario pueda notarlas, previamente a que se manifiesten.

Por contextualizar históricamente, mientras muchos de los administradores de sistemas tradicionales han estado vinculadas a las áreas de Soporte Técnico, los SRE generalmente tienen una trayectoria profesional más vinculada a la programación de software y aplicaciones. Esta evolución cobra todo el sentido en la actualidad donde muchos aspectos de la gestión de la infraestructura se están convirtiendo en código y reside en la nube.

De cualquier modo, es esencial ser consciente de que esta labor ha de ser siempre coordinada y exige un contacto continuo con los equipos de desarrollo y de operaciones de la compañía. Solo a partir del trabajo en común y de una comunicación eficiente tiene sentido una labor que supone un complemento ideal para dichos equipos. En cierto modo, podríamos decir que el SRE es el suplemento alimenticio que previene la enfermedad, no el medicamento que acaba con ella cuando ya ha atacado el organismo. ¿Y de qué forma lleva a cabo esa prevención?

¿Cuáles son las labores clave del Ingeniero de SRE?

Teniendo en cuenta qué es el concepto de Site Reliability Engineering llega el momento de conocer de qué modo los profesionales especializados en él alcanzan la finalidad que se persigue. Se trata de una labor minuciosa que exige dominar varios procesos y participar en ellos. 

  • Medición de métricas clave para garantizar la fiabilidad del sitio.  Para los equipos de SRE es importante conocer al detalle todos los escenarios y comprobar que funcionan en la dirección adecuada, detectando posibles fallos y dando una solución ágil y temprana a los mismos. Así que una de sus principales responsabilidades sería la observabilidad.
  • Idear sistemas con alta tolerancia ante los fallos. El error es parte inherente de los procesos de desarrollo. A partir del conocimiento adquirido, los especialistas en SRE generan sistemas que continúan funcionando pese a los posibles errores. Existen dos fórmulas utilizadas para conseguirlo:
    1. Degradación gradual. Permite que, en los casos en que se produzcan incidencias, los sistemas continúen funcionando. 
    2. Defensa en profundidad. Se centra en conseguir que los posibles fallos se autocorrijan gracias a la implantación de medidas de automatización. 
  • Prácticas de automatización. La estabilidad y la fiabilidad son parte clave y todos los procesos de revisión de código deben tenerlo como propósito. Partiendo de esta base, la labor del SRE persigue construir modelos automatizados que respondan a estas necesidades en los trabajos más repetitivos, reduciendo el tiempo y aumentando la productividad de la compañía. 
  • Colaboración e integración entre departamentos. Decíamos que el Site Reliability Engineering tiene sentido como forma de un proceso integral de la compañía. No se trata de solapar la labor de los desarrolladores, sino de colaborar con ellos, complementándose unos y otros en su trabajo. 
  • Determinación de error budget. Se trata de determinar la máxima cantidad de errores que el sistema puede asimilar sin que el usuario sea consciente de ello.  Cualquier prueba que lleve a cabo el equipo de desarrollo debe estar dentro de este presupuesto de error. Permite que se implanten solo las nuevas funciones que están dentro de niveles aceptables de error. 

La fiabilidad y la confianza deben de estar presentes en todos los pasos del proceso. Por ese mismo motivo, el especialista en Site Reliability Engineering aporta sus conocimientos en cada fase, ofreciendo una visión global en busca de la mejora continua. En colaboración con los equipos de desarrollo y operaciones contribuyen a generar un enfoque integrado que optimiza el rendimiento y aumenta la satisfacción de los usuarios.

Fernando Fuentes

Productos relacionados: