Cloud computing allows users to access computing resources like servers, storage, databases, networking, software, analytics and more over the internet. It provides on-demand access to shared pools of configurable resources that can be rapidly provisioned with minimal management effort. Key developments that led to cloud computing include mainframes that leveraged multiple processing units, computer clusters that worked together like a single system, and grids that connected distributed computer resources to achieve a common goal.