At first, people had one server for their website running on a computer located in their facilities. Usually, the server was fully capable of handling 1-10 users per second. But, if the traffic increased to 1000s of users, the server would keep on crashing, ultimately making the website unreachable. In other words, the load can exceed the capacity of what the server can handle. The reason for that is that CPU, RAM, and disk space are limited, so your server ends up with a specific amount of computing capability.
Yet websites with high traffic usually scale to keep up with demand. They did so by buying a new computer to decrease the load from the first server. To delegate the traffic correctly, they'd use a load balancer that did just that. Although, scaling comes with its own set of problems. For example, buying hardware is expensive. However, that's usually not a problem for large companies. So, large companies would buy a lot of computers, which allowed them to handle more traffic. But these companies would end up with a lot of unused computers. Luckily they started renting out the unused ones to smaller companies, creating a win-win situation.
These large companies (cloud providers) then realized that renting out machines could become a lucrative business model by providing services built on that concept. That suite of services is the cloud, and there are three types of services they provide:
- Infrastructure as a service (IaaS)
- Platform as a service (PaaS)
- Software as a service (SaaS)
IaaS is essentially renting out hardware, such as server hardware, storage disks, load balancers. In other words, components that make up the system. PaaS abstracts the complexity of architecting your infrastructure, subsequently allowing you to focus on building apps instead. Though, PaaS usually leaves little room for customization. But it provides things like auto-scaling that automatically scales parts of your system if it's needed. It may also downscale parts of the system if they're excessive based on incoming traffic, leaving you with a smaller bill. Lastly, SaaS are services like Google Maps, Google Drive, Gmail, and Office 365, where all you need to do is provide the service with data.