19
© MIRANTIS 2014 © MIRANTIS 2014 1 Murano Application catalog for OpenStack Alexander Tivelkov Mirantis, Inc.

Murano: Application Catalog for Openstack

Embed Size (px)

DESCRIPTION

A talk given on a SFBay Openstack meetup http://www.meetup.com/openstack/events/163020092/

Citation preview

Page 1: Murano: Application Catalog for Openstack

© MIRANTIS 2014© MIRANTIS 2014 1

Murano —Application catalog for OpenStack

Alexander TivelkovMirantis, Inc.

Page 2: Murano: Application Catalog for Openstack

© MIRANTIS 2014 

Agenda

•Why do we need an application catalog?

•Use cases

•Murano project overview

•Application packages and their structure

•Murano Architecture

•Demo

•Q&A

2

Page 3: Murano: Application Catalog for Openstack

© MIRANTIS 2014 3

What’s going on with OpenStack?

•8 major releases delivered

•Core components quite stable and solid

•Customer adoption increases

•A number of free and commercial distributions

•Commercial downstream projects emerge

•3rd party PaaS solutions integrated with OpenStack IaaS

Page 4: Murano: Application Catalog for Openstack

© MIRANTIS 2014 4

What is next? Applications!

•Cloud-ready

•Scalable

•High-available

•Ready to integrate with each other

•Deployable on OpenStack

•Think of SaaS on top of OpenStack

Page 5: Murano: Application Catalog for Openstack

© MIRANTIS 2014 5

Who is next? Developers!

Page 6: Murano: Application Catalog for Openstack

© MIRANTIS 2014 6

Distributing Cloud-Ready Applications

•Hundreds and thousand of applications need to find their users

•Different languages, frameworks and runtimes

•Different prerequisites and environment requirements

•Different licensing requirements

•Both private and public clouds

Page 7: Murano: Application Catalog for Openstack

© MIRANTIS 2014 7

Application Catalog

• A single point to publish all the different apps

• Language, OS and platform agnostic

• Browsable and categorised

• Built-in deployment engine

•Maintenance and management tools

•Detailed statistical reports

• Access control

• Billing rules

Page 8: Murano: Application Catalog for Openstack

© MIRANTIS 2014 8

As an application developer, I…

•Describe App’s properties and dependencies

•Build the deployment workflow

•Specify the external events and the workflows to handle them

•Define the billing metrics and rules

•Build and sign the application package

•Submit the application package to catalog

Page 9: Murano: Application Catalog for Openstack

© MIRANTIS 2014 9

As a cloud user, I…

•Browse the catalog for needed application

•Compose an environment out of the picked Apps

•Deploy the environment in my cloud infrastructure

•Maintain the application while it runs

•Pay for applications only when I use them

Page 10: Murano: Application Catalog for Openstack

© MIRANTIS 2014 10

As a cloud administrator, I…

•Review the app packages submitted by developers

• Import app packages from external repositories

•Specify the access restrictions for packages

•Specify the deployment policies for cloud users

•Review the deployment requests from cloud users

•Monitor the app usage statistics and billing reports

Page 11: Murano: Application Catalog for Openstack

© MIRANTIS 2014 11

Murano

• Historically evolved from an all-purpose deployment tool to an Application Catalog

• Is built on top of sophisticated workflow-based deployment engine

• Catalogs “Application packages” which may be used to compose complex software environments and manage their lifecycle

• Allows to define powerful yet easy-to-use wizard-like UI

• Uses core OpenStack services under the hood

Page 12: Murano: Application Catalog for Openstack

© MIRANTIS 2014 12

Murano Application Package

•Catalog headers

•Application properties and dependencies

•Workflow definitions

•Other required resources:• Heat templates

• Deployment and configuration scripts

• Binaries…

Page 13: Murano: Application Catalog for Openstack

© MIRANTIS 2014 13

Murano environments

• Composed of Applications and their Dependencies

• Detect the types of dependencies automatically

• Can be modified in runtime

• Environment templates may be saved and reused

MySQLMySQL

Tomcat ServerTomcat Server

My Java application

My Java application

Linux nodeLinux nodeLinux nodeLinux nodeLinux nodeLinux node

NetworkNetwork

Page 14: Murano: Application Catalog for Openstack

© MIRANTIS 2014 14

Architecture overview

REST APIREST API

OpenStack DashboardOpenStack Dashboard

Standalone UIStandalone UI

CLICLI

Package RepositoryPackage

Repository

Environment Storage

Environment Storage

Murano EngineMurano Engine

Core openstack services

Core openstack services

VM-side

guest agent

VM-side

guest agent

Page 15: Murano: Application Catalog for Openstack

© MIRANTIS 2014 15

Demo• Uploading MS SQL Server application

package

• Deploying a windows-based environment consisting of Active Directory and clustered MS SQL Server

Page 16: Murano: Application Catalog for Openstack

© MIRANTIS 2014 16

Current project status

•One year of active development

•Generic deployment and workflow engine ready

•Application Catalog features under development

•Fully supports OpenStack Havana release

•Supports both Linux and Windows

•Bundles a handful of pre-built application packages

•StackForge community project

Page 17: Murano: Application Catalog for Openstack

© MIRANTIS 2014 17

Roadmap

•New easier-to-use Domain Specific Language

•Storing Application Packages in Glance

• Integration with Mistral Workflow Engine

•Role-based access control

•Advanced Usage statistics and billing

•Murano-driven autoscaling events

•Workflow development tools

•Everything you invent and contribute!

Page 18: Murano: Application Catalog for Openstack

© MIRANTIS 2014 18

Questions?

• Project homepage:

launchpad.net/muranowiki.openstack.org/wiki/Murano

• IRC:

#murano at freenode

• Mailing list:[email protected],add [Murano] in the subject field

Page 19: Murano: Application Catalog for Openstack

© MIRANTIS 2014 19

A common question: why not Puppet?

Murano•User-oriented

•Higher-level

•Dynamically builds and modifies environments for any user-defined configuration

•Customisable flexibility

Puppet• DevOps-oriented

• Lower-level

• Manifests are fixed for particular cloud configuration

• Maximum flexibility

But Murano can run Puppet underneath!