The IT Certification Resource Center

Featured Deal

Get CompTIA, Cisco, or Microsoft training courses free for a week.
Learn More ❯

An Introduction to OpenStack and OpenStack Certification

OpenStack, a collaborative effort to create an enterprise-level cloud management OS launched by NASA and RackSpace six years ago, is picking up steam in the IT industry. Here's what you need to know.

Editor's Note: Learn more about the industry-leading OpenStack certifications offered by Red Hat at CertMag.com.

 

OpenStack LogoIt's difficult to browse information technology (IT) industry news without seeing reference after reference to OpenStack. The buzz is that OpenStack is a free, fully open platform for building private clouds. What is OpenStack? How does it work? What OpenStack certifications may be available?

 

Understanding OpenStack

 

OpenStack is indeed free and open-source software (FOSS) written predominantly in Python; this means that you can inspect the source code and even make contributions if you're so inclined.

 

Specifically, OpenStack is a cloud operating system that supports infrastructure-as-a-service (IaaS), primarily virtual machine, workloads. Hallmarks of cloud computing solutions are as follows:

 

Scalability/elasticity. In a cloud architecture, compute, storage, and network resources are pooled to allow services to scale up and down as demand requires.

 

Services on tap/self-service. Users (not even necessarily systems administrators) should be able to provision resources easily without having to understand anything about the underlying cloud architecture. Depending upon their privilege level, cloud users should be able to adjust their provisioned service's scaling options, and destroy the resources when they are no longer required.

 

OpenStack began in 2010 as a partnership initiative between National Aeronautics and Space Administration (NASA) and Rackspace, a managed cloud service provider based in Windcrest, Texas. In the years that have since passed, the OpenStack Foundation has grown to include most of the major IT vendors and service providers, including AT&T, Canonical (Ubuntu), Hewlett-Packard Enterprise, IBM, Intel, Red Hat and SUSE.

 

It should make sense that neither Microsoft, Google, nor Amazon belong to the OpenStack Foundation. After all, those three companies have cloud computing platforms of their own (Microsoft Azure, Google Cloud, and Amazon Web Services, respectively).

 

Typically, businesses rely upon public cloud companies like the aforementioned Azure, Google Cloud, or AWS because of the high cost of developing your own private cloud platform in-house. For example, Microsoft offers DIY-ers the System Center suite, but it is extraordinarily expensive and has a correspondingly massive learning curve.

 

By contrast, OpenStack is free and natively supports most major hypervisors. Thus, we should see increased OpenStack adoption in the future, especially by enterprise businesses that cannot trust public cloud services with their mission-critical data.

 

When you own your own cloud, you don't have to worry about data sovereignty issues like whether a foreign government can access your data if it is stored in at a data center inside their borders. On the other hand, any exposed security vulnerabilities that show up in your private cloud are your responsibility alone and not that of a service provider.

 

OpenStack: A High-Level Overview

 

The OpenStack cloud OS is a massive project that adopts the Apache 2.0 license and is released on a regular "every six months" cycle. Because the project has so many collaboration groups and moving parts (literally and figuratively), OpenStack is divided into the following components (note that this isn't a comprehensive list; see the OpenStack documentation for full details):

 

Compute (code name "Nova"): This is the fabric controller that manages your OpenStack cloud's processor and memory resources. Building an OpenStack cloud involves aggregating clusters of commodity hardware and creating pools of compute resources that are in turn allocated to your hosted virtual machines (VMs).

 

Networking (code name "Neutron"): This is a software-defined networking (SDN) stack that allows for the provision and management of virtual networks and public/private IP addresses. Keep in mind that OpenStack is a multi-tenant cloud OS that enables businesses to host completely separate environments for different business groups, customers, and so forth.

 

Block storage (code name "Cinder"): This subsystem allows OpenStack to integrate cleanly with network-attached storage (NAS) or storage area network (SAN) systems from just about any hardware vendor. Key ideas here are redundancy and resiliency to failures.

 

Identity (code name "Keystone"): This is OpenStack's authentication and authorization platform. Once again, the idea here is to adhere to open standards while at the same time maximizing security and ease-of-use.

 

Image (code name "Glance"): Because OpenStack targets IaaS VM workloads, it needs a system for managing operating system and application images and related media.

 

Dashboard (code name "Horizon"): This is a web portal that embraces the task of standardizing the OpenStack interface and workflow. When you think of all the different hypervisors and hardware that may lurk beneath the surface, this abstraction is no small task indeed! Below is a screenshot of the Horizon web console interface:

 

OpenStack Horizon

 

Orchestration (code name "Heat"): In today's DevOps, continuous deployment world, it makes sense that administrative automation and orchestration exists as a strong component of OpenStack architecture.