The Internet was originally a Department of Defense project designed to be resilient in the face of outages and service disruptions. But, some days it’s a struggle to get a single cat GIF to load. This is because the internet is unreliable. Or rather, the most commonly used method is not 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 specialized cloud centers around the world are created and run by companies with vast expertise and many resources, where many of the world’s websites and mobile applications are built. However, even they have serious outages or service disruptions (Amazon Web Services (AWS), Google Cloud and Azure all list some major outages in general).
Consider cell service providers: T-Mobile, AT&T, Verizon. Hurricanes (like the recent one, Ian) can drop cell service for days. A distributed denial-of-service (DDoS) attack can seriously disrupt or disrupt services. 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, occur every day.
Finally, consider that the real world has internet dead zones – places where mobile and WiFi signals are unreliable or completely unavailable: airports, airplanes, remote areas (rural areas, mountains, on ships in the middle of the ocean). I still experience dead zones in underground parking garages and, most recently, behind stores in malls.
How a Multicloud Approach Can Help
As consumers, we live with this problem and deal with temporary inconvenience. For large-scale operations, however, even a small outage can lead to large consequences. For example, Walmart calculates that a delay of 100 milliseconds results in a 1% decrease in revenue.
But what can be done about it? Assume it will happen and be prepared. For example, when my home internet is down, I can tether to cell data service (and vice versa).
What can you do when AWS services go down? Switch to Azure (and vice versa).
That’s what multicloud is all about: preparation. Of course, all cloud providers offer a number of proprietary services, which cannot be easily replaced (vendor lock). So, for a multicloud approach to work, you need to look for open standards that all cloud providers offer and build on them as much as possible.
Kubernetes is one of the technologies offered by all major cloud providers. For databases, look for efficient technologies that can synchronize data between adjacent cloud providers in real-time (with little effort). These tools also allow you to run your own data center (if needed) which can be a stopgap for disaster recovery.
You’ll also get other multicloud benefits: price negotiation leverage and more data region options, to name a few. Yes, there are trade-offs: That proprietary cloud service will be harder or impossible to use without a carefully designed abstraction layer.
What about mobile apps? What should a smartphone app do when its backend API is down or unreachable? Keep the experience as seamless to the end user as possible. This can be done by saving data locally to the device and saving new data to the local database until the connection is restored.
This is the basis of the “offline first” approach. Store and process data locally, and sync back to your data center as internet connectivity permits. Do this in a way that is transparent to the user. If they are in an internet dead zone behind a mall store taking inventory, that doesn’t matter. They remain productive and the business continues.
The internet will fail. Cloud services will go down. Cell service will be down. But if your organization anticipates and plans for it, then your organization will be a customer when your competitors travel.
Emphasizing Reliability with Couchbase
The unreliability of the internet is one of the guiding principles of the products and services provided by Couchbase. Couchbase offers XDCR: cross-data-center replication that replicates changes to your data in real time between data centers, whether it’s AWS, Google Cloud, the data center at your headquarters or all three. Couchbase also offers Couchbase Mobile, which provides an offline-first embedded database with automatic synchronization. This is all available with Capella’s Couchbase, a cloud database as a service that you can try for free today.