Architecting Fault Tolerant Systems (tutorial)