An Introduction to OpenStack and OpenStack Certification
Editor's Note: Learn more about the industry-leading OpenStack certifications offered by Red Hat at CertMag.com.
It'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?
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:
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.
So do you see what's going on here? Let me give you a more concrete example. You may deploy OpenStack on a number of commodity Intel-based servers running one of the following Linux distributions:
? CentOS 7
? Red Hat Enterprise Linux 7
? SUSE Linux Enterprise Server
? Ubuntu 14.04 (LTS)
The host hardware, which typically uses MySQL as its database back-end, gives you the underlying compute (CPU and RAM) power. For storage you may have several platforms available from one or more of the following approved vendors:
? Hitachi Data Systems
? IBM Storage
Your OpenStack hosts can manage virtualization hosts running any of the following hypervisors:
? VMware ESXi
? Citrix Xen
? Microsoft Hyper-V
You then use the Horizon user interface to manage your hosts and hypervisors, deploy virtual machines, and so forth. This is a simple example, but it at least gives you a rough idea as to how OpenStack works in practice.
OpenStack Certification Options
If you're thinking to yourself, "Wow! It takes a broad skill set to manage OpenStack!," then you're absolutely correct. That's why certified OpenStack administrators command such high salaries in the IT marketplace.
To that point, there are two OpenStack certifications that you need to know about. One is from the OpenStack Foundation itself: the Certified OpenStack Administration (COA) credential.
To earn your COA, you must pass a single, $300, performance-based exam that can be taken via online proctored delivery from most anywhere in the world. This 2.5-hour exam has a 76/100 pass mark and includes one free retake if you don't pass on your first attempt. As of this writing, the COA exam is available only in English. Make sure to check out the COA exam objectives and download the Candidate Handbook.
Red Hat, the developers of the industry-leading Red Hat Enterprise Linux distribution, offers two levels of OpenStack certification titled as follows:
In brief, Red Hat, which is a leading contributor to the free OpenStack community code base, offers a commercial OpenStack product, Red Hat OpenStack Platform, which it sells via subscription.
To achieve RHCSA/RHOS certification, you need to pass a single, four-hour performance-based exam, EX210 RHCSA in Red Hat OpenStack. RCHE/RHOS certification is available to anyone who earns RHCSA/RHOS certification, and requires passing an additional three-hour performance-based exam, EX310 RHCE in Red Hat OpenStack.
EX210 RHCSA in Red Hat OpenStack exam is available in English, French, Italian, Japanese and Portuguese. EX310 RHCE in Red Hat OpenStack exam is available in English. There are a handful of options for taking both exams. Both are available:
? In open-enrollment public sessions (sometimes offered in conjunction with optional related training)
? At your company site
? As an individual exam at Red Hat-approved testing sites
As is the case with any massive, open-source project, other companies and groups offer various and sundry lesser-known OpenStack certifications. Here are a few to get you started:
? EXIN Foundation Certificate in OpenStack Software
? Linux Foundation OpenStack Administration Fundamentals
? Mirantis OpenStack Certification
? Rackspace Certified Technician for OpenStack
? SUSE Certified Administrator - OpenStack Cloud