Cloud Isn’t That Simple Anymore: Polycloud Vs. Sky Computing

Multi-cloud—a strategy for employing multiple cloud providers—is a common strategy used by cloud-native applications. Many applications make use of both Amazon Web Services (AWS) and another cloud provider, such as Google Cloud or Microsoft Azure. The single cloud-focused application is becoming rarer.

By far, the most common reason for using multi-cloud is quite simple: To choose the best service at the time the choice was made. Applications rarely just pop into existence. Rather, they are grown over time. As time passes, decisions must be made and sometimes those decisions change. For cloud providers, this decision often means the best choice to implement a given feature for a given team on a given application may change as time passes and may result in a very different answer than the team next to you.

So, for many organizations, the move from a single cloud provider to multiple cloud providers is simply the result of organic growth and change.

Yet, there are costs for using multi-cloud. One major cost associated with multi-cloud is inter-service transfer fees. Most cloud providers charge you a fee to transfer data to and from their services. So, if your application is built using multiple cloud providers, there is likely data being transferred from the part of your application in one cloud provider to the part of your application in the other cloud provider. This results in data transfer fees for both cloud providers. These fees would not exist if the entire application were in a single cloud provider.

Even though there are downsides to multi-cloud-based applications, multi-cloud is becoming significantly more popular. Other than haphazard selections over time, there are two main reasons why companies may purposefully use multiple cloud providers.

Polycloud—Use the Right Service for the Right Reason

Over the years, cloud providers have created more and more sophisticated services. While many of these services are core infrastructure services that provide the building blocks for all applications—services such as object storage (Amazon S3, Google Object Store), databases (Amazon Aurora, DynamoDB, Google BigTable) and computation (EC2, Google Compute, Elastic Container Service, Kubernetes, etc.)—many of the services are highly sophisticated and have specialized offerings for particular purposes. This includes services such as machine learning, artificial intelligence, media streaming, satellite and cellular services and even quantum computing.

The result is cloud provider specialization. Each cloud provider has a high degree of qualification and superior product offerings in a particular technology over other cloud providers. This means that, for a particular cloud technology, the best choice for offering that service may be one cloud provider, while the best choice for a different cloud technology might be a different cloud provider.

The net result is to use the best cloud service available if an application may span multiple cloud environments. An application may use AWS S3 for object storage, use GCP for its Kubernetes cluster management, use Azure for Microsoft Windows servers and rely on Amazon for its AI capabilities.

When a single application uses multiple cloud providers, each for specialized service requirements, we call this polycloud. Each cloud provider is used because of their particular strengths that match a specific need of the application.

Sky Computing—The Goal is Redundancy

Many times, when a company chooses to use multiple cloud providers, it has to do with redundancy. Most enterprises do not like to single-source a technology. If something happens to the provider of that technology, it can devastate the enterprise’s business.

This same concept applies to cloud providers. If I chose a single cloud provider for all of my applications, my entire business would depend on that one provider. If they have an outage, my entire business is impacted. If they change pricing, I have no option but to pay the increased prices. If they go out of business, my entire business is now in jeopardy.

So, many companies chose multiple cloud providers as a hedge against single-sourced technology. But this is hard to implement with cloud computing. The reason is simple: To successfully avoid single-source issues, I have to build my application so that it runs effectively on multiple cloud providers, each with a different API. This can dramatically increase the cost of cloud-native development since a feature has to be built using multiple APIs on multiple services. The code is more complex, the development is slower and the individual engineers must have knowledge and experience on multiple cloud providers. The cost to implement this multi-cloud strategy can be extremely high.

Enter sky computing. Sky computing is a relatively new term for a concept as old as the cloud itself. Sky computing involves creating a single API that is cloud-agnostic. Applications are then written to this cloud-agnostic API, and a cloud-specific implementation of the API is inserted for each of the desired cloud providers. It is a way to shield the development issues—and in many cases, the operational issues—associated with multi-cloud away from the application.

Multi-Cloud is Business-Critical

As the cloud continues to mature, cloud-native application development accelerates and cloud providers’ offerings mature, more and more applications will use a multi-cloud model for their application needs. Whether you use multi-cloud haphazardly—simply due to many independent decisions over time—or use it more strategically, such as polycloud or a sky computing strategy—the result will be the same. The complexities of multi-cloud are here to stay.

Lee Atchison

Lee Atchison is an author and recognized thought leader in cloud computing and application modernization with more than three decades of experience, working at modern application organizations such as Amazon, AWS, and New Relic. Lee is widely quoted in many publications and has been a featured speaker across the globe. Lee’s most recent book is Architecting for Scale (O’Reilly Media). https://leeatchison.com

Lee Atchison has 59 posts and counting. See all posts by Lee Atchison