I understand the concept of cloud computing, but I'm curious why the term has become so exhausted the past several years. Servers have been around for a long time, and I fail to see how this is any different from before the term "cloud computing" was in fashion. There are many more vps services and more systems and complexity, but
The distinguishing feature of "cloud computing" is indeed the way that it is marketed, in particular, the way that it is priced.
Another synonym for "cloud computing" that I personally prefer is "utility computing", and that term describes best what it is all about: it is priced and used like any other utility, water, gas, electricity.
You only pay for what you use, when you use it, you don't have to configure anything, you don't have to rent anything, you don't have to prepay anything. You are automatically billed monthly based on your very fine-grained actual usage.
It really is like a utility: if you want to wash your hands, you open the tap a little bit and a bit of water comes out. If you are filling your pool, you open the tap more and more water comes out. You don't have to prepay the water, you don't have to call the water company and ask them to send you water, you don't have to arrange anything. You just open the tap, and there is instant water.
Utility computing resources are the same way.
This is different from anything we had before. We had rented servers in data centers, but we had to pay those whether we used them or not. Even in the (very short and unsuccessful) era of Application Service Providers (ASPs, anybody remember those), you generally had a monthly or yearly plan. There were mainframe sharing systems where you were billed by the CPU second, but those weren't as instantaneous as utility computing resources, you generally had to pre-arrange some stuff.
And in the field of economics, the sub-field that deals with how to assign prices to products, and how to bring those products to the market is called "marketing", so you are almost right: "cloud computing" is mainly a marketing term, but I would very much object to the word "just" in your sentence:
is "cloud computing" mainly just a marketing term?
Because the marketing aspect of cloud computing is precisely what makes it different from everything that came before, and what made it so disruptive.
There are other parts of the "utility" metaphor that are also applicable to utility computing, such as the fact that you don't need to care where your water comes from and how it gets to your tap, you just turn on the tap, and water comes out. The water could come from a tank, a reservoir, a lake, a river, a well. The electricity could be generated by wind, solar, geothermal, coal, nuclear, it could come directly from a plant owned by your provider or by a plant owned by a different provider who then sold the energy to your provider, etc.
This is where the "cloud" term comes in. It comes from system diagrams, where the network was always drawn simply as a "magical cloud" that does everything, and you don't really need to concern yourself with how it works. That is the metaphor that "cloud computing" is meant to invoke. The cloud is just this thing that is always there, always works, and you don't need to worry about it.
The term “cloud” is indeed very broad and used to represent different realities:
- IaaS is “Infrastructure as a service”. This seems to be your current way to see the cloud: its about computing capacity and servers.
- PaaS” which is “platform as a service”
- SaaS is “Software as a service” which gives you access to a software without any care about the servers or the platform.
You are right when you question the if cloud is a technical reality that would make it different from other technologies: technically, you can run your own server, install some platforms and operate your own software and provide it to your users directly. Very often, this can be done with the same technology and stacks.
You can even add internal firewalls, load-balancing, high-availability, geographical distribution in your own premises. If you have enough money (e.g. if you’re the pentagon), you can build up your own private cloud, and no expert, that would analyse your architecture, could make the difference.
So cloud is indeed a commercial reality: it’s about who is doing what and at what price, which is defined in a contract. So there is a difference between owning and operating the things yourself, and let others do it for you, for a price, but with a know how and a flexibility that you might never acquire if selling cloud is not your main business.
That’s the way amazon started this business (and maybe IBM before, with its former on-demand offers).
In conclusion, cloud is more defined by the contractual terms than the technology. Now where it comes tricky is the IaaS, where there is an overlap with commercial hosting offers. Here I have seen relatively inflexible hosting offers sold as “cloud” but without the expected flexibility in practice. So here “cloud” is sometimes used as a “marketing term” which correspond neither to a commercial nor a technical reality.
Finally, be aware that the commercial reality has impact on your architectural possibilities. So even if there are no differences in the technology, the distribution of roles will deeply impact what you can or cannot do on your side.
Cloud Computing in a marketing term from an angle and not just a marketing term from another angle.
End User Perspective: For the end users it doesn't matter if you run your work loads in cloud or on your premise or in any other way. From the end user point of view it really doesn't matter.
So if this term is used with the end user, it would be close to a marketing term.
Development organization Perspective: When your workloads are running in a cloud instead of on premise, there are several benefits
- The cost of maintaining the servers on your premise will not be incurred.
- The organization doesn't need to have people skilled to manage servers
- With cloud its easy to have elastic load. Many businesses have varying loads, with cloud its easy to manage it. It would be time consuming to provision and de-provision servers
Consideration to go on cloud:
- Now you should make sure your code can run with making assumptions in cloud. So while developing the code has to be development in a cloud native way (without making assumptions about deployment environment)
- It would be good if the code is written to take advantage of the elasticity the cloud offers. This is a skill highly in demand
- You need to have the skill set in the organization to deploy the code in the cloud. It's not trivial. You might have 100s of work loads and you might need some automation in terms of CI/CD.
- Cloud is an umbrella term. When you are going to use it you need to know the details such as service offered by your Cloud Vendor and competitors. This is also a skill set.
So from the perspective of an organization moving to cloud, it's not just a marketing term. The organization needs to be ready with the necessary skill sets
Servers have been around for a long time
Yes, servers. But cloud computing it's not about servers, it's a business model that didn't exist before, this is why deserves it's own terminology and it's not just a marketing term but the biggest technological revolution of the last 25yrs, at least
Yes, today everybody talks about AI, ML and how much these things are cool. Will computer make us slave whithin next 5 years?
Think about, though, that AI is a very old concept. We already knew from decades that it was possibile, we knew that a computer could predict stocks value and tell cats from dogs in photos, but how to do that in a PC with a pentium IV CPU? The answer could be use remote supercomputers for calculations and deploy models on web services, that is less or more what we do today.
Let's say that you have a business idea: you create a mobile app where users can insert their photos and see how they look like when they become old. You know that you can do that with neural networks. In your business plan you state that you will need to build a supercomputer and the service will cost 100$ per photo. Turns out that your business is not sustainable
Today, thanks (?) to cloud computing, this kind of application could be sold for free (at leat apparently, anyway with a very litlle unitary cost)
After all, the cloud is the evolution of VPS concept. In the past, servers where physical assets that users can manage. Then virtualization, Moore's law, devops, High bandwith internet connections/private fiber backbones along with a bunch of other tech progresses made the jump possible. I think that very few non-IT people have got the impact of this change in our society and global economy