Application Management in Openstack

32
Copyright © 2015 Mirantis, Inc. All rights reserved www.mirantis.com Application Management in OpenStack OpenStack Israel - 5 Aug 2015 Craig Peters, Director of Product Management, Mirantis @peterscraig

Transcript of Application Management in Openstack

Page 1: Application Management in Openstack

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

Page 2: Application Management in Openstack

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

Page 3: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Large Distributed Systems are Complex

Page 4: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Large Distributed Systems are Complex

Page 5: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Large Distributed Systems are Complex

Page 6: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Large Distributed Systems are Complex

Page 7: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Large Distributed Systems are Complex

Page 8: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

How to Handle Complexity?

Page 9: Application Management in Openstack

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...

Page 10: Application Management in Openstack

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

Page 11: Application Management in Openstack

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

Page 12: Application Management in Openstack

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

Page 13: Application Management in Openstack

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

Page 14: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

OperatorDeveloper

Imperative Approach to Simplify

ServiceUser

Infrastructure Requirements

Deployment config & app mgt.

Publish to Catalog

Page 15: Application Management in Openstack

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

Page 16: Application Management in Openstack

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

Page 17: Application Management in Openstack

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

Page 18: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Developer Defines Generic Lifecycle

https://murano.readthedocs.org/en/stable-kilo/murano_pl/murano_pl_index.html

Page 19: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Wordpress Example

Page 20: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Wordpress Example

https://github.com/openstack/murano-apps/tree/master/WordPress/package

Page 21: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Wordpress Example

Page 22: Application Management in Openstack

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

Page 23: Application Management in Openstack

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

Page 24: Application Management in Openstack

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

Page 25: Application Management in Openstack

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

Page 26: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Page 27: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Consumer Uses Cloud Operator Controlled UI/API

Page 28: Application Management in Openstack

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

Page 29: Application Management in Openstack

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

Page 30: Application Management in Openstack

Copyright © 2015 Mirantis, Inc. All rights reserved

Thank You!

Q&A

Page 31: Application Management in Openstack

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

Page 32: Application Management in Openstack

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