It’s the App, Stupid!
Orchestration, Automation, Scaling
& What’s in Between

Yaron Parasol, Uri Cohen
GigaSpaces
@yaronpar, @uri1803
Meet
Petsy, Selling
Pet Art and
Supporting
Pet Artists
Since 2013
So They’re Services Are Deployed
on OpenStack

Logstash

PostgreSQL
Nginx
Hadoop

Graphite

Gunicorn

ActiveMQ
MongoDB

Jenkins

Nagios
The Business
Is Doing
Great, Thx
(esp. Cat
paper
crafts), But…

Rolling out new
code is Painful

http://www.interestingtopics.net/storage/5762c0bec0add88fae0c3958d61effe1.jpg
They Need to
Automate!!
So, Let’s
have a closer
look at
DevOps
Processes

It’s about
Workflows
and
Triggers
Automated
Deployment

• Triggers:
Manual, CI Server
• Flow:
– Provision Cloud
Resources:
Compute, Storage, Net
work
– Configure servers
– Push code
– Start components
http://www.flickr.com/photos/smilemark/4611091236/sizes/m/in/photostream/
Infra
Upgrade

• Trigger: Critical
updates, patches, et
c.
• Flow: Take down
relevant
processes, one by
one, apply
patch, and
reconnect to cluster.
In some cases
restarts server
App upgrade
(or more
generally, CD
)

• Trigger: CI
server, Manual
• Flow:
Canary, Red/Black,
A/B…
– In general – Partial
deploy, verify, rollback /
complete deploy
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.)
Scaling

• Trigger: System
SLAs, Schedule
• Flow: Add new
nodes, push
code, reconfigure
dependent
nodes, reconfigur
e LB
Automation refers to all the layers
Application

Middleware

Infrastructure

Proxy Config

Python App

Schema

NGinx

Gunicorn

Postgres

Host

Networks

Storage

WE need Workflows
Let’s have a
look at AWS

• Compared to
OpenStack
The AWS Stack
The OpenStack Equivalents

OpenShift/
CloudFoundry
**Solum**

?

Heat

Nova, Cinder,
Neutron etc..
He Calls It Devops
Automation

http://www.allthingsdistributed.com/2013/02/aws-opsworks.html
Still a bit too
rigid
OpsWorks –
We can do
better!

• Integrated with
Heat
• Cross Clouds
• Custom
Workflows
• Not limited to
Chef
• Open Monitoring
and Policies
How do you
build the WF
piece?

• Introduction to
the Cloudify
COSMO project
Our TOSCA-Inspired Building Blocks
Application
Topologies
Workflows

Policies
• Nodes

Application
Topologies

– The layers in the cake e.g. VM, web
server, app module
– Actions (can be
grouped into
Interfaces)

• Relationships
– Actions
– Requirements <->
capabilities
Workflows

• Create and
interact with
nodes using
actions
Policies

• Trigger workflows
based on a certain
system state
How It Works in Practice
REST
API

Blueprint
Runtime
Model

Workflow
Engine

DSL

+

Metrics
Policy
Engine
Task
Broker

GUI

Agen
t

Plugins

Plugin

Metrics
Collecto
r

Agen
t
Plugin
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
Some
Resources

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

manager
github.com/cloudifysource/cosmo-mezzanineexample
Plans, Plans
Plans, Plans
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
Thank You!

Come meet us in the
demo booth

OpenStack DevOps Workflows with TOSCA

Editor's Notes

  • #2 Goals:Why Workflows are critical part of automation of applications on the cloudClarify the need for something like OpsWorksWhy do we think this OpsWorks is needed in addition to other projects
  • #5 They do it manually, pushing code to git, then compiling
  • #6 They also realized that in order to run well in the cloud they need DevOps and automationWhat are the options
  • #7 The building blocks are triggers and workflowsTriggers because triggers need to be automated as well as events resulting from policies / integrationetcWorkflows – because these are complex multi-step processesLet’s have a look at few typical use cases
  • #14 Let’s see how the could have automate it over AWS as a benchmark
  • #17 http://www.allthingsdistributed.com/2013/02/aws-opsworks.html
  • #26 http://cosmoui.gsdev.info/http://15.185.152.24:8080/index.html#/dashboard/elasticsearch/Cloudify%20Cosmo%20Demohttp://15.185.160.213/