cloud design pattern for reliability