What is "The Cloud?"
The term "cloud" is often thrown around in the context of the Internet and computer networks, and often used incorrectly by those who have no idea what it means. So what exactly does "cloud" mean?
The term "cloud" originated from networking diagrams that used a cloud to represent unknown or vaguely defined infrastructure. Typically this was used to represent outsourced external infrastructure.
Its current technical meaning has come to represent a server or set of servers that have the following properties:
- Outsourced to third parties, such as
- Physical server location(s) and specification is not not explicitly known.
- May be running in virtual machines.
- Optionally, software may be clustered, providing redundancy, failover, and scalability.
- Optionally, may be geographically distributed (but this requires knowing something about the server location)
- May host a variety of different services, such as plain OS instances, database instances, web server instances, or instances of a specific application.
The advantages of using "cloud" providers over in-house servers:
Clustering was already a thing in the high-end software world of large databases, mainframes, and minicomputers. What clustering meant is that a single machine node in a cluster could go down, and other machine nodes would take over. End users would still be able to access whatever application or service. In a cluster, multiple machine nodes may serve requests at the same time, and therefore adding additional nodes could increase performance.
In time, some web applications gained support for clustering and scaling. For example, if you are running an on-line store, you always want your web site to be available, even if some part of it goes down. During peak times, you may need the ability to add server nodes to handle the extra load.
Probably the key to what people think of as "cloud" came with the advent of virtual machines on commodity x86 servers. Big iron mainframes already had various forms of virtualization, but the lower cost interchangeable Microsoft Windows/Linux IBM PC based x86 servers that everybody loved weren't really designed for that.
Virtualizers such as VMWare or VirtualBox enable a complete "guest" operating system to run from within the machine's "host" operating system. For example, you might be running Microsoft Windows directly on your hardware, but have a Linux virtual machine running within it. The "guest" operating system thinks it has complete control over a computer, when in fact it is sharing resources. A virtual machine differs from an emulator in that the guest operating system is running directly on the CPU, rather than using software to emulate CPU instructions. This means that software running inside a virtual machine can run at almost the full speed of the physical CPU. But this also means an x86 virtualizer can not natively run PowerPC, DEC Alpha, MIPS, or ARM based software.
What virtualization adds to the "cloud" mix, is the ability to share a piece of hardware between multiple operating systems. These operating systems may be configured completely differently, in such a way that would otherwise prevent applications from sharing the same OS, or they may be completely different operating systems. Different virtual machines may be administered and used by completely different people or organizations, all while running side by side on the same physical server. Since virtual machines are usually self-contained within a few large files, they can easily be moved between servers. This makes balancing loads, upgrading hardware, or moving between servers, almost trivial.
Altogether, these are a fairly complex set of concepts. Unfortunately, this leads to much misunderstanding of what "cloud" services can do and how they should be used.
For example, I have encountered supposedly knowledge administrators who firmly believe it is impossible for an application to become sluggish and bogged down because it is "in the cloud". The actual fact is the application in question is running on a physical CPU somewhere with limited speed, storage, and network access. Resources are all shared with other virtual machines on the same physical machine and other machines on the same network. You hammer it too hard and it WILL bog down. It's not running on unicorn magic.
End users frequently consider applications and services marketed as "cloud based" as if they were some kind of public service. They then get massively confused when the service goes away or changes.
I have seen home file server products marked as a "personal cloud", which makes no sense at all as it has no properties of cloud computing.
"Cloud" does not magically make something secure. By itself, the concept doesn't deal with security at all! Sure, go ahead and put your sensitive data in some random "cloud" app. I'm sure the cloud host in Russia would be happy to pick over your data. File hosting/sharing sites have been around for a very long time. Suddenly they all began marketing themselves as "cloud" sharing services, and the perception suddenly changed. Even though it is the exact same thing.
I don't pay much attention to IoT (Internet Of Trash) devices, but some IoT devices seem to have some form of connected "cloud" service, usually so a user can control said device from their toy cell phone - and the advertisers can track you and advertise at you. This service may or may not actually be implemented using "cloud" concepts. It very well may be running from a used PC sitting under the CEO's desk, and the end user won't see much difference. But again, tacking on the word "cloud" to the product somehow makes it seem more desirable.
Then, of course, there is the tendency to tack the word "cloud" on to anything, without any regard as to if it means anything or not. This is what we in the industry call "bullshit". "Strategize granular cloud functionalities that impact collaborative cloud metrics to productize robust user-centric cloud...."
$$$ and more $$$
Probably the biggest misuse abomination is the rise of subscription based applications.
A purely "web" application can sort of get away calling itself "cloud based". But some software vendors have been applying that term to standard desktop applications as well. The reason being, calling their application "cloud"-something sounds so much better than "remote controlled copy protection".
People have forgotten that way, way, back when, if you wanted to run a program, you had to bow down to some big company and their giant mainframe time sharing service. Everything you did and everything you ran was under their control. Until one day some enthusiasts started scraping bottom-of-the barrel parts to make these little scifi-ish gadgets called "Personal Computers". A couple of guys in a garage made a version everyone wanted, and then IBM of all people almost inadvertently created a standard for it, followed by a massive revolution to get free from mainframes.
Want to write a letter or manipulate some financial data without having to pay by the hour? The personal computer lets you do that!
Want to have your software, data, and hardware all under your own control? The personal computer lets you do that!
Want to write and run custom software without restriction? The personal computer lets you do that! And much more.
But... somehow... people want to go back to mainframe style rental applications. Just attach the word "cloud" to it. Makes me sick.
Control? Here is an example of control: (2019) Adobe Cancels All User Accounts in Venezuela. Oddly, Adobe has ONLY stopped selling new software and licenses to Russia over Ukraine.
What is NOT "the cloud"?
Microsoft OneDrive is not "the cloud". Microsoft OneDrive is Microsoft's proprietary file hosting service, that they have integrated with Microsoft Windows 10 and 11. Their service is allegedly implemented using "cloud" concepts (or in a cloud, as such), but why do you care? That does not change how you use or interact with it.
Google Docs is not "The cloud". It is a web browser based spreadsheet and collaboration tool set. It IS important that you understand that your documents are no longer on your computer, or a company server, and the security concerns that surround that.
Sigh. You didn't understand any of that did you?
The Cloud! It's got what plants crave!
Make sense now?
Back to opinions