Cloud Buzz: IaaS, PaaS, SaaS

Enough hype! Lets clear the air.

I am going to try and provide simple analogies that will hopefully help you make sense of the terminologies associated with Cloud technologies and make them ‘stick’.

The Cloud my friends, is nothing but the Internet. Different vendors  set up the Infrastructure, Platform and Software and make them available to us from remote locations over the Internet so that we as consumers do not have to go through the process of installing all these on our own machines. All we need to do is
 
 

  • Hook up to the Internet
  • Start using the vendor specific services (for some of the services, one might need to register, log on etc etc.)
  • Think Gmail !

Cloud Model

Generally speaking, the Cloud model is based upon 3 different layers/stacks

  • Infrastructure As A Service (IaaS) – Deals with hardware/basic infrastructure
  • Platform As A Service (PaaS) – Facilitates tooling support required for development and deployment of ‘cloud’ based applications
  • Software As A Service (SaaS) – A ready-to-consume’application’ available on-demand

cloudcomputestackimage1

My very own definition of the Cloud (not perfect.. but I tried !)

“The Cloud is composed of computing layers which are ‘inter dependent’ modules which support the notion of delivering software as an on-demand service (SaaS) which is propelled by rapid development+deployment services rendered by the PaaS layer which in turn feeds upon the IaaS layer to provide the basic infrastructure services such as virtualization, servers, network, storage, scalability etc”

Dissecting the Cloud

Infrastructure As A Service (IaaS)

Think of IaaS as Your Laptop/Desktop!

It has the following components

  • Storage (hard disk)
  • Networking capabilities (network card)
  • Operating System (Windows, Linux, MacOSX… whatever)

A laptop provides basic ‘computing infrastructure’ to its consumer. IaaS setup operates on similar lines:

  • Provides ‘resources’ as an on-demand service
  • What kind of resources? Servers, storage, network and underlying operating system
  • IaaS is meant for multiple users who leverage a single piece of hardware.
  • Just like you can enhance the computing capacity of your laptop/desktop (by adding more RAM, additional physical storage etc) an IaaS setup can also be scaled to meet the demands of the consumers.
  • Companies want to concentrate more on their core business and services rather than go through the hassles of setting up huge data centers and maintain them! IaaS to the rescue. . . . 

Examples

I have to mention Amazon EC2 !

Platform As A Service (PaaS)

What do you need in order to ‘develop’ applications using your laptop/desktop? e.g. Java EE web applications

You need a basic ‘platform’ to be able to perform your activities

  • IDE (Eclipse, NetBeans etc)
  • Java EE runtime i.e. a Java EE Application Server
  • A Database for persistence (Oracle DB etc)

This is not an exhaustive list, but I hope you get the idea. Now the important analogy – PaaS itself is not very different from this

A PaaS vendor/provider

  • Delivers ‘software creation/deployment platform’ over the web
  • Provides a homogeneous environment and tools to support the entire software development cycle from development to testing, hosting as well as maintaining applications
  • Abstracts the underlying complexities from the end user by exposing interactive web interfaces and even CLI tools
  • Based on Multi-Tenant architecture wherein multiple users make use of the platform concurrently with each user having a unique working environment of his own

Examples

Software As A Service (SaaS)

Well up until now, you got a super cool computing machine (your infrastructure), you are armed with the latest development tools (your platform). What do you do? Build and deliver awesome software ! What else?

So you have made that dream web app. Now you want to be rich? Of course…. What would you do in order to deliver your awesome web application from your laptop to consumers over the Internet?

  • Sign up fora domain
  • Configure your web/front end servers
  • Publish you app!
  • You need to be careful about up time and availability of you application though.
  • Check on your machine, servers etc

SaaS makes this a breeze (for a consumer and a developer.

  • Consuming on demand services over the Internet – as an end user
  • No hassles of installing software on your systems, servers – get online.. that’s it!
  • Forget about patching and upgrading your software – that is a major relief!
  • Delivering software solutions over the Internet – from a developer perspective
  • Builds on the services delivered by the IaaS layers and sometimes the PaaS layer (depending upon whether or not the software is actually developed on the cloud)
  • SaaS vendors come up with Web APIs for other applications and systems to be able to integrate seamlessly — think REST APIs

Examples

Let me make this easy on myself…. Salesforce . . . One of the biggest players in the SaaS arena. Enough said!

Alright then. I hope you have a reasonable idea of what the Cloud is…. This by no means was supposed to be a whitepaper on Cloud Computing or something. Just enough for you to get an idea and start digging deeper!

Until next time. . . Happy Reading! Happy Exploring!

Reference: Cloud Buzz: IaaS, PaaS, SaaS from our JCG partner Abhishek Gupta at the Object Oriented.. blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

Leave a Reply


9 − four =



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close