Cloud computing provides on-demand access to shared computing resources like networks, servers, storage, applications and services over the internet. It has seen rapid growth in recent years. There are different service models like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) depending on what capabilities are provided to the user. Cloud computing can be deployed using private, public, hybrid or community models depending on who manages the infrastructure and who has access to it. While cloud computing provides benefits like flexibility, scalability and cost savings, concerns around security, privacy and reliability remain challenges to adoption.