ManageIQ Developer Overview

ManageIQ (MiQ) is a cloud management platform which provides abstract access to many different cloud providers. By using MiQ, administrators and developers can interface and interact with various clouds frameworks in a consistent and unified manner. Through MiQ cloud resources may be queried, manipulated, and operations on them automated.

At a high level MiQ consists of a Ruby on Rails web app which launches asynchronous workers responsible for performing specific tasks pertaining to querying and manipulating cloud resources and presenting them to the end user. A queue facilitates inter-worker communication and specific workers are responsible for interfacing with the cloud providers in various fashions, driving the ui, and more. Workers interface with clouds on the backend using a variety of libraries geared towards querying manipulating specific cloud resources.

At a high level MiQ consists of the following subsystems:

  • Core Services:
    • Worker and Queue Management
    • REST API
  • Cloud Provider Access and Management (providers)
  • Automation of Cloud Operations (automate)
  • Cloud image parsing & analysis (Smart State Analysis)
  • Representation of Cloud Resources and Metrics (UI)

Additionally the project consists of many underlying libraries supporting these subsystems as well as logic to drive the process to build dependencies and the supported appliance.

CloudForms is the productized version of MiQ supported by RedHat.

This is pretty nice. Can you make a PR with this stuff on ManageIQ/guides and see if it fits in there? Guides is for developer documentation. We also have ManageIQ/manageiq_docs, which is for user documentation.

I’m apprehensive about putting this type of thing into git, it’d reduce the visibility (based on past experience).

Perhaps if we could upload this type of stuff to the website somehow? (is it driven off of jekyll or middleman or something like that?)

Everything in guides goes to the website already. See