View
165
Download
0
Category
Tags:
Preview:
Citation preview
Copyright © 2015 Mirantis, Inc. All rights reserved
www.mirantis.com
Application Management in OpenStackOpenStack Israel - 5 Aug 2015Craig Peters, Director of Product Management, Mirantis@peterscraig
Copyright © 2015 Mirantis, Inc. All rights reserved
Even Simple Systems Exhibit Complex Behaviors
Even a simple logistic system results in complex outcomes
Xn+1
= rXn (1-X
n)
Reference: Wiki: Logistic Maps https://en.wikipedia.org/wiki/Logistic_map
Copyright © 2015 Mirantis, Inc. All rights reserved
Large Distributed Systems are Complex
Copyright © 2015 Mirantis, Inc. All rights reserved
Large Distributed Systems are Complex
Copyright © 2015 Mirantis, Inc. All rights reserved
Large Distributed Systems are Complex
Copyright © 2015 Mirantis, Inc. All rights reserved
Large Distributed Systems are Complex
Copyright © 2015 Mirantis, Inc. All rights reserved
Large Distributed Systems are Complex
Copyright © 2015 Mirantis, Inc. All rights reserved
How to Handle Complexity?
Copyright © 2015 Mirantis, Inc. All rights reserved
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
Every programmableresource has apotentiallyindependent revisioncycle.
Application’sinternal configuration
… but each app also becomes a snowflake*
APPLICATION/WORKLOAD
/SERVICE
Networkswitch and routing
Persistent Storage
OperatingSystemImage
East/Westauthenticationaccess/control
Ephemeral (cache) Storage
MonitoringLogging
Usercredentials
*snowflake -- unique configuration, difficult to manage consistently
Copyright © 2015 Mirantis, Inc. All rights reserved
Puppet
Chef
Salt
Heat
...
Declarative Approaches to Simplify
Enable operators to control the end state of the cloud
Copyright © 2015 Mirantis, Inc. All rights reserved
Declarative Approaches to Simplify
Local cloud dependencies
● Networks● Security groups● Availability zones● Roles● Storage● Backup software...
Result: versions of templates for every deployment environment
Copyright © 2015 Mirantis, Inc. All rights reserved
How can the developer define?
● Deploy● Upgrade● Scale● Backup/restore
For every deployment environment?
The developer shouldn’t care at all about the deployed environment.
Declarative Approaches to Simplify
Copyright © 2015 Mirantis, Inc. All rights reserved
OperatorDeveloper
Imperative Approach to Simplify
ServiceUser
Infrastructure Requirements
Deployment config & app mgt.
Publish to Catalog
Copyright © 2015 Mirantis, Inc. All rights reserved
Keep complexity in the box improves out-of-box
OpenStack Catalog Developers and Operators
1. Define
- Raw Application- Murano Packaging and Logic- Heat, etc. (Orches- tration Assets & Templates)- VMs/OS-Images
2. Operate
OpenStack Catalog Users
1. Click 2. Launch
White Box Black Box
Copyright © 2015 Mirantis, Inc. All rights reserved
Murano High-Level Workflow
Define App/Service
Lifecycle Actions
Push Murano Package to Git
Pull Murano Package from
Git
Modify for Local Cloud and
Merge
Publish to Catalog
Browse CatalogManage Environ-ments
App/Service Actions
Con
sum
erO
pera
tor
Dev
elop
er
Copyright © 2015 Mirantis, Inc. All rights reserved
Developer Defines Generic Lifecycle
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
Copyright © 2015 Mirantis, Inc. All rights reserved
Developer Defines Generic Lifecycle
https://murano.readthedocs.org/en/stable-kilo/murano_pl/murano_pl_index.html
Copyright © 2015 Mirantis, Inc. All rights reserved
Wordpress Example
Copyright © 2015 Mirantis, Inc. All rights reserved
Wordpress Example
https://github.com/openstack/murano-apps/tree/master/WordPress/package
Copyright © 2015 Mirantis, Inc. All rights reserved
Wordpress Example
Copyright © 2015 Mirantis, Inc. All rights reserved
Continuous signaling from dev to ops
OperatorDeveloper
Application Repository
Infrastructure Ops ConfigRepository
Murano Package:• Manifest• Classes• User input requirements• Image dependencies• Supporting Files
Murano Service
Murano service codifies Dev-Ops contract
Copyright © 2015 Mirantis, Inc. All rights reserved
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
Cloud Operator Adapts to Local Clouds
Easily re-use Heat, Chef, Puppet and any local scripts
https://github.com/openstack/murano-apps/blob/master/Chef/GitChef/package/Classes/GitChef.yaml
to specify local rules and policies
Copyright © 2015 Mirantis, Inc. All rights reserved
Cloud Operator
Refine the UI to only ask for needed input
https://murano.readthedocs.org/en/stable-kilo/articles/dynamic_ui.html
Copyright © 2015 Mirantis, Inc. All rights reserved
Copyright © 2015 Mirantis, Inc. All rights reserved
Consumer Uses Cloud Operator Controlled UI/API
Copyright © 2015 Mirantis, Inc. All rights reserved
Murano partitions OpenStack cloud app/service lifecycle mgt.
1. Catalog users: Launch apps/services independent of infra dependencies
2. Cloud Application/Service developersSpecify apps’ infra needs, no direct binding of resources
3. Cloud administrators Configure and control automation for deployment, operations OpenStack cloud apps/workloads
Murano delivers apps/services to OpenStack faster
Copyright © 2015 Mirantis, Inc. All rights reserved
OpenStack Community Apps Catalog
http://apps.openstack.org
https://wiki.openstack.org/wiki/App-Catalog
https://github.com/openstack/murano-apps
Copyright © 2015 Mirantis, Inc. All rights reserved
Thank You!
Q&A
Copyright © 2015 Mirantis, Inc. All rights reserved
Accelerates uptake of OpenStack Cloud & workloads
● Infrastructure flexibility without reducing stability● Simple out-of-box launch to cloud for users -> point/click
● Insulate app developers and users from infra changes, complexity
● Streamline packaging, automation-chain complexity● Simplify how developers specify infra needs
● Improve OpenStack interoperability ● Readily extensible for orchestration, PaaS frameworks, other IaaS ● Support cloud native, cloud-ready and legacy apps
Key Murano benefits
Copyright © 2015 Mirantis, Inc. All rights reserved
DEVS
IT USERS
IT INFRAValidation
Test Target Tenant config
New versionof App ready
for Test
New versionof App validatedfor deployment
Murano sets infra app deployment
reqts
Muranopublishes
app tocatalog
User launches
app directly
Enabling IT Ops for continuous deployment
Continuous Integration Continuous Deployment
Recommended