How To Build a Resilient Cloud-Based Application
Most cloud platforms are as resilient as an old bridge! On December 15, 1967, the Silver Bridge connecting West Virginia to Ohio collapsed during rush hour with horrific results. In the ensuing investigation, the cause was discovered to be the failure of a single supporting member. When the bar failed, the bridge collapsed. In the terminology of bridge engineering, Silver Bridge was “fracture critical”. The failure of a single component caused the failure of the entire system.
In a modern bridge, each member is engineered to support more load than it’s ever expected to carry. But more importantly, every member is backed up by redundant members. In the unlikely event that a particular member fails, the bridge will be fine.
The same basic logic can be applied to the design of cloud applications. It’s safe to assume that over the life of an application, there will be node failures because of software design errors, network outages, or hardware problems. We want applications that aren’t fracture critical, that don’t fail completely because a single node fails.
There are a couple of ways to achieve a resilient cloud-based application.
1. In the first, redundancy is built into the application. The infrastructure layer — the cloud servers — are assumed to be prone to failure, and so redundancy is engineered into architecture of the application. That puts the burden of creating non-fracture critical systems on cloud users. If the cloud user isn’t aware that they need to engineer redundancy themselves, the results can be catastrophic. Some of the largest cloud vendors around operate in this fashion: they provide the infrastructure, you build the redundant applications.
2. The second way to build a resilient cloud application is to bake the redundancy into the cloud infrastructure layer — and that’s how we chose to engineer our cloud platform. Instead of relying on redundancy in the application layer, full server, storage, and backup redundancy is part of the system.
Just as bridges are built so that failure of a single member doesn’t impact the whole system, true high availability clouds are built so that local failures don’t cause global collapses. Failover systems ensure that the redundant systems take the load when components fail.
Cloud app software engineers still have to think about redundancy for performance and stability, but they can rely on the underlying infrastructure layer to support them, rather than expecting them to take on the full burden of constructing a high-availability platform.
That makes ServerMania’s cloud platform the ideal venue for hosting small and medium business SaaS applications. Our cloud platform helps you build high-availability applications for less — you don’t have to be expert in building high availability distributed applications because we’ve already done much of the work to make sure the applications that your business relies on won’t let you down.