Cómo usar presupuestos de error para proteger la confiabilidad del servicio

Shutterstock.com/iunewind

Un "presupuesto de error" describe la cantidad de tiempo que un sistema puede estar fuera de línea antes de que tenga consecuencias tangibles para su negocio. Los presupuestos de error se utilizan junto con los acuerdos de nivel de servicio (SLA) y los objetivos de nivel de servicio (SLO) para informar a las organizaciones cuando la falta de disponibilidad de un sistema se ha convertido en un incumplimiento de contrato.

La incorporación de presupuestos de errores en la estrategia de confiabilidad de su aplicación proporciona un enfoque metódico para equilibrar la asunción de riesgos con la estabilidad. Los presupuestos de errores reconocen que las interrupciones ocasionales, las implementaciones con errores y los errores simples son inevitables. Su función es decirte cuántos de estos incidentes puedes soportar. El presupuesto de errores disponible también decide si su próxima tarea es crear una nueva función o abordar otra corrección de errores.

Índice de contenidos
  1. ¿Qué es un presupuesto de error?
  2. Error Presupuestos e Ingenieros
  3. ¿Qué sucede cuando se gasta un presupuesto erróneo?
  4. Los impactos comerciales de los presupuestos erróneos gastados regularmente
  5. Resumen

¿Qué es un presupuesto de error?

El presupuesto de errores de un servicio es simplemente una medida del tiempo máximo que puede estar en un estado fallido sin incurrir en sanciones contractuales, financieras o reglamentarias. El presupuesto de error disponible se deriva de la cifra de tiempo de actividad con la que se compromete en los SLA que envía a los clientes. Podría ser más estricto si basara su presupuesto de errores en un SLO.

  • ANS - El tiempo de actividad al que te comprometes públicamente, como el 99,95 %. La mayoría de las organizaciones que utilizan SLA estarán obligadas por contrato a recompensar a los clientes si el tiempo de actividad real del servicio cae por debajo de esta cifra.
  • SLO - El tiempo de actividad que busca internamente, como el 99,99 %. Esto significa que una cifra de tiempo de actividad entre 99,95 % y 99,99 % no es deseable y proporciona una indicación de que se requieren mejoras de confiabilidad. Sin embargo, no lo hace responsable de recompensar a los clientes.
  • Presupuesto erróneo - Un cálculo de la cantidad de tiempo de inactividad permitido por un SLA o SLO.

Puede calcular su presupuesto de error usando una simple multiplicación. Por ejemplo, un SLA que establece que su servicio tendrá una disponibilidad del 99,99 % en el transcurso de un año le brinda un presupuesto de error total de 52 minutos y 35 segundos. Un apagón que dure 30 minutos no afectará directamente a su negocio. Uno que dure una hora excederá el presupuesto de errores y requerirá una compensación para los clientes.

Aquí hay algunos otros ejemplos:

99,99% 52 minutos, 35 segundos 4 minutos, 23 segundos
99,95% 4 horas, 23 minutos 21 minutos, 54 segundos
99,90% 8 horas, 46 minutos 43 minutos, 49 segundos

Los presupuestos de error se pueden derivar de cualquier tipo de SLA, no solo del tiempo de actividad. Los recuentos de solicitudes exitosas, las medidas de rendimiento y las métricas de utilización de recursos a menudo también se usan como SLA y SLO. Un SLA que establece que el 99 % de las solicitudes se manejarán con éxito todos los días disparará su presupuesto de errores si se han realizado 10 000 solicitudes y menos de 9 900 de ellas han tenido éxito.

Error Presupuestos e Ingenieros

Los presupuestos de error no son solo una forma más fácil de calcular cuándo se ha incumplido su SLA. También se utilizan para establecer las prioridades de sus equipos de desarrollo. Un presupuesto de errores es un mecanismo de control que determina el tipo de trabajo en el que centrarse.

Cuando su presupuesto de errores está lleno, los desarrolladores pueden trabajar sin restricciones. Pueden abordar nuevas funciones, realizar cambios radicales en los sistemas y aplicar migraciones riesgosas a los entornos de producción. Estas acciones tienen el potencial de introducir errores y comportamiento escamoso, agotando el presupuesto de errores. El presupuesto de error se “gasta” a través de esta innovación.

Cuando el presupuesto de errores disponible alcanza un umbral acordado, los desarrolladores deben tomar medidas para evitar que siga cayendo. Los esfuerzos de ingeniería deben orientarse hacia la corrección de errores y optimizaciones que mejorarán la confiabilidad y estabilizarán el servicio. Esto reduce el riesgo de que ocurra otro problema y agota el presupuesto de errores por completo.

Es importante reconocer que los presupuestos de error son supuesto para ser consumido, hasta el umbral de advertencia. Promueven la autonomía del desarrollador al permitir que los ingenieros asuman riesgos e innoven por iniciativa propia. Los presupuestos de errores proporcionan simultáneamente barreras protectoras que evitan que los desarrolladores se fijen en el movimiento hacia adelante a expensas de la confiabilidad del servicio. Un presupuesto de errores agotador protege el negocio al indicar a los desarrolladores cuándo deben volver a centrarse en la estabilidad.

¿Qué sucede cuando se gasta un presupuesto erróneo?

Puede ocurrir un presupuesto de error gastado por completo porque ha pasado por un período de alta innovación o ha experimentado una sucesión de interrupciones prolongadas. Hay muchas cadenas de eventos que podrían llevar a que se agote el presupuesto de errores; lo que importa es cómo respondes cuando sucede.

Quedarse sin presupuesto de errores no debe tomarse a la ligera. No le queda poder adquisitivo, por lo que no debe invertir en más innovación. Un presupuesto erróneo se puede comparar con una línea de crédito de sus clientes: gastar más allá de su límite empeorará la situación y podría dañar gravemente la perspectiva de su marca.

Congelar todo el trabajo no esencial debería ser su primera respuesta al exceso de presupuesto. Esto debe suceder inmediatamente cuando se agote el presupuesto. Bloquee nuevas implementaciones para que no lleguen a producción, reasigne a los desarrolladores que están creando nuevas funciones y evalúe la forma más rápida de restaurar el servicio. Su presupuesto de error se reactivará naturalmente a medida que transcurra el tiempo después de que se resuelva el incidente.

Debe completar una retrospectiva sobre la resolución para analizar lo que sucedió. Podría haber oportunidades para aumentar la confiabilidad cambiando las herramientas o mejorando su proceso. La aplicación de revisiones de código más estrictas, la ejecución automática de su conjunto de pruebas en canalizaciones de CI y el uso de análisis estáticos para detectar errores comunes son tres formas efectivas de aumentar rápidamente la calidad del código.

Los impactos comerciales de los presupuestos erróneos gastados regularmente

El uso regular de su presupuesto de errores es una señal de que su aplicación es inestable y necesita ser más resistente. Un flujo continuo de incidentes de incumplimiento de SLA creará una mala percepción de su producto. Los usuarios esperan que el software esté disponible de forma fiable cuando lo necesiten. La confianza del cliente se verá perjudicada cuando este no sea el caso, lo que podría hacer que usted pierda frente a la competencia.

Aunque exceder un presupuesto de error puede ocurrir por innumerables razones, hacerlo repetidamente puede indicar problemas mayores en su organización. Podría estar intentando moverse demasiado rápido con una hoja de ruta demasiado ambiciosa. Esto puede ejercer una presión indebida sobre los ingenieros y crear un entorno propicio para los errores.

Los presupuestos de error pueden sentirse como bloqueadores en organizaciones naturalmente aceleradas. Recordar la intención detrás de los presupuestos de error debería ayudar a mantener a todos a bordo. Son una forma de gestión de riesgos que proporcionan métricas procesables para decidir las prioridades de ingeniería. Los presupuestos de error están ahí para proteger su negocio de los impactos negativos de los incidentes al indicarle cuándo dar un paso atrás y reducir la velocidad. Intentar anularlos o ignorarlos puede poner en peligro el futuro de su servicio.

Resumen

Las soluciones de software más exitosas combinan la innovación continua con una estabilidad confiable. Muchos equipos de desarrolladores luchan por equilibrar con éxito estas dos preocupaciones contradictorias. Los desarrolladores a menudo miran hacia el futuro de forma natural, mientras que los usuarios quieren una solución familiar en la que puedan confiar.

Los presupuestos de error son un mecanismo eficaz para resolver este dilema. Permiten a los desarrolladores innovar libremente dentro de restricciones fijas que preservan la confiabilidad del servicio. Los presupuestos de error protegen el negocio de los impactos de las infracciones de SLA al instruir a los ingenieros para que se vuelvan a enfocar en la estabilidad a medida que aumenta la cantidad de tiempo de inactividad.

Puede implementar presupuestos de error estableciendo un SLA o SLO y luego calculando la cantidad de indisponibilidad que permite. También deberá realizar un seguimiento de la duración de los nuevos incidentes para saber cuándo se está consumiendo su presupuesto de errores. Las plataformas de gestión de incidentes como Opsgenie, Pagerduty y Blameless pueden capturar automáticamente esta información y proporcionar alertas en tiempo real para eventos de agotamiento del presupuesto de errores.

El uso de presupuestos de errores le permite crear aplicaciones más confiables que cumplen constantemente con las expectativas de los usuarios. Los presupuestos de errores proporcionan datos para informar las decisiones de ingeniería y equilibrar la innovación con un funcionamiento estable. Esto crea la coherencia que falta en muchos de los servicios existentes en la actualidad.

Descubre más contenido

Subir Change privacy settings