Sunday, 2 February 2014

DevStack Installation for beginners !

Introduction to DevStack:

DevStack :  An OpenStack program created by Rackspace Cloud Builders.

OpenStack, a cloud-computing project, aims to provide the open source cloud computing platform for public and private clouds. OpenStack project is provided under the Apache 2.0 license. Openstack.org is powered by Rackspace Cloud Computing. The  DevStack is the best way to get started with OpenStack. Because OpenStack setup and configurations are damn complicated ! 



For those wanting to set up a flexible dev/test environment that can support multiple networking modes and have multiple deployment options, DevStack is the better choice. It has a higher skill requirement, but in the process of installing and deploying with DevStack, you’ll learn how OpenStack daemons work and gain knowledge on how to customize the deployment. DevStack is better at preparing OpenStack installers for building and managing OpenStack Clouds with varying configurations.

Step 1 :Select a Linux Distribution
Only Ubuntu 12.04 (Precise), Fedora 20 and CentOS/RHEL 6.5 are recommended . OpenStack also runs on other flavors of Linux such as OpenSUSE and Debian.

Step 2 :Install Selected OS
In order to correctly install all the dependencies, we assume a specific minimal version of the supported distributions to make it as easy as possible. We recommend using a minimal install of Ubuntu or Fedora server in a VM.

apt-get update || yum update -y
apt-get install -qqy git || yum install -y git

Step 3: Download DevStack

git clone https://github.com/openstack-dev/devstack.git

Step 4: Configure  and Set up your localrc file:

While optional, we recommend a minimal configuration be set up as you may not want our default values for everything.

The localrc file is configuration file that the devstack script uses. If  this file is not available in package, then create your own localrc file. Here is the sample localrc file

ubuntu:/opt/devstack# cat localrc
DATABASE_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_TOKEN=password
SERVICE_PASSWORD=password
ADMIN_PASSWORD=password
FLOATING_RANGE=192.168.10.0/27
FLAT_INTERFACE=eth0
LOGFILE=/home/stack/stack.sh.log
Q_FLOATING_ALLOCATION_POOL=start=192.168.10.10,end=192.168.10.20
PUBLIC_NETWORK_GATEWAY=192.168.10.1

disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service neutron
# Optional, to enable tempest configuration as part of devstack
enable_service tempest
 ---------------------------------------------------------------------------------------------
Step 5: Switch to Havana Branch:

root@ubuntu:/opt/devstack# git checkout stable/havana
Branch stable/havana set up to track remote branch stable/havana from origin.
Switched to a new branch 'stable/havana'
root@ubuntu:/opt/devstack#

------------------------------------------------------------------
Step 6:Start the install

cd devstack; ./stack.sh

.
.
.
.
.
.
Horizon is now available at http://9.124.45.203/                         
Keystone is serving at http://9.124.45.203:5000/v2.0/
Examples on using novaclient command line is in exercise.sh
The default users are: admin and demo       ================>Login User
The password: password
This is your host ip: 9.124.45.203
stack.sh completed in 375 seconds.
stack@ubuntu:/opt/devstack$


It takes  30 minutes to an hour for complete installation-   depending on your network speed. Please check the logs for any failures.Make a note of URL  and user details to login to Horizon Dashboard as shown above.
-------------------------------------------------------------
Step 7: Now  you need to set the openStack variables  like OS_USERNAME, OS_PASSWORD etc

                      source .openrc
---------------------------------------------------------------
Step 8:  Check basic  nova commands  form CLI

Sunday, 26 January 2014

Colud Computing and Services !

 What is Cloud  Computing?

Cloud Computing is a modern computing paradigm that delivers resources such as processing, storage, network and software - are abstractions that are provided as services over the Internet in a remotely accessible fashion

Cloud Computing is receiving the great deal of attention from individuals at home, universities, government  and Private organizations.Cloud Computing is subscription-based service where you can obtain networked storage space and other computer resources.One way to think of  Cloud  Computing is to consider your E-mail client [Yahoo,Gmail,]where your E-mails are not housed on physical computer at home. You access it through an internet connection from remote Mail server. An E-mail client is similar to how cloud Computing works.Now you just got an idea - So the cloud makes it possible for you to access your information from anywhere at any time.The cloud removes the need for you to be in the same physical location as the hardware that stores your data. Your cloud provider can both own and house the hardware and software necessary to run your home or business applications.

This is especially helpful for business that cannot afford the same amount of hardware and storage space as a bigger company. Small companies can store their information in the cloud, removing the cost of purchasing and storing memory devices.Here you will only need to buy the amount of storage space you will use and a business can purchase more space as their business grows  OR reduce their subscription as they find they need less storage space.

Another benefit is that you can access the same document from wherever you are with any device [desktop, laptop, tablet, or phone] that can access the internet.Hence, the  only requirement is that you need to have an internet connection in order to access the cloud.

Users can access cloud applications using web browsers, thin client machines or mobile devices, while all  the data and software is stored in servers at a remote location, which are also used to perform all  workload processing.It is believed that cloud computing allows business and enterprises to function  more efficiently since it offloads management and maintenance tasks, thereby making computing a service rather than a product. The sharing of resources is also expected to reduce idle-time of machines and increase their productivity.

Due to the shift from computing being a resource to a utility, cloud computing introduces billing models that are based on time and utilities. On-demand availability, ease of provisioning, dynamic  and virtually infinite scalability are some of the key attributes of cloud computing.

Services within the cloud are typically provided under the following three catogories:

1) Infrastructure as a Service (IaaS): - An IaaS agreement , as the name states, deals primarily with Computational infrastructure and the most basic cloud service model under which virtual machines, raw block storage, firewalls, load balancers and networking services are provided. In IaaS agreement, the subscriber completely outsources the storage and resources, such as hardware and software, that they need.

2) Platform as a Service (PaaS):- A PaaS system goes a level above the Software as a Service setup. A PaaS provider give subscribers access to the components that they require to develop and operate applications over the internet.In this model, a computing platform or solution stack including operating system, programming language execution environment, database and web server are typically provided.

3) Software as a Service (SaaS): - A SaaS provider gives subscriber access to both resources and applications. SaaS makes it easier to have the same software on all your devices at once by accessing it on the cloud. In a SaaS agreement, you have the least control over the cloud. Within the SaaS model, cloud providers  install and operate application software in the cloud, which users access using cloud clients on computers, mobile devices, browsers... etc. So there are three types of cloud providers  that you can subscribe to : SaaS, PaaS,IaaS

Types of Clouds that you can subscribe to depending on your needs:

1. Public cloud : - can be accessed by any subscriber with an internet connection and access to the cloud space
2. Private cloud : - is established for a specific group or organizations and limits access to  just that group 
3. Community cloud : - is shared among two or more organizations that have similar cloud requirements.
4. Hybrid Cloud : - is essentially a combination of at least two clouds, where the clouds included a mixture of public, private  or community.

source
A homogeneous cloud is one where the entire software stack is provided by one vendor. A heterogeneous cloud, on the other hand, integrates components by many different vendors, either at different levels (a management tool from one vendor driving a hypervisor from another) or even at the same level (multiple different hypervisors, all driven by the same management tool). Heterogeneous cloud computing offers the potential to shift flexibly from one to other.
 
source

The cloud paradigm is the most significant change in computing. It will impact on  our businesses, governments and individuals. Think of a future where the vast majority of data, processes and computing power no longer reside within physical walls of your business, home, computers or mobile devices. Like some futuristic vision from a science fiction movie, anything you want to accomplish with information technology will be accessible from anywhere, from any device, instantly, and eventually without having to plan in advance what you might want to do.