For a long time, in network diagrams the complexity of the Internet was reduced down to a simple cloud icon. That’s because the focus was on the servers, devices, and switches IT professionals were responsible for and the Internet was beyond the horizon of what they needed to worry about from an architecture standpoint. Since software delivered over the Internet similarly doesn’t require the customer to worry about how it’s architected, people began to refer to this software as being “in the cloud.”
It’s clear what isn’t the cloud. Software that is stored in and run from someone’s local hard-drive is not the cloud because one of the requirements of the cloud computing is that the software, the underlying code, and the supporting infrastructure must be delivered via the internet and must run over the internet. Another requirement of the cloud is that data must be uploaded to it.