Demystifying SaaS, PaaS and IaaS

March 23, 2011 | by  | Blog

Cloud computing can be broken down into roughly three categories. Many of us use simple cloud services on a daily basis without even realizing it, while enterprise customers utilize the cloud to host their entire infrastructure. Some cloud platforms offer a mix of proprietary development and applications, while others are simply subscription-based services. To designate these different forms of cloud computing, three terms have arisen, Saas, Paas and Iaas. These stand for Software-as-a-Service, Platform-as-a-Service and Infrastructure-as-a-service, respectively. These terms, while they may seem confusing, can be found in the most popular services used by every day people.

Software as a Service is the most basic form of cloud computing. There is no third-party development or resources for the user, but Saas applications can offer powerful tools right from your web browser. The best example of Saas is Google Docs. Google Docs is a productivity-suite that is free for anyone to use. Creating a Google account is free, and all you have to do is login to google.com/docs and you instantly have access to a powerful word processor, spreadsheet application and presentation creator. These online services provided by Google are managed directly from the web browser and require zero installation. You can access your Google Docs from any computer or mobile device with a web browser.

Google Docs, Dropbox, Box.net, Salesforce.com and Freshbooks are all applications that qualify as Saas. All of these applications are either free to use, or offer more features at a paid subscription price. Another advantage of Saas applications is the ability to collaborate with others cheaply and from any location. If a company is seeking to customize a cloud service or create its own cloud applications, this will require the next step in cloud services known as Paas.

The second segment of cloud services is known as Iaas, or “Infrastructure as a Service.” This is the most comprehensive cloud platform and is mainly used by full time developers or large-scale enterprise customers. While Saas allows usage of cloud apps, and Paas allows you to develop apps, Iaas gives you infrastructure for developing, running and storing your apps in cloud environments. The benefit of Iaas is the virtually limitless storage and computing power available to the developers without having any physical hardware on-site.

Amazon EC2 is good example of Iaas. From the smallest application to full-scale websites, EC2 provides commodity cloud infrastructure to run them all. Users have the flexibility to develop using a variety of tools,, from Ruby on Rails to MySQL and can choose from several Linux or Windows environments. Applications can be run on various virtual machine configurations and delivered to clients seamlessly.  However, Amazon does require sophisticated application development skills and does not enable users to quickly get up and running without advanced technical know-how.

A different example, Skytap, actually combines the simplicity of a Software as a service application with the ability of scaling to a complete Infrastructure as a Service. Existing data centers can be integrated into the cloud, making migration of assets and data quick and easy. Virtual machines and existing applications can be run natively or through the cloud service. Skytap also offers a library of pre-made cloud applications, including virtual machine images of major operating systems. As a SaaS+Iaas provider, Skytap allows users to leverage existing technologies and applications, migrate them to the cloud, and provide open development environments for custom app creation as well.  Solutions such Skytap offer both the simplicity of a self-service, point and click web UI plus elastic compute power rendering ease of use and robust cloud computing living in harmony.

The third segment of cloud services, Platform as a Service, provides developers with proprietary API’s to make an application that will run in a specific environment. While a developer is free to create any application they wish, the app is locked to the platform used for its creation. This method of developing applications can be low cost (through some providers, even free) and allows you to leverage the infrastructure and tools of an already established cloud company for building or migrating your existing applications. This also gives you the ability to quickly make your app available to a wide audience.

One of the simpler examples of Paas is Facebook. Developers can create specific applications for the Facebook platform using proprietary API’s and make that app available to any Facebook user. Some applications integrate a user’s Twitter and Facebook account, others like Planning Center Online, integrate a database and schedule creation tool with a Facebook profile, specifically the “Events” section of a user’s account.  The downside to Paas is whatever platform you choose to develop in, you can only use the tools and languages they provide. Plus the granularity of operation may be limited to what the API exposes; you may not get machine level control and flexibility. Most Paas providers do support a wide variety of tools and languages for development.

By using a cloud solution businesses can create cloud applications and environments that integrate with their current data centers, or lower their total cost by moving completely to the cloud. Depending on the solution, Virtual servers and instances can be started and stopped within minutes, storage is basically unlimited, and new applications can be developed using your choice of tools and languages.

Saas, Paas and Iaas are all based on the same premise: developing and using applications in the cloud. Many cloud solutions that fit into these categories provide simple usage based pricing models. With the numerous cloud offerings available now, such as Salesforce, Google Apps, Skytap, Amazon, Citrix, Azure and more, businesses have plenty of choice when finding the ideal cloud solution. Rather than jumping to any particular cloud provider, make sure you can easily move your apps to the cloud or create new apps in the cloud easily. You should identify a business need and your requirements for success. Make sure your cloud provider allows you to test-drive the solution and then you can easily begin your journey to the cloud.

 

2 Comments

  1. backlinks says:

    This is very interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your website in my social networks!

  2. I really appreciate your post and you explain each and every point very well.Thanks for sharing this information.And I’ll love to read your next post too.

Leave a Reply