Reliable IT infrastructures
As indicated at the beginning of the chapter, to arrive at reliable systems, we need to have reliable applications and infrastructures. We have discussed the various ways and means of bringing forth reliable applications already. Now, we need to dig deeper and detail the best practices to be followed to craft and use reliable infrastructures.
High availability
 Regarding redundancy toward higher availability, the first and foremost tip is to architect software applications to be redundant. Redundancy is the duplication of any system to substantially increase its availability. If a system goes down due to any reason, the duplicated system comes to the rescue. That is why we often hear and read that software applications are being generally deployed in multiple regions, as indicated in the following diagram. Lately, applications are being constructed out of distributed and duplicated application components. Thus, if one component or service goes down, then its duplication...