Design Summit - Technology Vision - Oleg Barenboim and Jason Frey

Preview:

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/

Citation preview

Design Summit 2014 - Technical Vision

Welcome

Oleg BarenboimGitHub: chessbyteTwitter: @chessbyteemail: chessbyte@gmail.com

Jason FreyGitHub: FryguyTwitter: @Fryguy9email: fryguy9@gmail.com

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?