Let us take a trip to the cloud basics.
We are in the era of the cloud. Most of what we do today involves the web, you might have heard of the term software as a Service (SaaS). You might not be familiar with the term, but I’m sure as hell that you have used them. Yes! if you are reading this post, you are using Software as a Service. Indeed,facebook is SaaS. SaaS is only one of the 3 service models that composes the cloud
The cloud is composed of 3 service models as defined by the National Institute of Standards and Technology (NIST). SaaS, PaaS (Platform as a Service ) and IaaS (Infrastructure as a service).
Just as you use a computer to solve your machine problems, you can think of the cloud’s service modles as a Computer.
Your Machine Problem ——————————
Main Program (a.out) ——————————
Development Platform (C++/Java IDE)——————- PaaS
OS & hardware (linux, 32bit/64bit machine) ———– IaaS
Platform as a Service is very much like your development environment (IDE), with your IDE you can compile and create programs. With PaaS you can create and deploy Programs. Take note that your programs can run without your IDE, same is true with the PaaS, However usage of the PaaS can greatly simply and hasten your deployment time. It is your IDE on the web. Famous PaaS includes Google App Engine and Heruko.
Now we go IaaS, This is very much like your computer and deployment platform but again its on the web. Iaas is broken down into 3 tiers
First tier is your Operating System and Server instances in the cloud, These are very much like your physical computer, It has memory, processor(s) and operating system. You connect to your computer remotely. most widely used applications to connect to your computer are putty and window’s Remote Desktop. Examples are Amazon Web Services (AWS) EC2 and Rackspace Cloud.
Now the second tier provides components that still can be found in your physical machine these are your networking and storage devices. Examples are AWS S3, AWS EBS, Rackspace cloudfiles, AWS ELB.
The third tier involves the use of 3rd party softwares that your application is depending on. Again these 3rd party softwares are in the deployed on the web. Examples are AWS RDS and AWS SimpleDB for your database requirements, AWS SNS for notification requirements, MailChimp for your mail requirements.
IaaS is very exciting, gone were the days that you have to go to the store to buy your computer pheriperals for your storage. If you need more disk space you can create one on the fly, If you want more machines you can create one on the fly, You need more powerful computers you can create one on the fly, These scenarios are called “scaling up” to a better machine specifications and “scaling out” for more machines.
“Uhmm I need a computer with windows 7 installed “, no problem. We will create one on the fly.
“Scratch that, I want linux instead” no problem, let’s destroy your old machine and get you a new one.
“My computer is failing, I need backups of everything”, no problem let’s create a clone of your machine.
These are a few scenarios that you can benefit when using IaaS.