OpenStack monitoring beyond the Elastic (ELK) Stack – Part 1: What is OpenStack?

We’ve been talking a lot about OpenStack over the past few months, and with good reason. Its explosive growth in popularity within the enterprise has enabled large, interoperable application architectures and, with this, a need for app-centric monitoring of the OpenStack cloud.

There are several open source monitoring tools for OpenStack out there – like the Elastic Stack (ELK Stack) – but are they mature enough for the challenges posed by its complexity? Can they effectively monitor hundreds of nodes, while simultaneously keeping an eye on hundreds of apps?

This post is the first of a 3-part series where we will take review:

  • What is OpenStack?
  • The OpenStack monitoring space: Monasca, Ceilometer, Zabbix and the Elastic Stack (ELK Stack)
  • A full stack view on monitoring OpenStack with Dynatrace

What is OpenStack?

OpenStack is an open source cloud operating system used to develop private- and public-cloud environments. It consists of multiple interdependent microservices, and provides a production-ready IaaS layer for your applications and virtual machines. Being a 2010 joint project of Rackspace and NASA, it will turn seven this year, and it’s supported by many high-profile companies including AT&T, IBM, and Red Hat.

Still getting dinged on its complexity, it currently has around 60 components, also referred to as “services”, six of which are core components, controlling the most important aspects of the cloud. There are components for the compute, networking and storage management of the cloud, for identity and access management, and also for orchestrating applications that run on it. With these, the OpenStack project aims to provide an open alternative to giant cloud providers like AWS, Google Cloud, Microsoft Azure or DigitalOcean.

A few of the most common OpenStack components

The OpenStack components are open source projects continuously developed by its Community. Let’s have a brief look at the most important ones:

Nova (Compute API) – Nova is the brain of the its cloud, meaning that it provides on-demand access to compute resources by provisioning and managing large networks of virtual machines.

Neutron (Networking service) – Neutron focuses on delivering networking-as-a-service in its cloud.

Keystone (Identity service) – Keystone is the identity service used for authentication and high-level authorization.

Horizon (Dashboard service) – Its Dashboard, providing a web-based user interface to other services.

Cinder (Block Storage service) – The component that manages and provides access to block storage.

Swift (Object storage service) – Swift provides eventually consistent and redundant storage, and retrieval of fixed digital content.​

Heat (Orchestration service) – The orchestration engine, providing a way to automate the creation of cloud components.

Why the hype around OpenStack?

The reasons behind the explosive growth in OpenStack’s popularity are quite straightforward. Because it offers open source software for companies looking to deploy their own private cloud infrastructure, it’s strong where most public cloud platforms are weak.

Vendor neutral API: Proprietary cloud service providers such as AWS, Google Compute Engine and Microsoft Azure have their own application programming interfaces (API), which means businesses can’t easily switch to another cloud provider, i.e. they are automatically locked into these platforms. In contrast, its open API removes the concern of a proprietary, single vendor lock-in for companies and creates maximum flexibility in the cloud.

More flexible SLAs: All cloud providers offer Service Level Agreements, but these used to be the same for all customers. In some cases, however, the SLA in your contract might be completely irrelevant to your business. But thanks to the many OpenStack service providers it is easy to find the most suitable one.

Data privacy: Perhaps the biggest advantage of using OpenStack is the data privacy it offers. For some companies, certain data may be prohibited by law to be stored in public cloud infrastructure. While a hybrid cloud makes it possible to keep sensitive data on premise, the potential for vendor lock-in and data inaccessibility still remains. Not with OpenStack. Here, all your data is on-premise, secured in your data center.

These are the reasons why companies like AT&T, China Mobile, CERN or Bloomberg decided to become OpenStack users.

So what’s the state of OpenStack now?

I happened to overhear a comment at the OpenStack Summit Boston 2017 that I have not been able to get out of my head. Someone in the crowd claimed that “OpenStack will eat the world”. This might not be too far-fetched, as the figures of the newest OpenStack Foundation User Survey show.

Nothing demonstrates OpenStack’s growth more that the rapid development of new clouds, with 44% more deployments reported on this year’s survey than in 2016. And, its clouds around the world have also become larger: 37% of clouds have 1,000 or more cores. So what could speak more for its maturity if not the two-thirds of deployments in production environments?

Is OpenStack really going to eat the world? And if it is, who will make sure that application performance stays high?

Be my guest in the second part of this series, to see how the ELK Stack compares to Dynatrace in the OpenStack monitoring space!