Design Summit 2014 - Technical Vision
Welcome 
Oleg Barenboim 
GitHub: chessbyte 
Twitter: @chessbyte 
email: chessbyte@gmail.com 
Jason Frey 
GitHub: Fryguy 
Twitter: @Fryguy9 
email: fryguy9@gmail.com
Goals 
● De-facto open-source Cloud Management Platform 
○ Robust 
○ Secure 
● Vibrant Developer Community 
Security Roadmap 
Tomorrow 
○ Contributors not concentrated in one company 
● Vibrant User Community 
Cloud Broker Integration Roadmap 
Tomorrow 
○ share use cases and content 
○ talk.manageiq.org responses not concentrated in one company
Challenges 
● Extending REST API is Easy 
● Extending Base Product is Difficult 
● Extending User Interface is Difficult 
● Non-Standard Rails Environment
Challenges - Extending Base 
● How do I add a new Virtualization Provider? 
● How do I add a new Cloud Provider? 
● How do I add a new Storage Provider? 
● How can we add SDN management? 
● How do we add container management? 
Heat/CloudFormation Integration 
Later Today
Challenges - Extending UI 
● How do I add a new Content Area? 
● What technologies? 
○ Consistency 
○ Open-Source 
● Style 
○ Responsive 
○ Consistent 
● Scalable UI 
○ Performant 
○ Client-Driven 
UI Directions & Roadmap 
Later Today
● Backend 
Hard to Add a Provider 
○ Inventory 
○ Event Catcher 
○ Capacity & Utilization 
● Interfaces 
○ Web UI 
○ REST API 
● Core 
○ Workers 
○ RBAC 
○ Roles 
○ Configuration 
● Dozens of files to update or add 
● Inconsistent across existing Providers 
Plugin Provider Architecture 
Later Today
Hard to Extend Base Functionality 
● How do we change to a new Reporting Service? 
● How do we add new Chargeback Capabilities? 
● How can we move to a more standard Message Bus? 
● Policy Engine 
● Automate Engine 
Automate Roadmap 
Tomorrow
How to Manage New Things? 
● Containers 
● Software-Defined Networking 
● Bare Metal 
● Content/Configuration Management 
○ Chef 
○ Puppet 
The Foreman Integration
Vision
ManageIQ Framework 
Web UI Framework 
REST API 
Base 
● Scalability, Database, Message Bus, Workers 
● SMTP, SNMP 
● Authentication, Authorization, RBAC, Tagging 
Services 
● Automate Engine 
● Policy Engine 
● Reporting Engine 
● Service Catalog 
● Chargeback 
● Optimize 
● Configuration 
Management Types 
● Cloud 
● Virtual Infrastructure 
● Containers 
● Storage 
● Network 
● Bare Metal 
● Content
ManageIQ Management Providers 
Chef 
Management Types 
● Cloud 
● Virtual Infrastructure 
● Containers 
● Storage 
● Network 
● Bare Metal 
● Content 
Cloud Amazon OpenStack Azure 
Virtual VMware 
vSphere RHEV Microsoft 
SCVMM 
Containers Docker 
Storage NetApp 
Content 
Foreman Puppet
ManageIQ Web UI Framework 
Cloud Tab Virt Infra Tab Content Tab Container Tab Storage Tab 
Web UI Base 
● Authentication, Authorization 
● Internationalization 
● Dashboard, Widgets, Reporting 
● Tab Primitives 
● Charting, Timelines 
● Dynamic Dialog 
● Custom Buttons 
● Automate Tab, Policy Tab, Configuration Tab, ... 
REST API
● build 
● host 
● lib 
● system 
● vmdb 
Project Directory Structure
Project build Directory 
● Community Build files 
● Intimately tied to the codebase 
● Need to figure out how to move this
Project host Directory 
● ManageIQ SmartProxy 
● Being used to run PowerShell scripts on Windows 
● Alternative Solution using winrm gem 
● To be removed
Project lib Directory 
● Lots of (mostly) standalone libraries - each in its own subdirectory 
● Gemify! 
VM Analysis (Fleecing) Presentation 
Tomorrow
Project system Directory 
● System files that get layed down with the creation of appliance 
● Needs to be analyzed in conjunction with the build directory 
● Should build and system directories be moved to a new repo (manageiq_appliance)?
Project vmdb Directory 
● Rails application 
● Should be root of ManageIQ/manageiq repo 
○ Once build, host, lib, system are moved out 
● Will make it easier for Rails developers to get started 
● Will make it easier for Rails tools to work in a standard way 
Ruby 2.x Presentation 
Rails 4.x Presentation
Questions?

Design Summit - Technology Vision - Oleg Barenboim and Jason Frey

  • 1.
    Design Summit 2014- Technical Vision
  • 2.
    Welcome Oleg Barenboim GitHub: chessbyte Twitter: @chessbyte email: chessbyte@gmail.com Jason Frey GitHub: Fryguy Twitter: @Fryguy9 email: fryguy9@gmail.com
  • 3.
    Goals ● De-factoopen-source Cloud Management Platform ○ Robust ○ Secure ● Vibrant Developer Community Security Roadmap Tomorrow ○ Contributors not concentrated in one company ● Vibrant User Community Cloud Broker Integration Roadmap Tomorrow ○ share use cases and content ○ talk.manageiq.org responses not concentrated in one company
  • 4.
    Challenges ● ExtendingREST API is Easy ● Extending Base Product is Difficult ● Extending User Interface is Difficult ● Non-Standard Rails Environment
  • 5.
    Challenges - ExtendingBase ● How do I add a new Virtualization Provider? ● How do I add a new Cloud Provider? ● How do I add a new Storage Provider? ● How can we add SDN management? ● How do we add container management? Heat/CloudFormation Integration Later Today
  • 6.
    Challenges - ExtendingUI ● How do I add a new Content Area? ● What technologies? ○ Consistency ○ Open-Source ● Style ○ Responsive ○ Consistent ● Scalable UI ○ Performant ○ Client-Driven UI Directions & Roadmap Later Today
  • 7.
    ● Backend Hardto Add a Provider ○ Inventory ○ Event Catcher ○ Capacity & Utilization ● Interfaces ○ Web UI ○ REST API ● Core ○ Workers ○ RBAC ○ Roles ○ Configuration ● Dozens of files to update or add ● Inconsistent across existing Providers Plugin Provider Architecture Later Today
  • 8.
    Hard to ExtendBase Functionality ● How do we change to a new Reporting Service? ● How do we add new Chargeback Capabilities? ● How can we move to a more standard Message Bus? ● Policy Engine ● Automate Engine Automate Roadmap Tomorrow
  • 9.
    How to ManageNew Things? ● Containers ● Software-Defined Networking ● Bare Metal ● Content/Configuration Management ○ Chef ○ Puppet The Foreman Integration
  • 10.
  • 11.
    ManageIQ Framework WebUI Framework REST API Base ● Scalability, Database, Message Bus, Workers ● SMTP, SNMP ● Authentication, Authorization, RBAC, Tagging Services ● Automate Engine ● Policy Engine ● Reporting Engine ● Service Catalog ● Chargeback ● Optimize ● Configuration Management Types ● Cloud ● Virtual Infrastructure ● Containers ● Storage ● Network ● Bare Metal ● Content
  • 12.
    ManageIQ Management Providers Chef Management Types ● Cloud ● Virtual Infrastructure ● Containers ● Storage ● Network ● Bare Metal ● Content Cloud Amazon OpenStack Azure Virtual VMware vSphere RHEV Microsoft SCVMM Containers Docker Storage NetApp Content Foreman Puppet
  • 13.
    ManageIQ Web UIFramework Cloud Tab Virt Infra Tab Content Tab Container Tab Storage Tab Web UI Base ● Authentication, Authorization ● Internationalization ● Dashboard, Widgets, Reporting ● Tab Primitives ● Charting, Timelines ● Dynamic Dialog ● Custom Buttons ● Automate Tab, Policy Tab, Configuration Tab, ... REST API
  • 14.
    ● build ●host ● lib ● system ● vmdb Project Directory Structure
  • 15.
    Project build Directory ● Community Build files ● Intimately tied to the codebase ● Need to figure out how to move this
  • 16.
    Project host Directory ● ManageIQ SmartProxy ● Being used to run PowerShell scripts on Windows ● Alternative Solution using winrm gem ● To be removed
  • 17.
    Project lib Directory ● Lots of (mostly) standalone libraries - each in its own subdirectory ● Gemify! VM Analysis (Fleecing) Presentation Tomorrow
  • 18.
    Project system Directory ● System files that get layed down with the creation of appliance ● Needs to be analyzed in conjunction with the build directory ● Should build and system directories be moved to a new repo (manageiq_appliance)?
  • 19.
    Project vmdb Directory ● Rails application ● Should be root of ManageIQ/manageiq repo ○ Once build, host, lib, system are moved out ● Will make it easier for Rails developers to get started ● Will make it easier for Rails tools to work in a standard way Ruby 2.x Presentation Rails 4.x Presentation
  • 20.