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

OpenStack DevOps Workflows with TOSCA

Embed Size (px)

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.

Citation preview

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