¿Qué es la ingeniería de fiabilidad?

Completado

La ingeniería de fiabilidad del sitio (SRE) permite a los desarrolladores de software controlar el funcionamiento diario continuo de las aplicaciones en producción. El objetivo es salvar la brecha que hay entre el equipo de desarrollo, que debe enviar continuamente, y el equipo de operaciones, responsable de la fiabilidad del entorno de producción. La ingeniería de fiabilidad del sitio traspasa la responsabilidad de la fiabilidad de la producción al SRE en el equipo de desarrollo.

Normalmente, los ingenieros de fiabilidad del sitio dedican hasta un 50 % de su tiempo en las tareas diarias que mantienen la fiabilidad de la aplicación, y el resto del tiempo lo dedican a desarrollar software.

Una aptitud clave de un ingeniero de fiabilidad de software es que cuentan con una comprensión a fondo de la aplicación. Esto incluye el conocimiento del código, cómo se ejecuta la aplicación, cómo se configura y cómo se escala.

Algunas de las responsabilidades habituales de un ingeniero de fiabilidad del sitio son las siguientes:

  • Supervisar y revisar de forma proactiva el rendimiento de la aplicación.
  • Administrar el soporte técnico en llamada y de emergencia.
  • Garantizar que el software tiene buenos registros y diagnósticos.
  • Crear y mantener los runbooks operativos.
  • Ayudar a evaluar las prioridades de las incidencias de soporte técnico escaladas.
  • Trabajar con solicitudes de características, defectos y otras tareas de desarrollo.
  • Contribuir a la hoja de ruta general del producto.
  • Realizar revisiones en el sitio activo y capturar comentarios de las interrupciones del sistema.

Ingeniería de fiabilidad del sitio frente a DevOps

DevOps crea una relación de trabajo correcta entre el personal de operaciones y el equipo de desarrollo. Al dividir los silos entre los dos, DevOps genera un producto más sólido y fiable.

Tanto SRE como DevOps son metodologías que abordan la necesidad de una organización para una manera de administrar el entorno de producción. Tal como ha aprendido en los módulos anteriores, los sistemas de comentarios de DevOps pueden identificar problemas y alertar a los desarrolladores, que, después, solucionan la incidencia. Con SRE, una persona en el equipo de desarrollo busca incidencias con la fiabilidad del sitio a diario y, probablemente, también es la persona que resuelve esos problemas. Aunque los equipos de DevOps normalmente optarían por dejar el entorno de producción sin tocar, a menos que sea absolutamente necesario, los SRE probablemente realizarán cambios.

Aptitudes de la ingeniería de fiabilidad del sitio

El tipo de aptitudes que son necesarias varía en función de la aplicación, de cómo y dónde se implementa y de cómo se supervisa. Por ejemplo, las organizaciones que usen tecnologías sin servidor no necesitarán ninguna persona con conocimientos profundos de la administración de sistemas Windows o Linux, pero estas aptitudes son fundamentales para los equipos que usan servidores en las implementaciones.

Otras aptitudes clave para un buen SRE se centran en la supervisión y el diagnóstico de aplicaciones. Un SRE debe tener experiencia con herramientas de administración del rendimiento de aplicaciones, como Application Insights. También debe comprender los procedimientos recomendados de registro de aplicaciones y el control de excepciones.