The cloud has had a transformational impact on businesses of all sizes - from small and midsized businesses (SMBs) to large enterprises - and it's showing no signs of slowing down.
According to analyst house Gartner, the use of cloud computing is still growing and will become the bulk of new IT spend by 2016, a year that the company predicts will see hybrid cloud overtake private cloud, with nearly half of large enterprises having deployments by the end of 2017.
Despite its high uptake, the most suitable route into the cloud is not always so clear cut for many organisations moving on from the tried and tested client-server model.
To shed light on the advantages and disadvantages of cloud computing's three main service delivery models - software-as-a-service (SaaS), platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS) - we spoke to Mike Kavis, VP and Principal Architect for Cloud Technology Partners and author of 'Architecting the cloud'.
TechRadar Pro: Can you summarise the different cloud service delivery models available?
MK: There are three cloud service models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
With each cloud service model, certain responsibilities are shifted to the cloud service provider allowing consumers of cloud services to focus more on their own business requirements and less on the underlying technologies.
IaaS abstracts the underlying infrastructure and data center capabilities so that consumers no longer have to rack and stack hardware, power and cool data centers, and procure hardware. Computer resources can be provisioned on demand as a utility, much like how we consume water and electricity today.
PaaS takes us one level higher in the stack and abstracts that operating system, database, application server, and programming language.
Consumers using PaaS can focus on building software on top of the platform and no longer have to worry about installing, managing, and patching LAMP stacks or Windows operating systems. PaaS also takes care of scaling, failover, and many other technical design considerations so that developers can focus on business applications and less on the underlying IT "plumbing".
SaaS is the ultimate level of abstraction. With SaaS, the entire application or service is delivered over the web through a browser and or via an API. In this service model, the consumer only needs to focus on administering users to the system.
SaaS is very common for non-core competency type applications like customer relationship management (CRM), human resources applications, and financial and accounting applications.
Many companies are now going away from the legacy model of shipping software to clients or delivering software internally over the internal network to a SaaS model where the software is available 24 by 7 over the internet.
In this model, software is updated in one place and immediately available to end users as opposed to the old ship and upgrade method of the past.
TRP: What should users consider when determining which is the right cloud service model for their business?
MK: The proper question is what cloud service model is right for the application. Each enterprise should expect to deploy applications and services using all three cloud service models.
Use a hammer to pound nails and a screw driver to turn screws. There are many factors that determine which cloud service model to use.
The first is a build versus buy decision. Should we write the code ourselves or pay for a SaaS solution that provides the functionality on demand? If the service is not a core competency, SaaS is usually a very good alternative to building as long as the service is affordable, mature, and meets the business requirements.
The PaaS vs. IaaS decision typically is determined by the performance and scalability requirements of the application. PaaS solutions have limitations on their ability to achieve very high scale due to the fact that these platforms must provide auto scaling and failover capabilities for all tenants of the platform.