Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Murano: Application Catalog for Openstack

5,776 views

Published on

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

Published in: Technology
  • Be the first to comment

Murano: Application Catalog for Openstack

  1. 1. Murano — Application catalog for OpenStack Alexander Tivelkov Mirantis, Inc. © MIRANTIS 2014 1
  2. 2. Agenda • Why do we need an application catalog? • Use cases • Murano project overview • Application packages and their structure • Murano Architecture • Demo • Q&A © MIRANTIS 2014  2
  3. 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 3
  4. 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 4
  5. 5. Who is next? Developers! © MIRANTIS 2014 5
  6. 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 6
  7. 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 7
  8. 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 8
  9. 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 9
  10. 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 10
  11. 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 11
  12. 12. Murano Application Package • Catalog headers • Application properties and dependencies • Workflow definitions • Other required resources: • Heat templates • Deployment and configuration scripts • Binaries … © MIRANTIS 2014 12
  13. 13. Murano environments • Composed of Applications and their Dependencies • Detect the types of dependencies automatically Network Network Linux node Linux node • Can be modified in runtime Linux node Linux node Linux node Linux node Tomcat Tomcat Server Server • Environment templates may be saved and reused © MIRANTIS 2014 My Java My Java application application MySQL MySQL 13
  14. 14. Architecture overview Package Package Repository Repository OpenStack Dashboard OpenStack Dashboard Standalone UI Standalone UI REST API REST API CLI CLI Environment Environment Storage Storage Murano Murano Engine Engine VM-side VM-side guest guest agent agent Core openstack Core openstack services services © MIRANTIS 2014 14
  15. 15. Demo • Uploading MS SQL Server application package • Deploying a windows-based environment consisting of Active Directory and clustered MS SQL Server © MIRANTIS 2014 15
  16. 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 16
  17. 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 17
  18. 18. Questions? • Project homepage: launchpad.net/murano wiki.openstack.org/wiki/Murano • IRC: #murano at freenode • Mailing list: openstack-dev@lists.openstack.org, add [Murano] in the subject field © MIRANTIS 2014 18
  19. 19. A common question: why not Puppet? Murano Puppet • User-oriented • DevOps-oriented • Higher-level • Lower-level • Dynamically builds and modifies environments for any user-defined configuration • Manifests are fixed for particular cloud configuration • Maximum flexibility • Customisable flexibility But Murano can run Puppet underneath! © MIRANTIS 2014 19

×