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.

OpenStack Murano

905 views

Published on

Slide deck presented by Ben Silverman from Mirantis at the OpenStack St.Louis October meetup event.

Published in: Technology
  • Be the first to comment

OpenStack Murano

  1. 1. www.mirantis.com Copyright ©2015 Mirantis, Inc. All rights reserved Application  Management in     OpenStack St.  Louis   Meetup Ben  Silverman,  Cloud  Architect, Mirantis @mirantisBen
  2. 2. Main  Trends DevOps Cloud Network Function Virtualization (NFV) IT-as-a- Service Big Data processing
  3. 3. Use  Case  #1  -­‐ DevOps  Cloud Environment  for  developers  to  create,  test   and  publish  applications Environment  includes  development  tools   and  possibly  common  application   components Use  existing  or  DIY  PaaS platform  -­‐ Cloud   Foundry,  OpenShift,  Appcara etc.
  4. 4. Even  Simple  Systems  Exhibit  Complex Behaviors Xn+1 =rXn (1-Xn) Even  a  simple  logistic     system  results  in     complex outcomes Reference:   Wiki:  Logistic  Maps  h ttps://en.wikipedia.org/wiki/Logistic_map Copyright ©2015 Mirantis, Inc. All rights reserved
  5. 5. Large   Distributed  Systems  are Complex Copyright ©2015 Mirantis, Inc. All rights reserved
  6. 6. Large   Distributed  Systems  are Complex Copyright ©2015 Mirantis, Inc. All rights reserved
  7. 7. Large   Distributed  Systems  are Complex Copyright ©2015 Mirantis, Inc. All rights reserved
  8. 8. Large   Distributed  Systems  are Complex Copyright ©2015 Mirantis, Inc. All rights reserved
  9. 9. Large   Distributed  Systems  are Complex Copyright ©2015 Mirantis, Inc. All rights reserved
  10. 10. How  to  Handle Complexity? Copyright ©2015 Mirantis, Inc. All rights reserved
  11. 11. Is  there  an  easier  way?
  12. 12. OpenStack exposes   infrastructure resources   so  they  can  be controlled programmatically →Compute →Network →Persistent Storage →Ephemeral Caching →Auth/Access →Monitor/Logs/Audit →OS-­‐Image/Virtualization →User Credentials Each  app  “can”  specify  its  own infrastructure... Copyright ©2015 Mirantis, Inc. All rights reserved
  13. 13. Copyright ©2015 Mirantis, Inc. All rights reserved Every     programmable     resource  has  a     potentially     independent     revision cycle. Application’s     internal     configuration … but each app also becomes a snowflake* APPLICATION /WORKLOAD /SERVICE Network     switch and     routing Persistent     Storage Operating System Image East/West     authentication   access/control Ephemeral (cache)     Storage Monitoring     Logging User     credentials *snowflake   -­‐-­‐ unique  configuration,     difficult   to  manage   consistently Application   Workload
  14. 14. Get,  Share  and  Run  Apps  on  Demand Create Catalog ● Easily add new apps ● Describe forms,app dependencies, suggested configurations, billing rules etc. Deploy Apps ● Deploy applications and services with a push of a button ● Choose apps, specify settings, and deploy Automatically Manage Apps ● Monitor with Ceilometer ● Automatically self-heal,scale up & down, failover, backup ● Application specific actions ● Track usage Murano with Open APIs or GUI
  15. 15. Murano – Openstack App  Catalog
  16. 16. Puppet     Chef     Salt     Heat ... Copyright ©2015 Mirantis, Inc. All rights reserved Declarative  Approaches  to Simplify Enable  operators to  control     the  end  state  of  the cloud
  17. 17. Declarative  Approaches  to Simplify Copyright ©2015 Mirantis, Inc. All rights reserved Local  cloud dependencies ● Networks ● Security groups ● Availability zones ● Roles ● Storage ● Backup software... Result:  versions  of     templates  for  every     deployment environment
  18. 18. How  can  the  developer     define? ● Deploy ● Upgrade ● Scale ● Backup/restore Copyright ©2015 Mirantis, Inc. All rights reserved For  every  deployment     environment? The  developer  shouldn’t  care     at  all  about  the  deployed     environment. Declarative  Approaches  to Simplify
  19. 19. Developer  Defines  Generic Lifecycle Copyright ©2015 Mirantis, Inc. All rights reserved Define  the  basic  steps  for  each  lifecycle  events  using  a     simple  workflow language Object  oriented  to  define  events  with inputs ● deploy,  upgrade,  scale,  backup,  restore, etc… Documentation https://murano.readthedocs.org/en/stable-­‐kilo/articles/app_pkg.html
  20. 20. Murano  partitions  OpenStack  cloud  app/service  lifecycle mgt. 1. Catalog users: Launch  apps/services   independent  of  infra dependencies 2. Catalog Application/Service developers Specify  apps’  infra  needs,  no  direct  binding  of resources 3. Cloud administrators Configure  and  control  apps  for  automation  for   deployment,    operations for OpenStack  cloud apps/workloads Murano  delivers  apps/services  to  OpenStack faster
  21. 21. OperatorDeveloper Imperative  Approach  to Simplify Service     User Publish  toCatalog InfrastructureRequirements Copyright ©2015 Mirantis, Inc. All rights reserved Catalog Service User Muranto Catalog   Developer Murano Catalog Operator Infrastructure  Requirements Deployment  cfg &  app  mgt
  22. 22. Keep complexity in the box improves out-­‐of-­‐box 1.Define -­‐ RawApplication -­‐ Murano  Packaging     and  Logic -­‐ Heat,  etc.  (Orches-­‐ tration  Assets  &     Templates) -­‐ VMs/OS-­‐Images 2.  Operate 1.  Click Copyright ©2015 Mirantis, Inc. All rights reserved 2.  Launch OpenStack  Catalog     Developers  and Operators White Box OpenStackCatalog   Users Black  Box
  23. 23. Murano  High-­‐Level Workflow Define     App/Service   Lifecycle     Actions Push  Murano     Package  toGit Pull   Murano     Packagefrom   Git Modifyfor Local   Cloud  and     Merge Publish to     Catalog BrowseCatalog Manage Environ-­‐ ments App/Service     Actions ConsumerOperatorDeveloper Copyright ©2015 Mirantis, Inc. All rights reserved
  24. 24. How  do  developers  start  working  with  Murano? 1. Glance 2. Heat  Templates 3. Murano Packages
  25. 25. Glance  images  – 3  words  “Disk  Image  Builder”
  26. 26. Drop  it  like  it’s  HOT  – Heat  Orchestration  Templates
  27. 27. Murano – Ingredients • YAML  definitions  of  assets • Javascript site  to  display • New  content/assets  flow   through  the  OpenStack Community  Process • Cosumable via  Horizon  or   an  OpenStack API
  28. 28. http://murano.readthedocs.org
  29. 29. Developer  Defines  Generic Lifecycle https://murano.readthedocs.org/en/stable-­kilo/murano_pl/murano_pl_index.html Copyright ©2015 Mirantis, Inc. All rights reserved • MuranoPL  Core  Library • Class:  Object • Class:  Application • Class:  SecurityGroupManager • Class:  Environment • Class:  Instance • Class:  Network • Class:  NewNetwork • Murano PL  System  Class  Definitions • io.murano.system.Resources • io.murano.system.Agent • io.murano.system.AgentListener • io.murano.system.HeatStack • io.murano.system.InstanceNotifier • io.murano.system.NetworkExplorer • io.murano.system.StatusReporter
  30. 30. Wordpress Example Copyright ©2015 Mirantis, Inc. All rights reserved https://github.com/openstack/murano-­‐apps/tree/master/WordPress/package
  31. 31. Wordpress Example Copyright ©2015 Mirantis, Inc. All rights reserved
  32. 32. Wordpress Example Copyright ©2015 Mirantis, Inc. All rights reserved
  33. 33. Cloud  Operator  Adapts  to  Local Clouds Application  |  Chef  |  Puppet (extensible) https://github.com/openstack/murano-­‐ agent/tree/master/muranoagent/executors Copyright ©2015 Mirantis, Inc. All rights reserved
  34. 34. Cloud  Operator  Adapts  to  Local Clouds Copyright ©2015 Mirantis, Inc. All rights reserved Easily  re-­‐use  Heat,  Chef,  Puppet  and  any  local scripts https://github.com/openstack/murano-­‐ apps/blob/master/Chef/GitChef/package/Classes/GitChef.   y  aml to  specify  local  rules  and policies
  35. 35. Cloud Operator Copyright ©2015 Mirantis, Inc. All rights reserved Refine  the  UI  to  only  ask  for  needed input https://murano.readthedocs.org/en/stable-­‐kilo/articles/dynamic_ui.html “The  main  purpose   of  Dynamic  UI  is  to  generate  application  creation  forms  “on-­‐the-­‐fly”.   Murano dashboard  doesn’t   know  anything  about  what  applications  can  be  deployed  and   which  web  form  are  needed  to  create  application  instance.  So  all  application  definitions   should  contain  a  yaml file  which  tells  dashboard  how  to  create  an  application  and  what   validations  are  to  be  applied.”  
  36. 36. Consumer  Uses  Cloud  Operator  Controlled UI/API

×