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

Yaron Parasol, Uri Cohen
GigaSpaces
@yaronpa...
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

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

Rolling out new
code is Painful

http://www.interestingtop...
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, Network
– Confi...
Infra
Upgrade

• Trigger: Critical
updates, patches,
etc.
• Flow: Take down
relevant processes,
one by one, apply
patch, a...
App upgrade
(or more
generally,
CD)

• Trigger: CI server,
Manual
• Flow: Canary,
Red/Black, A/B…
– In general – Partial
d...
Node Failure

• Trigger: #$%@
happens…
• Flow: Detect, provision
VM, attach storage,
add to network,
reconfigure app (load...
Scaling

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

Middleware

Infrastructure

Proxy Config

Python App

Schema

NGinx

Guni...
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 Monito...
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
I...
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

GU...
Live Demo – Installing Mezzanine
•
•
•
•
•
•
•
•
•

Create the VMs
Install Postgres
Install Gunicorn
Install NGinx
Create ...
Some
Resources

• Framework (code
name – Cosmo)
code and sample app
are available on
github
github.com/cloudifysource/cosm...
Plans, Plans
Plans, Plans
How Does It Fit into the OpenStack
Eco-System?
• The need was identified (Call for
TOSCA like DSL)
• Solum Project
– Solum...
Thank You!

Come meet us in booth
C27
Upcoming SlideShare
Loading in …5
×

Automating Application over OpenStack using Workflows

2,793 views

Published on

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.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,793
On SlideShare
0
From Embeds
0
Number of Embeds
420
Actions
Shares
0
Downloads
85
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • 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
  • They do it manually, pushing code to git, then compiling
  • They also realized that in order to run well in the cloud they need DevOps and automationWhat are the options
  • 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
  • Let’s see how the could have automate it over AWS as a benchmark
  • http://www.allthingsdistributed.com/2013/02/aws-opsworks.html
  • http://cosmoui.gsdev.info/http://15.185.152.24:8080/index.html#/dashboard/elasticsearch/Cloudify%20Cosmo%20Demohttp://15.185.160.213/
  • Automating Application over OpenStack using Workflows

    1. 1. It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Yaron Parasol, Uri Cohen GigaSpaces @yaronpar, @uri1803
    2. 2. Meet Petsy, Selling Pet Art and Supporting Pet Artists Since 2013
    3. 3. So They’re Services Are Deployed on OpenStack Logstash PostgreSQL Nginx Hadoop Graphite Gunicorn ActiveMQ MongoDB Jenkins Nagios
    4. 4. The Business Is Doing Great, Thx (esp. Cat paper crafts), But… Rolling out new code is Painful http://www.interestingtopics.net/storage/5762c0bec0add88fae0c3958d61effe1.jpg
    5. 5. They Need to Automate!!
    6. 6. So, Let’s have a closer look at DevOps Processes It’s about Workflows and Triggers
    7. 7. 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/
    8. 8. Infra Upgrade • Trigger: Critical updates, patches, etc. • Flow: Take down relevant processes, one by one, apply patch, and reconnect to cluster. In some cases restarts server
    9. 9. App upgrade (or more generally, CD) • Trigger: CI server, Manual • Flow: Canary, Red/Black, A/B… – In general – Partial deploy, verify, rollback / complete deploy
    10. 10. 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.)
    11. 11. Scaling • Trigger: System SLAs, Schedule • Flow: Add new nodes, push code, reconfigure dependent nodes, reconfigure LB
    12. 12. Automation refers to all the layers Application Middleware Infrastructure Proxy Config Python App Schema NGinx Gunicorn Postgres Host Networks Storage WE need Workflows
    13. 13. Let’s have a look at AWS • Compared to OpenStack
    14. 14. The AWS Stack
    15. 15. The OpenStack Equivalents OpenShift/ CloudFoundry **Solum** ? Heat Nova, Cinder, Neutron etc..
    16. 16. He Calls It Devops Automation http://www.allthingsdistributed.com/2013/02/aws-opsworks.html
    17. 17. Still a bit too rigid
    18. 18. OpsWorks – We can do better! • Integrated with Heat • Cross Clouds • Custom Workflows • Not limited to Chef • Open Monitoring and Policies
    19. 19. How do you build the WF piece? • Introduction to the Cloudify COSMO project
    20. 20. Our TOSCA-Inspired Building Blocks Application Topologies Workflows Policies
    21. 21. • 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
    22. 22. Workflows • Create and interact with nodes using actions
    23. 23. Policies • Trigger workflows based on a certain system state
    24. 24. 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
    25. 25. 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
    26. 26. Some Resources • Framework (code name – Cosmo) code and sample app are available on github github.com/cloudifysource/cosmo- manager github.com/cloudifysource/cosmo-mezzanineexample
    27. 27. Plans, Plans
    28. 28. Plans, Plans
    29. 29. 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
    30. 30. Thank You! Come meet us in booth C27

    ×