There are essentially two distinct cloud models, each with very different characteristics that are often confused because they are both called “cloud”. There are two main types of “cloud”; Infrastructure as a Service (IaaS) or ‘’hosting” and Software as a Service (SaaS).
It’s important to understand the differences and how they are best suited to each part of your application environment.
IaaS or “hosting” is by far the simpler cloud model to understand. In an IaaS model, a cloud provider hosts the infrastructure components traditionally present in an on-premises data center, including servers, storage and networking hardware, as well as the virtualization or hypervisor layer. These services could be “private cloud” or “public cloud” depending on whether that infrastructure is dedicated or shared. Varying levels of services are wrapped around this core hosting service. IaaS or “hosting” decisions generally have an unnoticeable impact to the end user. It typically involves no changes to the applications and business processes they support.
SaaS is a far more complicated beast. SaaS involves the implementation of a web-delivered business application that is totally owned and maintained by a service provider. Deploying a SaaS solution involved the implementation of a new application, changes in business process, data migration, building new interfaces and re-training users. SaaS decisions therefore have a large impact on the end user and are much harder to reverse. You generally don’t own your licenses and are locked into ongoing rental style subscriptions. Some applications are well suited to SaaS, particular if you want to deploy a generic or configurable business process quickly. CRM and HR are classic examples that can work well.