# Ingeniería de confiabilidad

> Operar sistemas en producción con ingeniería de software y un presupuesto para fallar.

- Nivel: Intermedio
- Temas: Cloud, Software
- URL: https://tidbit.legios.com.ar/es/site-reliability-engineering/
- En inglés: [Site reliability engineering](https://tidbit.legios.com.ar/site-reliability-engineering/)

La **ingeniería de confiabilidad de sitios**, conocida por su sigla en inglés **SRE** (site reliability engineering), es una forma de mantener confiables los servicios online tratando la operación como un problema de software. Nació en Google en 2003, cuando a Ben Treynor Sloss le encargaron un equipo de producción formado por ingenieros de software. En vez de arreglar servidores a mano, los SRE escriben código que despliega, escala, monitorea y repara sistemas, y buscan automatizar el trabajo manual repetitivo, al que llaman **toil**.

Su idea más conocida es el **presupuesto de errores** (error budget). El equipo acuerda un SLO, un objetivo de confiabilidad como "el 99,9 % de los pedidos sale bien cada mes". El 0,1 % restante es el presupuesto: el margen para fallar. Mientras quede presupuesto, los desarrolladores sacan funciones nuevas rápido. Si los incidentes se lo comen, se frenan los lanzamientos y el esfuerzo pasa a la confiabilidad. Así, la pelea de siempre entre "ir rápido" y "no romper nada" se convierte en un número que las dos partes aceptan.

Los SRE también se reparten las guardias, coordinan la respuesta cuando algo se rompe y después escriben postmortems sin culpables. Hoy muchas empresas tienen equipos de SRE, y el término también se usa como puesto de trabajo. Se superpone bastante con DevOps; una forma común de decirlo es que SRE es una manera concreta y medible de hacer DevOps.

## Una analogía

Una familia con un presupuesto mensual para comer afuera: mientras quede plata, van a restaurantes sin culpa; cuando se terminó, se cocina en casa hasta el mes que viene. El presupuesto de errores hace lo mismo con las fallas y los lanzamientos nuevos.

## Para quedarse

- Operación a cargo de ingenieros que escriben software para manejar sistemas.
- Nació en Google en 2003.
- Presupuesto de errores: la falla que permite el SLO, gastada en ir rápido.
- Reduce el toil, reparte guardias y escribe postmortems sin culpables.

## Para seguir leyendo

- [Introducción al libro Site Reliability Engineering de Google (en inglés)](https://sre.google/sre-book/introduction/)
- [Embracing risk, sobre presupuestos de errores (en inglés)](https://sre.google/sre-book/embracing-risk/)
- [Site reliability engineering en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/Site_reliability_engineering)

## Términos relacionados

- [Google](https://tidbit.legios.com.ar/es/google/): La empresa del buscador, que regala casi todo y gana plata con publicidad.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [SLA](https://tidbit.legios.com.ar/es/sla/): Una promesa por escrito de qué tan confiable va a ser un servicio y qué pasa si no lo es.
- [Postmortem de incidentes](https://tidbit.legios.com.ar/es/incident-postmortem/): Un análisis por escrito de qué salió mal en una caída y cómo evitar que se repita.
- [DevOps](https://tidbit.legios.com.ar/es/devops/): Romper la pared entre quienes escriben el software y quienes lo hacen funcionar.
