Cloud computing is a model for enabling ubiquitous and convenient access to shared pools of configurable computing resources via the internet. It provides hardware, software, storage and networking services that can be rapidly provisioned with minimal management effort. Key characteristics include rapid elasticity, broad network access, resource pooling, on-demand self-service and measured service. While cloud computing provides opportunities to lower costs and improve access to resources and collaboration, it also poses security, performance and connectivity reliance disadvantages that must be addressed.