openstack devops workflows with tosca

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

Upload: eliza-croen

Post on 06-May-2015

2.478 views

Category:

Technology


0 download

DESCRIPTION

The Cloud offers real opportunities for full DevOps culture with everything automated and silo free. To make these opportunities come true, one needs to go beyond a simple siloed approach that assumes the IaaS setup is separate from the middleware setup, and altogether different than application deployment. There is a need for automation of all processes, across layers using a customized workflow approach. In this talk we will suggest modeling of such workflows and architecture to execute them.

TRANSCRIPT

Page 1: OpenStack DevOps Workflows with TOSCA

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

& What’s in Between

Yaron Parasol, Uri Cohen GigaSpaces @yaronpar, @uri1803

Page 2: OpenStack DevOps Workflows with TOSCA

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

Page 3: OpenStack DevOps Workflows with TOSCA

So They’re Services Are Deployed on OpenStack

Gunicorn

PostgreSQL

Hadoop

ActiveMQ

Nginx

MongoDB

Logstash

Graphite

Jenkins

Nagios

Page 4: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

They Need to Automate!!

Page 6: OpenStack DevOps Workflows with TOSCA

So, Let’s have a closer

look at DevOps

Processes

It’s about Workflows

and Triggers

Page 7: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

Scaling • Trigger: System

SLAs, Schedule• Flow: Add new

nodes, push code, reconfigure dependent nodes, reconfigure LB

Page 12: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

Let’s have a look at AWS

• Compared to OpenStack

Page 14: OpenStack DevOps Workflows with TOSCA

The AWS Stack

Page 15: OpenStack DevOps Workflows with TOSCA

The OpenStack Equivalents

OpenShift/ CloudFoundry

**Solum**Heat Nova, Cinder,

Neutron etc..?

Page 16: OpenStack DevOps Workflows with TOSCA

He Calls It Devops Automation

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

Page 17: OpenStack DevOps Workflows with TOSCA

Still a bit too rigid

Page 18: OpenStack DevOps Workflows with TOSCA

OpsWorks – We can do

better!

• Integrated with Heat• Cross Clouds• Custom

Workflows• Not limited to

Chef• Open Monitoring

and Policies

Page 19: OpenStack DevOps Workflows with TOSCA

How do you build the WF

piece?

• Introduction to the Cloudify COSMO project

Page 20: OpenStack DevOps Workflows with TOSCA

Our TOSCA-Inspired Building Blocks

Application Topologies

Workflows

Policies

Page 21: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

Workflows

• Create and interact with nodes using actions

Page 23: OpenStack DevOps Workflows with TOSCA

Policies• Trigger workflows

based on a certain system state

Page 24: OpenStack DevOps Workflows with TOSCA

DSL

GUI

How It Works in PracticeBlueprint + RuntimeModel

Metrics

Plugins

WorkflowEngine

TaskBroker

PolicyEngine

AgentMetrics

Collector

Plugin

RESTAPI

Agent

Plugin

Page 25: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

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: OpenStack DevOps Workflows with TOSCA

Plans, Plans

Page 28: OpenStack DevOps Workflows with TOSCA

Plans, Plans

Page 29: OpenStack DevOps Workflows with TOSCA

How Does It Fit into the OpenStack Eco-System?

• The need was identified (Call for TOSCA like DSL, TOSCA YAML proposal for heat• Mistral Project - WFaaS, should be

relevant WRT DevOps Automation• Solum Project– Solum Blueprints identified the needs:

• Cross Cloud• Continuous Deployment

Page 30: OpenStack DevOps Workflows with TOSCA

Thank You!

Come meet us in the demo booth