The cloud is a simple concept: one company rents out its hardware to other companies as software that is delivered over the internet. At the base level, cloud infrastructure virtualizes (represents hardware as software) building blocks of computing like compute power, storage, and networking.
The term “Cloud” was introduced in 1994, when a company by the name General Magic started to use it as a metaphor for virtualized services. However, the term became more widely known in 1996 when Compaq wrote an internal document about the future of computing and the internet. In 1999, Loudcloud was founded as a “software infrastructure service provider”. In 2002, Amazon created a subsidiary called Amazon Web Services (AWS) and four years later the first two cloud services were introduced: Simple Storage Service (S3) and Elastic Compute Cloud (EC2). These products pioneered the usage of server virtualization to deliver cloud computing services at an on-demand pricing basis. Today there are dozens of services within AWS and other public cloud providers such as Microsoft Azure and Google Cloud.
When AWS was launched, it initially offered Infrastructure as a Service (IaaS), which is based on three fundamental pillars: compute, storage and networking. But when we think about Software as a Service (SaaS), it actually started much earlier. Webmail services were introduced in the mid 90’s. Two of the most popular ones, Hotmail and RocketMail were launched in 1996. Initially such services were installed on private data centers, where the vendors had to set-up and maintain everything by themselves, including hardware, storage, networking, operating systems and middleware platforms. But when IaaS became widely available, many SaaS vendors migrated to the cloud, which significantly reduced the operational costs.
IaaS is even more cost effective when it comes to new software services. In the past, companies had to invest in the infrastructure, before they knew the capacity that they really needed based on the actual number of users and traffic. This is extremely challenging when you have traffic spikes in certain periods. When you own the infrastructure, you must have enough resources to cope with the highest peaks, while it is underutilized most of the time. But with cloud computing you don’t need any up-front investment. You pay only for what you use and with elasticity, resources can be added or released as needed, based on actual load on the system.