Contrary to popular opinion, cloud computing is by no means a monolithic technology. That’s precisely what makes it so powerful and prolific – if it were only useful in a narrow range of situations, then I doubt it would have gained such widespread acceptance as it has. Unfortunately, the multifaceted nature of cloud computing can actually end up serving as a barrier to adoption if one’s organization doesn’t understand the service models available to them.
Let’s see if we can’t clear the waters a bit.
As a general rule, most every cloud offering fits under one of three primary service models: Infrastructure as a Service (IaaS), Platform as a service (PaaS), or Software as a Service (SaaS). Each of these models serves its own unique purpose. By understanding each one, you’ll be able to make a more informed decision of just what your organization can gain from the cloud – and avoid making any foolish mistakes, in the process.
Infrastructure as a Service
Thought of by many as the core of cloud computing, infrastructure-as-a-service is exactly what it sounds like. In this cloud model, you’re provisioning virtual infrastructure on the cloud to do…well, pretty much whatever you want it to do. Basically, you’re running a virtual private server on the cloud.
Although you don’t control the underlying hardware, you control everything else. With an IaaS service model, you’re managing your applications, data, operating system, runtime, and middleware. You may also control storage systems and have limited control over certain networking components.
Use IaaS When:
- You need to dynamically scale your infrastructure to deal with fluctuating demand (cloud bursting).
- You wish to expand your network, but would rather avoid the logistics involved in doing so (cost/capacity planning).
- You wish to develop and deploy web-scale applications or a PaaS/SaaS implementation.
- You’re looking for easily-accessible, easily-expanded storage platform.
Platform as a Service
Moving up the list, we’ve got Platform as a Service. With this service model, you manage your applications and data while the vendor manages everything else. You’re basically provided with a full operating environment which can be customized with a number of different features provided by the vendor. Arguably, Platform as a Service is the most complex of the three service models.
Use PaaS When:
- You want to test/develop applications but have access to limited resources for doing so.
- You want to establish better collaboration between development teams.
- You’re looking to make the development process more efficient/streamlined.
- You require an easily deployed and scalable hosting solution.
Software as a Service
Software as a Service is the simplest service model of cloud computing, and (not surprisingly) also the most popular. With SaaS, a vendor uses the cloud to deliver an application or a suite of applications whose interface is accessed client-side. Some examples of SaaS include SalesForce, ConCur, and CloudWire.
Use SaaS When:
- You require access to a particular application but don’t want to go through the headache of installing it on all your machines (rapid deployment)
- You want to lower the cost of ownership of your software.
- You’re looking to streamline maintenance and support.
- You need to analyze big data.
Image: Flickr/Jan Kromer