¿Qué es el safe-to-fail?

Safe-to-fail describe un enfoque de desarrollo en el sector de las TI en el que se prevén errores y dificultades imprevistas. El enfoque es el opuesto al conocido concepto de seguridad. Es importante destacar que no existe la doctrina pura.

La seguridad contra fallos frente a la seguridad contra fallos explicada en términos sencillos

La forma más sencilla de explicar el enfoque de seguridad contra fallos es utilizar la metáfora del tráfico rodado y distinguirlo del concepto de seguridad contra fallos. Los automovilistas pueden distinguirse de dos maneras: El tipo 1 quiere evitar los accidentes conduciendo con mucho cuidado y utilizando un vehículo decididamente seguro. El tipo 2, en cambio, está bien asegurado para hacer frente a las consecuencias de un accidente.

El tipo 1 es un representante del concepto a prueba de fallos. Hace todo lo posible para asegurarse de que su vehículo sea "a prueba de fallos". Sin embargo, no ha hecho previsiones para el caso de que ocurra algo. El conductor de tipo 2, en cambio, sí lo ha hecho.

El enfoque de seguridad a prueba de fallos obtuvo una amplia aceptación como resultado de una catástrofe. Los ingenieros advirtieron a la NASA que podría haber problemas con el escudo térmico del Challenger. Sin embargo, los funcionarios creyeron que su sistema estaba adecuadamente protegido y no tomaron medidas adicionales para responder a los posibles problemas del transbordador espacial. Las consecuencias devastadoras son bien conocidas.

Fail-to-safe en el desarrollo de TI

En el desarrollo de TI, el fail-to-safe se practica bajo la premisa de que sólo cuenta el resultado, no el camino para llegar a él. Esto significa que se permite que se produzcan errores siempre que el sistema funcione al final. En concreto, la implementación se realiza de la siguiente manera:

  • 1. Se crea un entorno de pruebas. Hierfür wird ein spezieller Testcode geschrieben.
  • 2. Jetzt wird der eigentliche Code geschrieben.
  • 3. Der eigentliche Code muss sich in der Testumgebung beweisen.
  • 4. Der Testcode zeigt an, ob die Funktion des Codes ausreicht.
  • 5. Die Tests offenbaren ebenfalls, ob die Performance den Erwartungen entspricht. Ist dies nicht der Fall, deutet dies auf Fehler hin.

Fazit: Es gibt nicht die reine Lehre

Faktisch gibt es kein „entweder oder“ zwischen „Fail-to-safe“ sowie „Fail-save“. Stattdessen findet ein „sowohl als auch“ statt. Die Autofahrer fahren vorsichtig und sind versichert. Entwickler wollen fehlerfrei arbeiten, aber trotzdem darauf vorbereitet sein, dass diese passieren können.


Deja un comentario