Infrastructure

A quick overview of OpenStack technology

Share this post:

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?

More Infrastructure stories

Technology evolution and market transformation

It’s no secret that the pace of innovation and change has accelerated rapidly over the last few years. From the explosion of social media to online shopping and apps to track your driver, digital transformation has quickly become an integral part of daily life. In the last year alone, DataReportal shares there are over 4 […]

Continue reading

Solving the productivity crisis: Digital process automation for deep deployments

The way we do work today isn’t working for many employees and employers. Employers have fewer qualified people to perform complex tasks, while employees get bogged down with low-value tasks. What slowly emerges is a productivity crisis. How can companies solve it? Automation is one of the go-to solutions, but automation fixes are still segmented, focusing on […]

Continue reading

How to start scaling automation projects with design thinking

Digital business automation is helping companies across industries improve operational efficiency, drive innovation and better serve customers. Automating work helps businesses offer a better experience at speed and scale. To begin, businesses must evaluate their big picture. What are the complex processes with multiple steps that when done manually are slow, costly and frustrating for […]

Continue reading