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 comes handy in sustaining and elongating the application lifetime.
Microservices architecture eventually leads ...