What I’ve found, working in the industry that I do, is that there is a significant difference between ways people view the cloud. Some people see it as a way to utilize someone elses hardware to do the same tasks that they’d normally do if they had owned it themselves. In this case, there’s a meme floating around that “the cloud is just someone elses computer” and it’s pretty accurate. There are others of us, on the other hand, who recognize how the cloud can revolutionize digital workflows, and I’m going to do my best to explain the difference between these two viewpoints and how that relates to the levels of service you can expect from the cloud. I’ve included a handy infographic to help compare the two, and I’ve gone into more detail in the article
The Server Client Model
Before we can go too far into how the cloud can operate, we need to explain how digital service previously worked. This is called the “Server/Client model”. Put simply, you have two operators in this digital model. A server, which collects, stores, sends, and sometimes processes data. Then you also have a client, which is the way you and I interact with the server. Think of Facebook, where they have all of your pictures, statuses, and friends lists stored on their servers, and we access it via our client (in this case, a web browser). Although this is a simplification of Facebook’s model, it’s a easy way to understand how it works.
Typically in a Server/Client model, you’ll have significant hardware requirements meaning you’ll need multiple servers that are clustered, backed up, updated regularly, not to mention anything that you need to do to run the actual service end. It’s a rather high-maintenance solution when you scale it out to a large enterprise like Facebook (which is why they don’t even use this model for most of their services) but it also doesn’t scale well for small businesses, since you’d need to hire someone to manage your hardware and all the extranneous software that comes along with this model.
The Cloud Model
Now, when we talk about the cloud model, we are talking about a functional model. Instead of having a server that runs Windows that then runs our Application which may utilize other services to deliver your desired end result, we skip almost all of the steps by running a function or a container that doesn’t require a server to run on. This gets a little technically complex, so let’s use a metaphor instead. If we were wanting to effeciently build a vehicle, it would most likely look very different from the vehicles that you see on the road. If your only goal is to get from point A to point B, you don’t need heated leather seats, you don’t need a bluetooth surround sound entertainment system. In fact, you wouldn’t even need four wheels. The vehicle that would most efficiently get you from point A to point B would look more like a motorcycle than anything. Stripped down, bare bones, just providing what you need to accomplish your goal of transit. Utilizing the cloud should be more efficient than what you could run on premesis, meaning you’ll get cost, time, and management savings all together. Services like AWS Lambda and AWS Elastic Container Service help us to provide these services in a way more like a motorcycle than like a luxury sedan.
Cloud providers let you manage your techonlogy costs at infintisimally small levels, meaning you should be paying less for the same service in the cloud model than you would in a server/client model. Although this solution is more technically complex and may take longer to configure initially, it will wind up saving you tons in the long run because it requires less time, management, and most importantly money.