Cloud computing delivers hosted services over the Internet and is broadly divided into three categories: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides virtual servers and storage, PaaS provides development tools on the provider's platform, and SaaS provides fully managed, front-end accessed applications. Cloud services are elastic, on-demand, and fully managed by the provider. Cloud computing builds on decades of research in virtualization and distributed computing to provide scalable, flexible computing resources and reduce IT costs for users.