Cloud computing describes the usage of a network of remote computers managed by cloud providers to handle computing tasks like storing/serving files, running web servers, training machine learning models, etc. instead of provisioning your own on-premise computers.
By deploying your compute tasks in the cloud, you no longer have to worry about things like:
- Buying and setting up dedicated computers.
- Hiring an IT team to take care of those computers.
- Dealing with inevitable hardware failures (backing up and restoring data, for example).
- Paying for the physical space to put your computers and ensuring it’s secure from adversaries.
- Scaling to meet unexpected gain/reduction in usage.
Cloud computing is generally divided into 3 groups:
- SaaS, for user-facing, generally non-technical software products like Gmail or Google Drive.
- PaaS, for developer teams who don’t want to manage the hardware and software for running computing tasks.
- IaaS, for admins to easily provision and monitor compute resources like storage, networking, RAM, etc.