Application Management in Openstack

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