ManageIQ

ManageIQ is an open source cloud management platform. It was founded by Red Hat as a community project in 2014, and forms the basis for its CloudForms product. It allows centralized management of various virtualization, private cloud, public cloud, containers, and software defined networking technologies.

History
The ManageIQ code base was originally developed by ManageIQ, Inc., from 2006 onwards. The product was first launched as Enterprise Virtualization Manager (EVM) Suite in 2007. One co-founder, Oleg Barenboim, had previously been lead architect at Novadigm, and became ManageIQ's CTO. The other co-founder, Joseph Fitzgerald, was CTO at Novadigm. The CEO of ManageIQ was Albion Fitzgerald, also CEO at Novadigm. The Register described ManageIQ as a "Novadigm redux for a cloudy world, rather than a physical one." ManageIQ became an enterprise cloud management company, providing "management solutions to deploy and optimize private, public, and hybrid clouds" for customers as of 2012. Over the next 5 years, ManageIQ improved the product and customers increased. ManageIQ, Inc. was named Gartner Cool Vendor in 2008. In 2012, ManageIQ was based in Mahwah, New Jersey and specialized in virtualization and cloud management tools.

In December 2012, Red Hat acquired ManageIQ, Inc. for $104m. When it was acquired, ManageIQ referred to both the company and its proprietary cloud management program of the same name. After purchasing the ManageIQ company and the ManageIQ software, Red Hat rebranded the software as CloudForms shortly afterwards. When Red Hat released the ManageIQ, Inc. code under the CloudForms product name, it replaced the previous implementation based on the Deltacloud and Aeolus projects. The first publicly available release was CloudForms 3.0, released in late 2013.

In June 2014, Red Hat open sourced the code base under the project name ManageIQ, and founded the ManageIQ project to oversee its development. When the source code was released, by May 2014, it could "handle cloud management tasks such as tag-based policy and orchestration, capacity management, and financial chargeback." The software could manage OpenStack-based clouds and also clouds running on VMware, Microsoft, and Amazon, according to PCWorld.

Software and features
ManageIQ's software offers the following capabilities:


 * Self-service, allowing IT staff to present a catalog to users from which they can select automated services, such as provisioning a new virtual machine.
 * Compliance enforcement, allowing an IT department to enforce certain compliance policies.
 * Optimization, allowing IT staff to optimize the resource utilization of an environment, for example using right sizing and capacity planning.

Supported platforms
ManageIQ can manage the following platforms:

Theory of operation
ManageIQ is a manager of managers and as such, it needs to connect to other management systems to function. These other management systems are called providers in ManageIQ parlance. ManageIQ will connect to the providers via their API.

For each configured provider, ManageIQ will continuously discover inventory. The type of inventory depends on the provider, for example in the case of VMware vSphere it will be virtual machines, hypervisors, and other relevant elements. It will also discover relationships between the elements, for example, the fact that a virtual machine runs on a hypervisor, and listen for events. Certain events that indicate a change in the environment will result in a full or partial refresh of the inventory. The end result is a mirror of the inventory that is nearly instantaneously up to date with respect to the original inventory managed by the provider.

If configured to do so, ManageIQ will also capture metrics like CPU and memory usage on the discovered inventory.

All captured information about a managed environment is stored in a database called the Virtual Management Database (VMDB). As of March 2016, the VMDB schema described in excess of 200 entities and relationships.

Architecture
ManageIQ is written in the Ruby programming language and uses the Ruby on Rails framework. The ManageIQ software is shipped as a pre-built virtual appliance, roughly 1GB in size. The appliance is based on the CentOS operating system, and includes an embedded PostgreSQL database. Since the Darga release, a container-based version has also been made available. In the Jansa release, a modified version was built that can run on Kubernetes and OpenShift.

An appliance can be used on its own, or it can be part of a distributed architecture. In this case, the administrator would configure zones, regions, and a single global region. Appliances can be assigned to a specific zone or region, and are configured with specific roles so that work is coordinated with the region. Most roles are multiserver and work is distributed automatically via a queue, but some roles like the database are singletons. Appliance roles can also be configured for failover in order to provide high availability.

Releases
The ManageIQ project uses a time based release cycle where a new version is released approximately every 6 months.

Releases are named after chess grandmasters, where subsequent releases names start with consecutive letters of the alphabet. The following versions have been released so far: