Cloud computing provides on-demand access to shared computing resources like servers, storage, databases, networking, software and analytics over the internet. It has several key characteristics including on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service. Migrating to the cloud involves transferring business processes, applications and data from on-premise systems to cloud platforms and optimizing them to take advantage of cloud features through a seven step model.