There are many different types of cloud services available, and understanding how they differ in order to find the right one for your app business isn’t getting any easier. It seems every month there’s a new provider of services (using a new “_aaS” acronym) making the alphabet soup almost impossible to follow.
The purpose of this blog is to provide an overview of the cloud services space and to help mobile developers find the right entry point to get involved. In my next post, I’m going to highlight the new BaaS (Backend as a Service) segment, because I believe this segment has the most immediate value to mobile developers, especially small entrepreneurial mobile development shops and SMEs looking to move their online presence to mobile.
But first, an overview of the cloud services space. Traditionally, cloud services can be broken into 3 main categories:
- Software as a Service (SaaS): These services provide you with the whole nine yards. When you sign up with a SaaS provider, you’re getting everything you need from soup to nuts—including the application itself. A good example of this is Salesforce.com. You use their CRM application on their servers, and they handle storage, security, scalability, and everything else. You just use the service. There isn’t really any significant development on your part. Some other SaaS examples include Adobe Creative Cloud, Dropbox, Evernote, SAP and Workday Inc.
- Platform as a Service (PaaS): These services provide you with everything but the application and the data. Think of it like the Salesforce.com example above, but you have your own CRM application and you just want someone to host it for you in the cloud, manage access and distribution, virtualization, middleware and OS upgrades, scalability, etc. All you have to worry about is your app and its data. So, if your app has or needs an update, you’re on the hook for that. Everything else is handled by the PaaS provider. Some PaaS vendors include CloudBees, redhat OpenShift, AppFog, cloudControl, Heroku, Engine Yard and Google App Engine.
- Infrastructure as a Service (IaaS): These services are the most basic, but don’t confuse basic with low value. According to Gartner, IaaS is expected to be the fastest growing segment by a significant margin for the next five years. When you use an IaaS, you’re providing your own app and data (like in PaaS), but you’re also responsible for managing the app’s runtime, middleware and databases, and virtualized infrastructure. IaaS is a great solution when all you really need is someone to handle scalability and storage on a big scale. Some IaaS vendors include Amazon EC2, HP Cloud IaaS, OpenStack, Rackspace Cloud and Windows Azure.
The diagram below helps to illustrate how these services differ with respect to who is responsible for managing which part of your software and hardware stack. I’ve included “Non-Cloud” as well for comparison. In this case, of course, you’re managing everything yourself.
In my next post, I’ll introduce the cloud segment known as Backend as a Service (BaaS) and discuss how it can benefit your app business. In the meantime, let us know what type of cloud-based services you use in the comments below!