When I first started in cloud computing, I held a limited view of the cloud. I’d used virtual private servers for years to host my pet applications. Having an API to access servers along with some other infrastructure and having it available almost immediately via an API was useful, but I needed to understand the full power of cloud computing. I agreed with the comment above because I didn’t get cloud computing.
That phrase is parroted all over. I’ve seen the term “cloud” put on legacy products as a way to brand or market what’s already on the market. And, people buy it. This is, in part, because people don’t understand what cloud computing is.
In this post, we’ll boil cloud computing down to its essential three pillars. If they aren’t there, it’s not cloud computing, but rather a marketing strategy.
The Three Pillars of Cloud Computing
Cloud computing is built on three pillars: compute, network, and storage. Each pillar is crucial, and they work together to enable the full potential of cloud computing.
Compute
The first pillar is compute. This refers to the ability to get computing resources, such as virtual machines, bare metal, or containers. Any of these will suffice if you immediately create and destroy them via an API. If you can’t create and destroy the compute resources programmatically, it’s not cloud computing.
A couple of key tests are:
- You can easily scale horizontally. For example, you have 3 virtual machines for an application and you need to add another, running the same codebase, and have it happen almost immediately. When one of the 4 virtual machines is no longer needed, it can safely be destroyed.
- When you want to update an application, it’s easy to simply destroy a compute resource and replace it with a new one running a newer version of the code.
For both of these to work, you need applications that can run in this situation. But, those applications need a platform that can do this.
Network
The second pillar is the network. When you’re creating and destroying compute resources programmatically and regularly, you need a flexible network. If a compute resource is being replaced, you may need to create a new compute instance, move an IP from an old instance to a new one, and destroy the old one. Or, when you’re scaling horizontally, the network layer needs to be able to easily route requests to the new instance.
If the network pillar isn’t as flexible as the compute pillar, it’s not cloud computing.
Storage
The third pillar is storage. Compute instances can come and go at any time, but some things need to live for a long time. For example, a CMS may have files in the form of images and media that are uploaded. These need to be accessed between different compute instances, different versions of an application, and possibly different applications altogether when you have helper services. When this happens, you need a storage service that can handle the flexibility of computing.
If the software pillar isn’t powerful enough to support the compute pillar, it’s not cloud computing.
Bring It All Together
If you don’t have all three pillars, the label cloud computing falls down because it’s not true. Without all three, it’s a marketing term being slapped on a product, and you’ll want to consider what that actually means. Doesn’t matter whether it’s a public cloud, private cloud, or something else altogether.
To learn more about the basics of cloud infrastructure, follow our Ultimate Guide to Cloud Infrastructure.
Conclusion
In conclusion, cloud computing is built on three pillars: compute, network, and storage. Each pillar is crucial, and they work together to enable the full potential of cloud computing. By understanding these three pillars, you can better appreciate the power of cloud computing and how it can benefit your organization.