Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

35
ManageIQ - Next Moves Oleg Barenboim @chessbyte

Transcript of Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Page 1: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

ManageIQ - Next MovesOleg Barenboim

@chessbyte

Page 2: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Thank You Sponsors!

Page 3: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

History

April 2006 - ManageIQ, Inc. founded

December 2012 - Red Hat Acquires ManageIQ, Inc.

April 2013 - CloudForms 2.0 released from ManageIQ code base

June 2014 - Red Hat open-sources ManageIQ

October 2014 - First ManageIQ Summit

June 2016 - Second ManageIQ Summit

ALL Key Engineers from Startup are still working on ManageIQ

Multiple Teams at Red Hat working on ManageIQ

Multiple Teams at other companies working on ManageIQ

Page 4: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Evolution of Focus and Message

Page 5: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Enterprise Virtualization Management

Page 6: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Hybrid Cloud Management

Page 7: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Cloud Management Platform

Page 8: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Open-Source

Cloud Management Platform

Page 9: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Open-Source

Management Platform

Page 10: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Open-Source Management Platform

Separate Repos

Many Provider Types

Many Providers

Provider Pluggability

User Interfaces

Automate

PostgreSQL Clustering

Metrics

Messaging

Page 11: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Componentization

Focus

Easier to dedicate person or team to specific repo

Expertise

Test Isolation

Allows for Different Build Combinations

ManageIQ for Public Cloud, for example

Separate Repos - Why?

Page 12: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

User Interfaces

Provider Integrations

Logical Components to split off

Automate Engine

Separate Repos - What?

Page 13: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Cloud

Public

Private

Virtual Infrastructure

Containers

Configuration Managers

Network

Cloud Network

Storage

Applications (Middleware)

Many Provider Types

Page 14: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Microsoft Azure

Google Cloud Engine

Amazon Web Service

OpenStack

Microsoft System Center Virtual Machine Manager (SCVMM)

Red Hat Virtualization Manager (RHEV) / oVirt

VMware vSphere

OpenShift

Foreman

Providers - Working

Page 15: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Hawkular

Nuage

NetApp

Oracle Virtualization Manager

IBM SoftLayer

Providers - Being Built

Page 16: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Simplify Engineering of New Provider

Standardize Engineering of Each Provider

SQL Schema in Platform

Each Provider Integration in separate Repo (under ManageIQ organization)

Provider Pluggability

Page 17: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Inventory - Full, Targeted, Skeletal

Events

Metrics

Operations

Operations with Automate (e.g. Provisioning)

SmartState

Provider Pluggability - Interfaces

Page 18: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Should behave similarly for all providers of same type

Without significant code changes

Ask, Don’t Tell

UI

Gray Out/Hide/Change Functionality by asking Provider of its capabilities

Enable/Disable Functionality by asking Provider of its capabilities

Provider Pluggability - UI and REST API

Page 19: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Plural - More than 1!

If a ManageIQ UI can do something, so can you via REST

Will Push REST API to continuously improve

User Interfaces

Page 20: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Modern Architecture

https://en.wikipedia.org/wiki/Single-page_application

Fits on Single Web Page

Provides more fluid user experience

Self-Service UI

Future ManageIQ UIs

User Interfaces - Single Page Application

Page 21: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Move Classic UI into its own repo

Self-Service UI already in its own repo

Each additional UI in its own repo

User Interfaces - Separate Repos

Page 22: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Service Designer

Self-Service UI already in place

Adding Admin Capabilities

Will replace Services Tab in Classic UI

New Admin UI?

Zones, Appliances, Roles, Workers

Settings

Global (Authentication, eMail Servers)

Zonal

Appliance

User Interfaces - Future UIs

Page 23: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Methods over REST API (instead of DRb)

Methods via Docker Container

More Secure

Can restrict access to file system

Can restrict access to network

Separation of Gems for ManageIQ vs. User Method in Automate

Allow for Multiple Containers for Different Purposes

Datastore as Git Repo

Versioning

Each Run of Automate can go against specific Git SHA or tag

Automate

Page 24: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Failover

High Availability

Database Administration (e.g. Re-Indexing, Vacuum)

Crawl => Insight

Show how well PostgreSQL is running in ManageIQ installation

Walk => Control

Recommendations actionable by Admin

Run => Automate

Automated Recommendations (Admin needed for exceptions)

PostgreSQL Clustering

Page 25: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

ActiveMetric Abstraction Layer

Support Multiple Backends

PostgreSQL (current)

Hawkular-metrics

InfluxDB

Prometheus

Metrics - Time Series Databases

Page 26: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

May evolve over time

Technology front-runner changes

Licensing changes

Open Source => Open Core => Closed Source

We already did this with Database using ActiveRecord

MySQL

PostgreSQL

Microsoft SQL Server

Metrics - Time Series Databases - Default Backend

Page 27: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Message Routing and Job Processing all rolled into 1

Simplify MiqQueue to enable use of standards

Create ActiveMessage Abstraction Layer

MessageBus back ends

ActiveJob Abstraction Layer

Already standard in Rails

Stick with current worker architecture?

Pick simpler, standard Job processors?

MiqQueue

Page 28: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Monolithic Container near completion

Multiple Containers is next step

Better deployment architecture

Better upgrade architecture

Better security architecture

Will force separation and isolation of stateful vs stateless components

Containerizing ManageIQ

Page 29: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

ManageIQ should introspect its appliances

Crawl => Insight

Report on current installation

Recommend potential improvements in deployment architecture

Walk => Control

Admin confirmed recommendation deployed by ManageIQ

Run => Automate

Automated monitoring

Admin needed to handle exceptions

Self-Managing Deployment Architecture

Page 30: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Modularization

Componentization

Extraction?

Rails was extracted from Basecamp in 2004

ManageIQ Platform

Page 31: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Open-Source

Management Platform

Page 32: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Vote on Name of E Release

Will Announce Winner Tomorrow!

Page 33: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Manage All the Things!

Page 34: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

One More Thing

Page 35: Keynote - Oleg Barenboim - ManageIQ Design Summit 2016

Chess Simul after Sessions Today

Anyone can try their luck!

@chessbyte