Prácticas Clave de Site Reliability Engineering

2/8
Recursos
Transcripción

¿Qué es Site Reliability Engineering?

Site Reliability Engineering (SRE) es un marco de trabajo creado por Google en 2003 para operar sistemas a gran escala con alta fiabilidad. Este concepto va más allá de los límites técnicos, incidiendo en la satisfacción del usuario final, cuyos criterios de confiabilidad responden a sus expectativas tanto implícitas como explícitas. SRE no es sólo un intento de hacer que el software funcione sin problemas; busca integrar desarrolladores, operadores y equipos de negocio para alinear objetivos comunes y mejorar la experiencia del cliente.

¿Cómo se relaciona SRE con DevOps?

SRE implementa de manera práctica los principios de DevOps. Mientras que DevOps se centra en la integración y cooperación entre equipos de desarrollo y operaciones, SRE proporciona pautas tangibles y realizables que hacen operativa esta filosofía. Afirmar que "SRE implements DevOps" significa que SRE es la manifestación práctica de las aspiraciones de DevOps, enfocándose en la entrega continua y eficiente de software, y en aprender y mejorar constantemente mediante la retroalimentación.

¿Cuáles son las mejores prácticas de SRE?

Implementar SRE en una organización puede transformar la forma en que se entregan y se operan los servicios digitales. Aquí te presentamos las cinco mejores prácticas de SRE que pueden guiarte en este proceso:

  1. Titularidad compartida (Shared ownership): Todos los miembros del equipo, ya sea de desarrollo o de operaciones, son responsables de la entrega y estabilidad del software. Esto fomenta una cultura colaborativa y disminuye los silos organizacionales, facilitando un enfoque unificado hacia el éxito del producto.

  2. Post mortem sin culpa (Blameless postmortem): Se trata de analizar y aprender de los fallos sin buscar culpables. La focalización está en entender cómo los procesos, herramientas y el código pueden mejorarse. Al eliminar el miedo a las represalias, se promueve un ambiente de apertura y aprendizaje continuo.

  3. Reducción del costo del error: Implementando cambios pequeños y frecuentes, cualquier error que ocurra tendrá un impacto limitado, lo cual facilita la identificación y corrección rápida de problemas. La entrega continua de software es clave en este enfoque.

  4. Automatización de casos comunes: Aprovechando herramientas para la automatización, se reduce el riesgo de errores humanos y se acelera el proceso de desarrollo y despliegue. Herramientas como contenedores y sistemas de monitoreo automatizados son algunos ejemplos.

  5. Medir todo: Implementar prácticas de monitoreo para identificar qué mejorar antes de que los usuarios experimenten problemas. Medir permite anticiparse a las necesidades de la aplicación, optimizando el rendimiento y la satisfacción del usuario.

Si deseas profundizar en Site Reliability Engineering y aprender a implementar estos principios dentro de tu organización, hay libros gratuitos sobre SRE disponibles, creados por Google. Están diseñados para aumentar tu comprensión y aplicación de estas prácticas, permitiéndote tener un impacto significativo en la fiabilidad de tus sistemas. ¡Adelante, el aprendizaje continuo es la clave del éxito en el ámbito tecnológico!

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Class SRE implements DevOps

SRE es una aplicación practica de los principios de DevOps. SRE complementa DevOps con guías tangibles a lo largo de la cultura de DevOps.

DevOps es una cultura y un conjunto de prácticas diseñadas para quitar las diferencias entre los equipos de Desarrollo y Operación.

Mejores prácticas de SRE

  1. Shared Ownership / Titularidad compartida: Todos somos responsables de la velocidad entrega y por la estabilidad del software.
  2. Blameless postmortem/ ** Post Mortem sin culpa**: Aceptar el fracaso como algo normal, no buscamos a quien culpar sino como podemos mejorar el proceso o código para que no vuelva a ocurrir.
  3. Reducir el costo del error: Implementar cambios graduales, pequeños y frecuentes; para que el impacto sea acotado. Entregar software de forma continua no solo agrega valor a los clientes sino que también reduce el impacto que un error pueda tener.
  4. Automatizar los casos comunes: Aprovechar las herramientas y la automatización para evitar errores humanos.
  5. Medir todo: Medir nos ayuda a mejorar, nos ayuda a identificar problemas de forma proactiva. Medir el esfuerzo y reliability.

Libros: https://sre.google/books/

Considero al SRE como el resultado operativo, y en conjunto, de un equipo de trabajo consciente de su impacto en el negocio.