Cloud computing allows for storing and accessing data and programs over the Internet instead of a local computer's hard drive. It provides scalable options including infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). Popular cloud platforms like Microsoft Azure and Amazon Web Services offer IaaS that provides access to servers, while PaaS handles provisioning machines for applications and provides databases and servers. SaaS delivers software through the cloud like Microsoft Office 365 and Google Apps. Open source projects such as Hadoop, OpenStack, and memcached help companies build cloud solutions that scale to thousands of nodes.