Who provides us with cloud?

In the previous post, we mentioned about cloud service providers. These providers are people/companies who build data centers and then allow us to use them. The service provided by them can be grouped in three models, namely:

a.) IaaS – Infrastructure as a service

b.) PaaS – Platform as a service

c.) SaaS – Software as a service

We’ll refer to the below image for understanding three of them:

A traditional IT company will need services like networking, storage, servers etc for business. The above shows the typical IT stack. Under the three service models, you can see, blue portion is the one we, users, manage and gray is the one provided to us by the service providers.

If you are a developer like me and get messed up with so much of hardware, cables getting lose, network going unavailable frequently, disk creating problem, you’ll find this post very helpful. To resolve these problems, someone thought of a solution in 2006 that let’s first clear the mess and take all the hardware in one room and keep it there. Label this room as data center. Let’s recruit one person for handling all the hardware in this room and here it goes, my burden is reduced. Infrastructure service is delivered to me by this person. All I worry about now is, my OS and development stuff. But let’s say disk corruption is happening frequently, and every time you are installing OS. So, wouldn’t it be better, after any infrastructure fix, certain things be always there on your disk? Like Windows or Linux? This is where PaaS comes. Let’s go further and understand a bit more about them.

IaaS: As the name suggests, in this model, the provider provides us with the infrastructure. And we do whatever we want to do with that. Install whatever OS we want on our machine, install which applications we want, store the data we like etc.

 

 It’s like this ie. data center delivered to your place. Let’s say you want a windows machine not with you, but on cloud, get it as IaaS from some provider. This is generally called heavy weight lifting i.e. providers do all the stuff that everyone does and users handle all the stuff
 on top of that which differentiates them from competitors. (Obviously, how does plugging a  networking cable will differentiate you from others :p).

 

 

 PaaS: Platform as a service. As can be seen in the above stack, users manage application and data in this model. The platform is provided to us by the provider. Recall what happens in any exam. You are given answer booklet to fill in, a set of questions, let’s assume you are even provided with all the stationery. Now you are supposed to write answers and fill in the booklet. Exactly same is the scenarios with PaaS. Talking in terms of actual service now (not any real life example I mean), the server or cloud maybe providing you with some storage capabilities like databases. You have large amount of data to store inside it. You just feed in the data, create your own schemas. Configuring the database, managing the load etc will all be done by the service provider.

SaaS: This refers to Software as a service. Nothing is managed by the users here. I’ll straight jump to the example. What is Gmail? Its an email application, deployed somewhere on the server (you don’t have any idea where unless you are a google employee :p), you cannot update it, you cannot change it. You cannot see the users’ data stored in the database. You can just login, check your mails, send, reply forward some and can configure some limited things (password, spams etc). But majorly, nothing is managed by the users. That’s just a service which we use.

AWS is a PaaS and IaaS service provider. Some other kind of services may also fall in more than one category.

I hope the above makes sense. Feel free to ask any doubts.

See you in the next post 🙂