Salut! As the article indicates, the cloud computing
is booming field for Computer Engineers and Scientists. Cloud Computing is
witness of its rapid development of journey from buzzword to ground breaker.
What is actually Cloud Computing? In simple words, it is the combination of
Distributed computing with backbone support of Virtualization. Speaking in
terms of technology, it is mainly composed of three components:
Compute:
Ability to give resources i.e. Memory, Disk Space, CPU Cores; for performing
operations similar to that of physical machines.
Storage:
To give storage capability for storing the large data in form of Object storage
and Block storage.
Network:
To link users among the network to create manual network and assignment of IP
related to user defined networks.
These three things mainly work with each other through API communication. Generally, most of us stuck at how to get
started with Cloud computing as there are lots of Cloud floating around the
Market. Before classification, we have to remember two things; Service and
Source Code. So here are the types of cloud which can be classified mainly as:
• Private
Cloud - Totally accessible only by user i.e. Service and Source Code
• Public
Cloud - Only able to use Services
• Hybrid
Cloud - Having combination of features of Private and Public Cloud
• Community
Cloud - Cloud infrastructure that shares among many organizations.
Examples of Private Cloud:
▪
Eucalyptus, Openstack, Cloudstack, OpenNebula.
Examples of Public Cloud:
▪
Amazon Web Services, Rackspace.
Examples of Hybrid Cloud:
▪
Eucalyptus.
Examples of Community Cloud:
▪
Meghdoot; especially a community cloud by C-DAC.
After this classification, I will prefer to use the Private
cloud as it is having total user control from development to deployment. If
anyone just wants to use services, the better choice will be the AWS (Amazon
Web Service). If you want to make changes according to your taste into the
cloud, you have to use Private Cloud like Eucalyptus, Openstack etc. The
reasons I am supporting to Private Cloud are:
1. User
controlled behaviour i.e. setup number
of machine according to infrastructural capacity.
2. Greatly
economic.
3. If
open source in nature, gives flexibility to develop according to devloper
choice.
4. If
used in an organization, user gets protection behind the firewall of that
organization to their data.
5. Deploy
your code in your own infrastructures.
For examples of private cloud, we are going to see
IaaS based
Cloud examples. As it is not possible to explain in depth about each cloud, I
will take overview of them on the basis of:
*
Foundation
*
Components
*
Developed in Programming Language It will help
you get the things easily to move ahead.
A) Openstack:
In today’s world, leading private cloud
service provider is the Openstack. Keeping pace of consistent and regular
interval releases strategy, Openstack has now become rapidly developed cloud in
short span of time. This cloud has been founded by joint venture of NASA and
Rackspace to give a solid foundation of Private Cloud. After release of this,
Openstack has attracted developers around the world due to which it has
established significance of modular and collaborative development among IT
companies. Among list of contributors for Openstack, following are topmost
companies:
- Ubuntu
- HP
- Intel
- AT&T
- Redhat
etc.
Following is the list of not full but
the main components of the Openstack:
Component
|
Codename
|
Programming
Language
|
Compute
|
Nova
|
Python
|
Object
Storage
|
Swift
|
Block
Storage
|
Cinder
|
Networking
|
Neutron
|
Orchestration
|
Heat
|
Image
Management
|
Glance
|
Identity
Access Management
|
Keystone
|
Dashboard
|
Horizon
|
B) Eucalyptus:
I am putting Eucalyptus at number 2nd
considering total number of people involved around the world. It stands for Elastic Utility Computing Architecture Linking Your Platforms To Useful Systems. It has been founded by
University of California, Santa Barbara. The primary goal behind building of
Eucalyptus was Amazon Web Services API compatibility. At the time of writing
this article, Eucalyptus has reached to the version 4.1.0 with its features.
Eucalyptus Inc. has recently acquired by HP Pvt Ltd. Now it belongs to HP.
Compared to Openstack, Eucalyptus is not heavily targeted
by industry people. Rather, it has good rate of growth in Academic area.
So the list of components for
Eucalyptus is:
Component
|
Codename
|
Programming
Language
|
Compute
|
Node
Controller (NC)
|
C
|
Networking
|
Cluster
Controller (CC)
|
Orchestration
|
Cloud
Controller (CLC)
|
Java
|
Image
Management
|
Identity Access Management
|
Object
Storage
|
Walrus
(W)
|
Block
Storage
|
Storage
Controller (SC)
|
User & Admin Dashboard
|
Admin
& User Consoles
|
Python
|
C) Cloudstack:
I am putting Cloudstack at number 3rd as it is
very less used by academician as well as industry. It has originally founded by
Citrix Pvt Ltd. After creation, Citrix has tied up with Apache and launched its
open source version known as Apache Cloudstack.
If you just want service, you can go to Citrix website and buy their
service.
The list of components for Cloudstack
is:
Component
|
Codename
|
Programming
Language
|
Compute
|
CloudStack
agent
|
Java
|
Networking
|
CloudStack management server
|
Orchestration
|
Image
Management
|
Identity
Access Management
|
Object
Storage
|
Block
Storage
|
User
& Admin Dashboard
|
After the review of Private Clouds, we will now move
towards important part of the article. Career opportunities related to the
Private Cloud. Currently, these are the job profiles active in Cloud area of
industry:
- Cloud
Administrator: Needs to configure Cloud and admin relate stuff. Provide answers
to user queries in the organization.
- Cloud
Architect: To design architecture of
Cloud according to Customer, organizations including scalability, reliability
and flexibility.
- Cloud
Solutions Engineer: To provide solutions
to user queries; to provide documentation, solutions to that of designs of
Cloud architecture either existing or under development.
- Cloud
Software Engineer: To develop products using analytical tools like Hadoop,
HBase; to design and implement cloud related algorithms; design UI for these
services
- User
Solution: To support user by solving
problems through remote help.
The sooner you will start contributing to Cloud Development
area; greater will be the job opportunities for you. Now days, open source
contribution prefers more to that of any certifications.
So, I believe you are now thrilled to get started with
Private Cloud and build your own cloud!!
Remember, these keys to remember to get started with IaaS
based Cloud Private Cloud:
1. Every
communication is worked through API in Cloud.
2. Each
IaaS cloud basic requirement is Compute, Network and Storage.
3. To
learn any cloud, you must be clear with basics of following things:
- Distributed
Computing
- Virtualization
- Programming
Language (if wanted to get started as Developer)
You can start here to understand basic fundamentals:
I have mentioned following resources for studying
clouds mentioned above.
Spasibo.
Resources:
1.
Openstack:
*
https://docs.openstack.org/
For code:
https://wiki.openstack.org/wiki/Getting_The_Code
2. Eucalyptus:
For code:
https://github.com/Corymbia/eucalyptus
3. Cloudstack:
*
http://docs.cloudstack.apache.org/
Download:
https://cloudstack.apache.org/downloads.html
For code:
http://www.apache.org/dyn/closer.lua/cloudstack/releases/4.11.2.0/apache-cloudstack-4.11.2.0-src.tar.bz2