Murano: Application Catalog for Openstack

Preview:

DESCRIPTION

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

Citation preview

© MIRANTIS 2014© MIRANTIS 2014 1

Murano —Application catalog for OpenStack

Alexander TivelkovMirantis, Inc.

© 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

© 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

© 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

© MIRANTIS 2014 5

Who is next? Developers!

© 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

© 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

© 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

© 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

© 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

© 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

© MIRANTIS 2014 12

Murano Application Package

•Catalog headers

•Application properties and dependencies

•Workflow definitions

•Other required resources:• Heat templates

• Deployment and configuration scripts

• Binaries…

© 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

© 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

© MIRANTIS 2014 15

Demo• Uploading MS SQL Server application

package

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

© 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

© 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!

© MIRANTIS 2014 18

Questions?

• Project homepage:

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

• IRC:

#murano at freenode

• Mailing list:openstack-dev@lists.openstack.org,add [Murano] in the subject field

© 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!

Recommended