design summit - technology vision - oleg barenboim and jason frey
DESCRIPTION
Oleg and Jason share the vision for the ManageIQ technology, integration with partners, and an overview of the roadmap. See accompanying video: http://youtu.be/lokMmVCavas For more on ManageIQ, see http://manageiq.org/TRANSCRIPT
Design Summit 2014 - Technical Vision
Welcome
Oleg BarenboimGitHub: chessbyteTwitter: @chessbyteemail: [email protected]
Jason FreyGitHub: FryguyTwitter: @Fryguy9email: [email protected]
Goals● De-facto open-source Cloud Management Platform
○ Robust○ Secure
● Vibrant Developer Community○ Contributors not concentrated in one company
● Vibrant User Community○ share use cases and content○ talk.manageiq.org responses not concentrated in one company
Security RoadmapTomorrow
Cloud Broker Integration RoadmapTomorrow
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 IntegrationLater 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 & RoadmapLater Today
● Backend○ 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
Hard to Add a Provider
Plugin Provider ArchitectureLater 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 RoadmapTomorrow
● Containers● Software-Defined Networking● Bare Metal● Content/Configuration Management
○ Chef○ Puppet
How to Manage New Things?
The Foreman Integration
Vision
ManageIQ Framework
Base● Scalability, Database, Message Bus, Workers● SMTP, SNMP● Authentication, Authorization, RBAC, Tagging
REST API
Web UI Framework
Services● Automate Engine● Policy Engine● Reporting Engine● Service Catalog● Chargeback● Optimize● Configuration
Management Types● Cloud● Virtual Infrastructure● Containers● Storage● Network● Bare Metal● Content
Chef
ManageIQ Management Providers
Management Types● Cloud● Virtual Infrastructure● Containers● Storage● Network● Bare Metal● Content
Cloud Amazon OpenStack Azure
Virtual VMwarevSphere RHEV Microsoft
SCVMM
Containers Docker
Content
Storage NetApp
Foreman Puppet
ManageIQ Web UI Framework
REST API
Web UI Base● Authentication, Authorization● Internationalization● Dashboard, Widgets, Reporting● Tab Primitives● Charting, Timelines● Dynamic Dialog● Custom Buttons● Automate Tab, Policy Tab, Configuration Tab, ...
Cloud Tab Virt Infra Tab Container Tab Storage TabContent Tab
● build ● host● lib● system● vmdb
Project Directory Structure
● Community Build files● Intimately tied to the codebase
● Need to figure out how to move this
Project build Directory
● ManageIQ SmartProxy
● Being used to run PowerShell scripts on Windows● Alternative Solution using winrm gem
● To be removed
Project host Directory
● Lots of (mostly) standalone libraries - each in its own subdirectory
● Gemify!
Project lib Directory
VM Analysis (Fleecing) PresentationTomorrow
● 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 system Directory
Ruby 2.x PresentationRails 4.x Presentation
● 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
Project vmdb Directory
Questions?