Hello Dear Readers
I had recently started working on Openstack and thought of sharing what ever I learn with you guys. This will be a 3 part tutorial. First part will introduce you to Cloud Computing and Openstack. In 2nd part we will go through the major components of Openstack and in 3rd part, we will discuss different scenarios in which we can implement Openstack. I will also post on How to implement these scenarios but in later tutorials. Lets begin with what is Cloud Computing…
What is Cloud Computing?
In general Cloud computing means storing and accessing data, programs services over the Internet instead of your local computer’s hard drive
The services can be
A Complete Infrastructure, Lets say your university wants to introduce a new department as an experiment, for that the IT section of University has to create a whole new infrastructure that might include buying new computers and network equipments such as switches and routers and what not, The simple way can be to deploy a virtualized infrastructure, Rather than actually purchasing the equipment, they can create a virtual infrastructure on a single server hence saving the cost of buy brand new stuff.
Storage, A good example of this is Dropbox, Google drive and many others
Office Automation Software like Google DOCs and Microsoft Office 360
Cloud Computing Services
IaaS (Infrastructure as a Service)
As I have explained above, IaaS means to put a complete infrastructure on the Internet e.g. Virtual Machines, Servers, Storage, Load Balancers, Networks etc, You don’t actually need to buy actual hardware, Service can be acquired when required and then later discarded hence IaaS put the all of your infrastructure into a (virtually) single PC.
SaaS (Software as a Service)
Email is one of the most popular examples of SaaS, other can be Virtual Desktops for example those provided for Android Mobiles, I don’t know any for iPhone, Play heavy graphics card hungry Games on your cheap laptop :p and many Communication services.
PaaS (Plateform as a Service)
Certain companies provide you a complete readymade virtualized platform for your need such as for Execution Runtime, Web Servers, Database, Development Tools, one such example currently in my mind is godaddy.com that provide PaaS
What is Openstack
Openstack is a Free and opensource Cloud Software Stack, I am saying software stack because its Modular made up of many components (Major components will be describe later) and every component is responsible for a specific task. For its deployment you don’t actually need special Servers, you can deploy it on your Home PC (provided you have the right specs and if you want to take it for a spin) or you can combine multiple PCs to make an Openstack cluster (I will be showing you how to do that in later tutorials)
Openstack provides you with the best, Free and opensource alternative to closed and expensive cloud environment hence reducing the risks of lock-in associated with proprietary platforms.
A little bit about the history of Openstack, It was developed by NASA which provided the compute Module Named Nova (even by name you can guess its by NASA) which at that time had most of the component put inside in Nova for example Networking and storage too I guess and Rackspace which were working on swift and glance (described later), after their marriage the first version was release in 2010, It has a release cycle of every six months. Current stable version Icehouse and the time I am writing this tutorial the Juno RC1 has been released.
You can command different components/services of Openstack through their APIs (which I will be showing in later tutorials). All service talk to each other through RabbitMQ queuing system, A service puts its message on the queue and the concern service then pulls the message out of the queue and performs its action and then puts the result back on the queue and then issues a notification to the service.
All Services authenticate through a common source called keystone, openstack’s main Authentication and Authorization module (described later)
Almost forgot, Scheduler, The component for resource allocation, Its has the information of all the resources and when a request is made for a certain resource, It’s the component that allocates it.
Next Part we will Cover the major Components of Openstack. Click here to Continue