Cloud computing continues to shape up as the way of the future for industries looking to have scalable, reliable, and cost effective methods technical solutions for their business. With Cloud Computing spending expected to grow at least 6x more than IT Spending through 2020 (Forbes), it’s important to know the common cloud service models out there that you may choose from.

There are essentially three main models:

  • Software as a Service (SaaS)
  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)

The main difference in these models is how much of the IT stack the vendor will manage versus how much the customer will manage.

<p align="center"> <img src="" width=90% /> </p> <p align="center"> <i>Source: Microsoft</i> </p>

Software as a Service (SaaS)

The entire IT stack is managed by the vendor so there is no need for an internal IT team to manage and support it. This is appealing to small firms that don’t have a large dedicated IT team. The only thing you would do is just have your end users use the internet hosted application, typically through a web browser client.

Additionally, their costs are low and predictable as they tend to be charged on a monthly basis per user. This makes SaaS applications advantageous as you can more accurately manage your IT budget.

Some disadvantages of these are that you typically have little to no control the applications in terms of customization or privacy. You will be fully dependent on the vendor to add enhancements or fixes that help your end users. Additionally, the vendor may hold some of your data which may violate your firm’s internal compliance and data policies.

Due to the ease of use and controlled costs, the 2017 State of the SaaS-Powered Workplace reports that companies are investing heavily in SaaS applications. Today’s firms are using 16 SaaS applications on average, up 33% from 2016.

Common SaaS Applications

  • Microsoft Office 365
  • Salesforce
  • Google G Suite

Infrastructure as a Service (IaaS)

The most flexible of the cloud service models, the Infrastructure as a Service model essentially allows major vendors to host your infrastructure but allow you to manage them just as you would your own on-premise data center. The vendor would ensure the servers are always online with the latest and most powerful infrastructure and networking technologies, but you would handle the maintenance, patching, and support of the OS, middleware, and application layers.

One common use of IaaS is a hybrid model where a firm will host their application on their on-premise servers during normal load of their application but then leverage public IaaS when load scales up. For example, a Black Friday sale may bring in 400% more users to your website for a short period of time. You need the compute capacity to handle this increased traffic so you can sale your products. In the old on-premise solution, you would own and maintain enough servers, storage, and network to handle the maximum load you anticipate during the year. Thus, you’d own and pay for servers all year long but only need them for a few days during the Black Friday sale. IaaS allows you to maintain enough servers for your normal load during the year, but scale up during the Black Friday sale and leverage servers of an IaaS provider during the Black Friday sale. You’d only pay for the few days you needed those servers which results in significant IT cost savings.

Some disadvantages of IaaS is that it still may not be a cost effective solution because you still are responsible to managing most of the IT stack. Also, the usage costs can be unpredictable as easy scaling of infrastructure can also mean higher than expected costs. There could also be additional skills and training you need to invest in your IT team to manage the cloud-based infrastructure.

Common IaaS Vendors

  • Google Cloud Platform
  • AWS Elastic Compute Cloud (EC2)
  • Microsoft Azure
  • RedHat OpenStack

Platform as a Service (PaaS)

The Platform as a Service cloud model is similar to IaaS but gives even more layers from the IT stack to the vendor to manage. It’s primary advantage is to provide an area where a developer can quickly deploy their application/data in a virtual environment that is adapted to your particular application needs. While similar to IaaS, it also takes away the need to manage the OS and middleware while adding numerous developer services such as access to code libraries, app components, and other help.

For instance, Google App Engine provides everything you need to deploy applications written in Node.js, Java, Ruby, C#, Go, Python, and PHP. Microsoft Azure does the same for applications developed in .NET, .NET Core, Java, Ruby, Node.js, PHP, and Python.

Some disadvantages of PaaS is that is could increase your chance of lock-in to a particular vendor or language. Additionally, it may increase the complexity of trying to integrate your PaaS application with data/applications that may be hosted on-premise which is a natural function most firms will do.

Common PaaS Vendors

  • Google App Engine
  • AWS Elastic Beanstalk
  • Microsoft Azure PaaS Services
  • RedHat OpenShift

Your firm may have multiple needs that each of the above cloud service model may fit. For instance, you may decide that new user-facing applications will be best suited for PaaS while some of your backend services will be best suited for IaaS. Additionally, adding some SaaS like Google G Suite may be a cost effective way to provide your workforce some collaboration and productivity applications. Think about what your firm needs and then decide which model works best for your particular use case.