ManageIQ

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
ManageIQ
Original authorRed Hat
DeveloperManageIQ Project
Stable release
Radjabov-1 / April 15, 2025; 14 months ago (2025-04-15)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inRuby
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux
    PlatformRuby on Rails
    Available inEnglish
    TypeSystems management
    LicenceApache License 2.0

    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

    [edit | edit source]

    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.[1] 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.[2] The Register described ManageIQ as a "Novadigm redux for a cloudy world, rather than a physical one."[2] ManageIQ became an enterprise cloud management company,[3] providing "management solutions to deploy and optimize private, public, and hybrid clouds" for customers as of 2012.[4] Over the next 5 years, ManageIQ improved the product and customers increased. ManageIQ, Inc. was named Gartner Cool Vendor in 2008.[5] In 2012, ManageIQ was based in Mahwah, New Jersey and specialized in virtualization and cloud management tools.[2]

    In December 2012, Red Hat acquired ManageIQ, Inc.[6] for $104m.[2] When it was acquired, ManageIQ referred to both the company and its proprietary cloud management program of the same name.[7] After purchasing the ManageIQ company and the ManageIQ software, Red Hat rebranded the software as CloudForms shortly afterwards.[8] 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.[9]

    In June 2014, Red Hat open sourced the code base under the project name ManageIQ,[10] and founded the ManageIQ project to oversee its development.[citation needed] 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.[8]

    Software and features

    [edit | edit source]

    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

    [edit | edit source]

    ManageIQ can manage the following platforms:

    Platform type Supported platforms
    Virtualization VMware vSphere, oVirt/Red Hat Virtualization, System Center Virtual Machine Manager, IBM Power HMC, KubeVirt/OpenShift Virtualization
    Private Cloud OpenStack, VMware vCloud, Azure Stack, IBM PowerVC, IBM Cloud Infrastructure Center
    Public Cloud Amazon Web Services, Microsoft Azure, Google Cloud Platform, Oracle Cloud, IBM Cloud VPC and Power Virtual Servers
    Physical Infrastructure Lenovo XClarity, Redfish, Cisco Intersight
    Software defined networking OpenStack Neutron, Nuage Networks, VMware NSX-T
    Software defined storage OpenStack Cinder, OpenStack Swift
    Containers Kubernetes, OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), IBM Cloud Kubernetes Service (IKS), Oracle Container Engine for Kubernetes (OKE), VMware Tanzu Kubernetes Grid (TKG)
    Automation/Configuration Ansible Tower / AWX, Terraform (software)#Terraform, Foreman, IBM Terraform (via IBM Cloud Pak for Watson AIOps)

    Theory of operation

    [edit | edit source]

    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.[11]

    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.[11]

    Architecture

    [edit | edit source]

    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

    [edit | edit source]

    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:

    Release name Release date New features introduced
    Anand 2 September 2014[12] First open source release of the ManageIQ, Inc. code base
    Botvinnik 12 June 2015[13] Support for OpenStack undercloud, Foreman; improved AWS support; REST API supersedes SOAP API
    Capablanca 5 December 2015[14] Support for Azure, Kubernetes, OpenShift; new self-service UI
    Darga 7 June 2016[15] Support for Google Cloud Platform, Ansible Tower; Software-defined networking support for Neutron, public clouds
    Euwe 20 December 2016[16] Support for new provider types Storage and Middleware; improved Container Management and Public Cloud Support
    Fine 17 May 2017[17] Automation with Ansible, improved AWS support including storage, new Physical Infrastructure provider type
    Gaprindashvili 30 January 2018[18] Generic Objects, Lenovo XClarity Provider, Alerts Management
    Hammer 15 January 2019[19] Support for Ansible Tower Workflows, New Network Providers for Nuage and Redfish, virtual-to-virtual (V2V) transformations
    Ivanchuk 18 September 2019[20] Improved user experience, leveraging ansible-runner, better OpenStack tenant integration
    Jansa 22 September 2020[21] Podified build, RPM based builds, OpenShift 4.x support
    Kasparov 4 February 2021[22] Support for IBM Cloud VPC and Power Virtual Servers, IBM Terraform, IBM AutoSDE (now Kyndryl AutoSDE), and VMware NSX-T providers, VMware Content Library, improved UI, and backup/restore for modified builds.
    Lasker 21 July 2021[23] Support for Amazon EKS, physical storage hosts, chargeback for containers and configured systems, Kubernetes operator, performance and security enhancements for podified builds, and accessibility improvements.
    Morphy 14 February 2022[24] Support for IBM PowerVC, Oracle Cloud, cloud Kubernetes services (AKS, GKE, IKS, OKE), and cloud database services (Amazon RDS, Azure Databases, Google Cloud SQL, IBM Cloud Databases, Oracle Cloud Databases)
    Najdorf 18 July 2022[25] Support for IBM Power HMC, IBM Cloud Infrastructure Center, Cisco Intersight, VMware Tanzu Kubernetes Grid, cross cloud-provider image import, and standalone object storage managers.
    Oparin 6 Jan 2023[26] Independent oVirt and AWX providers, update to Rails 6.1, support for PostgreSQL 13 and Ruby 3, and general security and maintenance improvements.
    Petrosian 14 Sept 2023[27] Embedded Workflows prototype, various provider updates including service catalog support, Storage Services, Cloud Object Store Objects.
    Quinteros 29 May 2024[28] Embedded Workflows phase 1, non-Rails provider workers, various provider updates.
    Radjabov 15 April 2025[29] OpenShift Virtualization, Embedded Terraform, Embedded Workflows phase 2, KubeVirt updates, Upgrades to Rails 7, Ruby 3.3, and EL9.
    Spassky

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]