“The cloud is just someone else’s computer,” reads the sticker on a developer’s laptop. More appropriately, it might read “The cloud is a computer sitting in some corporate warehouse.”
When you hear about the cloud, you often hear it as just that, the cloud, as in, “Put it on the cloud.” But what exactly does that mean? Because in IT, there is no, “the cloud.”
The cloud is thousands of different things. It’s a SaaS application, an API, Google Drive, a virtual desktop, or AWS. In every case, when you get to the endpoint, the cloud is a machine, running somewhere else.
“So what,” you say. “A machine is a machine. It’s all still the cloud.”
The problem is that every one of these machines runs differently. There is no standard for a cloud service. If you’re a corporation and you want to put your application in“the cloud,” if you’re in Azure that means one thing, and in GCP it means another.
Why does this matter? Because cloud providers have an incentive to trap you in their platform.
So now your applications are trapped in a cloud, but it’s not “the cloud.” It’s Amazon’s warehouse. You can’t go out and start using other cloud services and integrate them with your application. Not easily at least. You must work within the confines they set for you. For instance, a lot of people don’t realize the egress data fees AWS charges before they get in: it’s free to get your data into AWS, but if you wanna take it out, it’s going to cost you.
Despite this, enterprises now have a mix of many public and private clouds. The typical enterprise has over five clouds running their production applications, and they’re experimenting with even more. Each cloud offers special services that a company might need, and that other clouds lack. But with each new cloud comes new incentives to get you in the door and new deterrent to prevent you from leaving.
That’s the current state, and it’s terrible. It’s not the way the cloud was supposed to be. The good news is, companies have begun to realize that this is a terrible situation. It has taken about ten years, but the landscape is beginning to evolve, and new tools are emerging to make life easier.
WireGuard, for instance, is a new technology that can create fast, dynamic, and secure lines of traffic between any number of machines. You can set up something like a VPC, but with any number of devices that run anywhere. You could build a private cloud out of whatever cloud resources you’d like.
Meanwhile, Kubernetes is a new framework for deploying applications in a standard way across clouds. While there’s still no standard for the cloud, Kubernetes may well become the closest thing we have to a standard for cloud native applications.
With internet speeds moving faster than ever, there are fewer reasons than ever not to integrate these balkanized, walled off cloud environments. GRAVITL (gravitl.com) is just one of the companies developing tools on top of these new technologies to help move companies into the next stage of cloud computing.
In this new stage, a machine really is just a machine. It doesn’t matter if it’s running in your office, an AWS warehouse, or anywhere else in the world. You can use it how you want and make it a part of your cloud.
Once we make this stage the new standard for enterprise, that vision of “the cloud” may finally begin to materialize.