Fundamentals of Cloud Computing
We all have come across the term Cloud Computing and have seen or interacted with the features of Cloud at one time or the other.
Cloud Computing in its core is on-demand delivery of resources to a customer via internet. Cloud provides a vast set of features, and those features will have their subset of features.
Cloud provides features such as Storage, Computational Power, Networking, Database and many more. The idea behind cloud is Reusability. Cloud providers reuse the underlying hardware for their users.
I mentioned before that we all have used Cloud Services in one form or another. Gmail one of the leading Email Service Provider runs on Cloud, YouTube runs on Cloud, Facebook runs on Cloud. Any application you see on the internet has a 99.99% chance that it is running on Cloud.
There are three types of traditional Cloud Services:
1. IaaS
2. PaaS
3. SaaS
IaaS
Information as a Service or commonly called IaaS, is providing where you the user is given a Virtualized Environment. In this case the user doesn’t have to worry about the underlying hardware or physical security. IaaS provides same feature as an on-premise machine.
The Virtualized Environment is run on the Cloud Provider’s Datacenter.
Now the eminent question that arises is in what scenario will you use IaaS offering?
Let me answer this with a scenario, consider you are a Service Provider, you have created a product that users can access via internet.
For this you need to have your own Server, an average Server is 2500$, After getting the server you want to layout your Networking, that will cost you around 1000$.
After you set up your Server you need to allocate a different room along with Air Conditioning 24x7, which will cost you 200$.
After you complete set up your server, the setup cost and maintenance will be more than your income.
And if you plan to upgrade your hardware, you need to buy more. We call this type of expenditure Capex.
Also what happens if your Service isn’t require anymore, you lose a ton of money.
In cloud, with a few clicks and customization you can spin up your server with minimum cost and can scale up or down depending upon your requirement.
PaaS
Platform as a Service also known as PaaS, here Cloud provides you with a platform where you you can develop and test your application.
Cloud service provider takes care of your Hardware and Operating System.
A good example of PaaS is Heroku. It provides a platform to host your Django Website, without taking care of setting up the virtual machine and configuring the webserver.
Now why will you choose PaaS?
Not every developer is sound with server management, PaaS offers an opportunity where they let the developers focus on developing their application and the Cloud service provider will take care of hosting and managing it.
An important thing to note is, PaaS is built on IaaS.
SaaS
Software as a Service also known as SaaS, is a special offering where it is a combination of IaaS and PaaS. Here the Cloud service provider offers you their service using subscriptions.
SaaS let’s user access their service in exchange of Monthly/Quarterly/Yearly based Subscription.
A good example of SaaS is G-Suite and Dropbox.
In the next post, we will be looking at more terms that are involved with Cloud Computing and latter will take a deeper look at each Cloud service offering.