automating application over openstack using workflows

30
It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Yaron Parasol, Uri Cohen GigaSpaces @yaronpar, @uri1803

Upload: yaron-parasol

Post on 15-Jan-2015

1.641 views

Category:

Technology


2 download

DESCRIPTION

OpenStack Heat is gaining momentum as a DevOps tool to orchestrate the creation of OpenStack cloud environments. Heat is based on a DSL describing simple orchestration of cloud objects, but lacks better representation of the middleware and the application components as well as more complex deployment and post-deployment orchestration workflows. The Heat community has started discussing a higher level DSL that will support not just infrastructure components. This session will present a further extended suggestion for a DSL based on the TOSCA specification, which covers broader aspects of an application behavior and deployment such as the installation, configuration management, continuous deployment, auto-healing and scaling. We will also share some of our thoughts on how this DSL can interface with native OpenStack projects, such as Heat, Keystone and Ceilometer.

TRANSCRIPT

Page 1: Automating Application over OpenStack using Workflows

It’s the App, Stupid!Orchestration, Automation, Scaling

& What’s in Between

Yaron Parasol, Uri Cohen GigaSpaces @yaronpar, @uri1803

Page 2: Automating Application over OpenStack using Workflows

Meet Petsy, Selling Pet Art and Supporting Pet Artists Since 2013

Page 3: Automating Application over OpenStack using Workflows

So They’re Services Are Deployed on OpenStack

Gunicorn

PostgreSQL

Hadoop

ActiveMQ

Nginx

MongoDB

Logstash

Graphite

Jenkins

Nagios

Page 4: Automating Application over OpenStack using Workflows

The Business Is Doing

Great, Thx (esp. Cat

paper crafts), But…

Rolling out new code is Painful

http://www.interestingtopics.net/storage/5762c0bec0add88fae0c3958d61effe1.jpg

Page 5: Automating Application over OpenStack using Workflows

They Need to Automate!!

Page 6: Automating Application over OpenStack using Workflows

So, Let’s have a closer

look at DevOps

Processes

It’s about Workflows

and Triggers

Page 7: Automating Application over OpenStack using Workflows

Automated Deployment

• Triggers: Manual, CI Server• Flow: – Provision Cloud

Resources: Compute, Storage, Network

– Configure servers – Push code– Start components

http://www.flickr.com/photos/smilemark/4611091236/sizes/m/in/photostream/

Page 8: Automating Application over OpenStack using Workflows

InfraUpgrade

• Trigger: Critical updates, patches, etc.

• Flow: Take down relevant processes, one by one, apply patch, and reconnect to cluster. In some cases restarts server

Page 9: Automating Application over OpenStack using Workflows

App upgrade (or more generally,

CD)

• Trigger: CI server, Manual • Flow: Canary,

Red/Black, A/B…– In general – Partial

deploy, verify, rollback / complete deploy

Page 10: Automating Application over OpenStack using Workflows

Node Failure • Trigger: #$%@

happens… • Flow: Detect, provision

VM, attach storage, add to network, reconfigure app (load balancer in case of web serve, DB connection in case of database, etc.)

Page 11: Automating Application over OpenStack using Workflows

Scaling • Trigger: System

SLAs, Schedule• Flow: Add new

nodes, push code, reconfigure dependent nodes, reconfigure LB

Page 12: Automating Application over OpenStack using Workflows

Automation refers to all the layers

Proxy Config Python App Schema

Infrastructure

Middleware NGinx Gunicorn Postgres

Application

Host Networks Storage

WE need Workflows

Page 13: Automating Application over OpenStack using Workflows

Let’s have a look at AWS

• Compared to OpenStack

Page 14: Automating Application over OpenStack using Workflows

The AWS Stack

Page 15: Automating Application over OpenStack using Workflows

The OpenStack Equivalents

OpenShift/ CloudFoundry

**Solum**Heat Nova, Cinder,

Neutron etc..?

Page 16: Automating Application over OpenStack using Workflows

He Calls It Devops Automation

http://www.allthingsdistributed.com/2013/02/aws-opsworks.html

Page 17: Automating Application over OpenStack using Workflows

Still a bit too rigid

Page 18: Automating Application over OpenStack using Workflows

OpsWorks – We can do

better!

• Integrated with Heat• Cross Clouds• Custom

Workflows• Not limited to

Chef• Open Monitoring

and Policies

Page 19: Automating Application over OpenStack using Workflows

How do you build the WF

piece?

• Introduction to the Cloudify COSMO project

Page 20: Automating Application over OpenStack using Workflows

Our TOSCA-Inspired Building Blocks

Application Topologies

Workflows

Policies

Page 21: Automating Application over OpenStack using Workflows

Application Topologies

• Nodes – The layers in the cake -

e.g. VM, web server, app module

– Actions (can be grouped into Interfaces)

• Relationships– Actions– Requirements <->

capabilities

Page 22: Automating Application over OpenStack using Workflows

Workflows

• Create and interact with nodes using actions

Page 23: Automating Application over OpenStack using Workflows

Policies• Trigger workflows

based on a certain system state

Page 24: Automating Application over OpenStack using Workflows

DSL

GUI

How It Works in PracticeBlueprint + RuntimeModel

Metrics

Plugins

WorkflowEngine

TaskBroker

PolicyEngine

AgentMetrics

Collector

Plugin

RESTAPI

Agent

Plugin

Page 25: Automating Application over OpenStack using Workflows

Live Demo – Installing Mezzanine

• Create the VMs• Install Postgres • Install Gunicorn• Install NGinx• Create DB on Postgres• Push app to Containers• Configure App connection to DB• Configure Nginx routing rules• Start components in the right order

Page 26: Automating Application over OpenStack using Workflows

Some Resources

• Framework (code name – Cosmo) code and sample app are available on github github.com/cloudifysource/cosmo-manager github.com/cloudifysource/cosmo-mezzanine-example

Page 27: Automating Application over OpenStack using Workflows

Plans, Plans

Page 28: Automating Application over OpenStack using Workflows

Plans, Plans

Page 29: Automating Application over OpenStack using Workflows

How Does It Fit into the OpenStack Eco-System?

• The need was identified (Call for TOSCA like DSL)• Solum Project– Solum Blueprints identified the needs:• Cross Cloud• Continuous Deployment

– As of last week we have joined Solum• In order to contribute the relevant parts into Solum

Page 30: Automating Application over OpenStack using Workflows

Thank You!

Come meet us in booth C27