Cloud-Native Costs Can Fool You
In the world of ever-present technology choices, there’s a familiar refrain that is repeated over and over again in enterprise IT team rooms:
“Moving to the cloud will save us money!”
This optimistic mantra is frequently countered by a more skeptical viewpoint:
”The cloud is too expensive!”
These seemingly opposite points of view are actually, surprisingly, both true. The real answer is, unfortunately, not a simple question to answer, especially when it comes to cloud-native environments, where applications are built using microservices and containers and run on platforms like Kubernetes.
The decision of whether to operate an application in the cloud or keep it on-premises involves a nuanced analysis. It’s a balancing act where various considerations come into play, each contributing to the overall cost picture. So, let’s take a look at the details of this financial puzzle and explore how these seemingly contradictory statements can both be true.
The Cloud is Cheaper …
First, let’s talk about what the cloud is good at doing. The thing the cloud is really good at—the thing that really defines what it means to be cloud computing—is dynamic infrastructure. In a cloud-native infrastructure, you can create, destroy and resize an application’s infrastructure in minutes. And you can perform these resource adjustments completely programmatically. This dynamic infrastructure allows you to resize a system so you can scale an application to meet the application’s current needs in real-time, immediately and automatically.
This resizing benefits both upsizing and downsizing an infrastructure. When your application is running hot and there is lots of ongoing traffic to your system, a dynamic infrastructure quickly grows your available resources to meet the additional needs. Conversely, when you are at a low usage point or are in your off-peak usage time, you can shed excess resources.
This dynamic computation reduces the amount of idle equipment lying around. Not only do dynamic infrastructures release excess resources, but there is no longer a need to create hot standbys—hardware that is running and available for use but otherwise sitting idle—ready to handle anticipated future demand. Rather, you dynamically and programmatically create the additional resources only when they are required.
In a traditional data center, hot standbys are critical assets to keeping an application operational, and they significantly increase the total cost of an application.
In a properly designed cloud-native application, hot standbys are no longer needed. You can easily bring up new infrastructure pieces as needed when your application needs to scale up, and you can tear down infrastructure pieces when they are no longer needed.
Your use of expensive resources is significantly more efficient—saving you considerably in operations costs. This is especially true for applications with a high amount of variability in load.
A dynamic, highly scalable, cloud-native application will almost always be able to operate more cheaply in a public cloud than an equivalent static application could in a static data center.
So, yes, the cloud can save you money.
The Cloud is More Expensive …
But that isn’t the full story. It turns out this dynamic flexibility does come at a price. The cost you pay for a given allotment of a resource is typically more than an equivalent allotment will cost you in your own data center. So, if you need a specific amount of CPU and a specific amount of memory to complete a particular job—making a straight-up comparison of those resources in the cloud versus your data center will often reveal that the cloud is more expensive.
So, if your application is extremely resource-intensive (CPU, memory, bandwidth, etc.), or if its resource needs are highly stable and do not change much, then operating in the cloud may, in fact, be more expensive than operating your application in a private, static data center. The benefits your application would receive from the dynamic cloud are lower than the increased resource costs.
This means, yes, the cloud can be more expensive than on-premises.
So, bottom line, is the cloud cheaper or more expensive than on-premises? The answer is, quite simply, yes and no. The answer completely depends on the needs of your application and how well you are able to utilize the dynamic and programmatic infrastructure available in a cloud provider’s infrastructure.