A quick overview of OpenStack technology

TwitterFacebookGoogle+LinkedInRedditStumbleUpon

OpenStack is an open source software that allows for the deployment and management of a cloud  infrastructure as a service (IaaS) platform. OpenStack supports both private and public cloud deployments. It fulfills two main requirements of the cloud: massive scalability and simplicity of implementation.

OpenStack is highly configurable: the user can choose whether or not to implement several services offered by the software. The configuration of each component is also up to the user and is easily made through the application programming interface (API) the tool provides. Therefore, there are many different ways to use OpenStack, which makes it a flexible tool that is able to work along with other software.

Another reason to adopt OpenStack is that it supports different hypervisors (Xen, VMware or kernel-based virtual machine [KVM] for instance) and several virtualization technologies (such as bare metal or high-performance computing).

OpenStack architecture involves the following set of services:

OpenStack for dummies

openstack-conceptual-arch-folsom

Image courtesy of Ken Pepple, http://ken.pepple.info/

In short, OpenStack allows the automatic deployment and management of a cloud architecture, and it can easily be integrated with other software.

Adding a new physical machine in an OpenStack cloud

Let’s say a cloud provider wants to expand its cloud infrastructure by adding a new physical machine. OpenStack is already managing its cloud, and it wants its new machine to be integrated with OpenStack. KVM and Linux are already running in this new machine.

For a cloud infrastructure, the typical OpenStack configuration includes: a “master” controller node present on a physical machine managing other physical “slave” machines called compute nodes (see the following figure).

Basic architecture with OpenStack networking

Image source: http://docs.openstack.org/havana/install-guide/install/apt/content/ch_overview.html#overview-architecture

Obviously, since our cloud provider is already using OpenStack in his cloud, a controller node is already running on a machine. All he has to do is add and configure a new compute node on his new machine. In order to do that, he has only two components to install and configure:

  • Nova-compute, responsible for managing the lifecycle of an instance (for KVM, the component is named nova-compute-kvm; nova-compute is specific for each hypervisor)
  • Nova-network, responsible for forwarding controller requests the compute node

With this, the new machine should be integrated with OpenStack.

Prerequisite for minimum production deployment

There are some basic requirements you’ll have to meet to deploy OpenStack. Here are the prerequisites, drawn from the OpenStack manual.

  • Hardware: For OpenStack controller node, 12 GB RAM are needed as well as a disk space of 30 GB to run OpenStack services. Two SATA disks of 2 TB will be necessary to store volumes used by instances. Communication with compute nodes requires a network interface card (NIC) of 1 Gbps. For compute nodes, 2 GB RAM will be sufficient to run three tiny instances on a single compute node. Two NIC 1 Gbps will allow communication with both the controller and other compute nodes.
  • Operating system (OS): OpenStack supports the following operating systems: CentOS, Debian, Fedora, Red Hat Enterprise Linux (RHEL), openSUSE, SLES Linux Enterprise Server and Ubuntu. Other system support is provided by different editors or can be developed by porting nova modules on the target platform.

OpenStack and IBM

OpenStack is an open source tool that is flexible and able to inter-operate with other software products. For those reasons, it has become an ideal tool for IBM, which wants to develop its own cloud services at affordable costs for its clients.

So what do you think about OpenStack? Is it another open source tool supported by a bunch of geeks, or can backers like IBM and other companies increase the number of adopters and add staying power?

TwitterFacebookGoogle+LinkedInRedditStumbleUpon
Comments Off
Franck Lespinasse

About Franck Lespinasse

Franck Lespinasse is an architect at Smarter Systems Design Center, at IBM Customer Center, Montpellier. His present mission is to design mission critical solutions based on Power Systems and Cloud. Before this, he has been in responsible to provide technical pre-sales support for Cloud projects, including design workshops and proof of concept activities. Previously, Franck was based at the Executive Briefing Center in Montpellier as team leader for STG briefings for 2 years. And from 2003 to 2009, Franck was engagement leader for the Power benchmark center. He has more than 15 years of experience in pre-sales technical support and IT service delivery, for IBM and also for Business Partners. He holds an engineering degree from French National Institute of Applied Sciences - INSA Toulouse, and a Master of Business Administration from University of Toulouse (IAE) France.
This entry was posted in OpenStack and tagged . Bookmark the permalink.