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.