The internet was originally a Department of Defense project designed to be resilient in the face of outages and service interruptions. Yet, some days it’s a struggle to even get a single cat GIF to load. This is because the internet is not reliable. Or rather, the ways it’s most commonly used aren’t reliable enough. But with a multicloud and offline-first approach, you can be prepared.
Consider the major cloud providers: AWS, Azure and Google Cloud. Dozens of dedicated cloud centers worldwide are created and run by companies with considerable expertise and plenty of resources, upon which a large amount of the world’s websites and mobile apps are built. Yet, even they have serious outages or service interruptions (Amazon Web Services (AWS), Google Cloud and Azure all list some of their major outages publicly).
Consider cell service providers: T-Mobile, AT&T, Verizon. A hurricane (like the most recent, Ian) can take down cell service for days. Serious distributed denial-of-service (DDoS) attacks can hamper or damage service. Cell service is wireless, but cell towers use cables that are accidentally cut from time to time.
Consider home internet service providers: Comcast, Spectrum, Cox. Outages can be caused by storms, cut cables, wear and tear, or faulty equipment. Reports of outages for Comcast, for example, happen daily.
And finally, consider that the real world has internet dead zones — places where cell and WiFi signal is highly unreliable or completely unavailable: airports, airplanes, remote regions (rural areas, mountainous areas, on a vessel in the middle of the ocean). I still experience dead zones in underground parking garages and, most recently, the back of a store in a mall.
How a Multicloud Approach Can Help
As consumers, we live with these issues and work around temporary inconveniences. For large-scale operations, however, even a small outage can result in huge consequences. For instance, Walmart calculated that a delay of 100 milliseconds resulted in a 1% drop in revenue.
But what can be done about it? Assume it’s going to happen and be prepared. For instance, when my home internet goes out, I can tether to cell data service (and vice versa).
What can you do when an AWS service goes down? Switch over to Azure (and vice versa).
That is what multicloud is all about: preparation. Of course, all cloud providers offer a number of proprietary services, which can’t be so easily switched (vendor lock-in). So, for a multicloud approach to work, you need to look for open standards that all cloud providers offer and build on those as much as possible.
Kubernetes is one such technology that all major cloud providers offer. For databases, look for technology that can efficiently sync data between cloud providers as close to real time as possible (with as little effort as possible). These tools also allow you to run your own data center (should that be necessary) that can act as a stopgap for disaster recovery.
You will also get other multicloud benefits: price negotiation leverage and more data region options, to name a couple. Yes, there are trade-offs: Those proprietary cloud services will be harder or impossible to use without carefully designed abstraction layers.
What about mobile apps? What should a smartphone app do when its backend API goes down or can’t be reached? Keep the experience as seamless to the end user as possible. This can be done by saving data locally to the device and keeping new data saved to a local database until connection is restored.
This is the crux of an “offline first” approach. Store and process data locally, and sync it back to your data center as internet connectivity permits. Do this in such a way that it’s transparent to the user. If they’re in an internet dead zone in the back of a mall store taking inventory, it won’t matter. They remain productive and business continues.
The internet will fail. Cloud services will go down. Cell service will go down. But if your organization is expecting and planning for it, then your organization will be the one that customers will go to when your competitors are scrambling.
Emphasizing Reliability with Couchbase
The unreliability of the internet is one of the guiding principles of the products and services that Couchbase provides. Couchbase offers XDCR: cross data-center replication that replicates changes to your data in real time between data centers, whether they’re AWS, Google Cloud, a data center in your headquarters or all three. Couchbase also offers Couchbase Mobile, which provides an offline-first embedded database with automatic sync. These are all available with Couchbase Capella, a cloud database as a service that you can try for free right now.