Upload
alexander-tivelkov
View
2.254
Download
3
Embed Size (px)
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:[email protected],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!