cloud stack collabiration conference - it's the app, stupid!

34
It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Uri Cohen GigaSpaces @uri1803 #CCCEU13 #ItsTheAppStupid

Upload: uri-cohen

Post on 15-Jan-2015

2.035 views

Category:

Technology


1 download

DESCRIPTION

Managing and deploying applications on CloudStack (or any other cloud for that matter) can be a daunting task. Resource provisioning, software installation and configuration, failure detection and handling, scaling and continuous delivery are just some of the processes that should be performed (read: automated) in order to do it properly. There are multiple tool chains that tackle some of these processes, each with its own focus and level of control. These can range from pure CM tools such as Chef or Puppet, which focus on repeatable and consistent configuration of servers, all the way to full blown PaaS environments that focus on developer productivity and hide many of the complexities of the underlying infrastructure. In this session Uri will present the problem domain of application deployment and management on the cloud, the benefits and shortcomings of common approaches to it, and what (he believes) is still missing.

TRANSCRIPT

Page 1: Cloud stack collabiration conference - It's the app, stupid!

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

& What’s in Between

Uri Cohen GigaSpaces @uri1803#CCCEU13 #ItsTheAppStupid

Page 2: Cloud stack collabiration conference - It's the app, stupid!

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

Page 3: Cloud stack collabiration conference - It's the app, stupid!

So Their Services Are Deployed on CloudStack

Gunicorn

PostgreSQL

Hadoop

ActiveMQ

Nginx

MongoDB

Logstash

Graphite

Jenkins

Nagios

Page 4: Cloud stack collabiration conference - It's the app, stupid!

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: Cloud stack collabiration conference - It's the app, stupid!

The Business Is Doing

Great, Thx (esp. Cat

paper crafts), But…

MTTR is… mehhh

Mehhh

http://fineartamerica.com/featured/wooly-sheep-ramona-johnston.html

Page 6: Cloud stack collabiration conference - It's the app, stupid!

They Need to Automate!!

Page 7: Cloud stack collabiration conference - It's the app, stupid!

Let’s have a closer look at DevOpsProcesses

It’s about Workflows

and Triggers

Page 8: Cloud stack collabiration conference - It's the app, stupid!

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 9: Cloud stack collabiration conference - It's the app, stupid!

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 10: Cloud stack collabiration conference - It's the app, stupid!

Code Push (or more generally,

CD)

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

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

deploy, verify, rollback / complete deploy

Page 11: Cloud stack collabiration conference - It's the app, stupid!

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 12: Cloud stack collabiration conference - It's the app, stupid!

Scaling • Trigger: System

SLAs, Schedule• Flow: Add new

nodes, push code, reconfigure dependent nodes, reconfigure LB

Page 13: Cloud stack collabiration conference - It's the app, stupid!

Automation Encompasses All Layers

Proxy Config WAR Schema

Infrastructure

Middleware Apache Tomcat MySQL

Application

Host Networks Storage

Page 14: Cloud stack collabiration conference - It's the app, stupid!

Automation Building Blocks

Environment Creation

SW Infra. Setup & Config

Code Push Monitoring & Alarming

Repairing Scaling

Page 15: Cloud stack collabiration conference - It's the app, stupid!

Let’s Look at Some Tools

Page 16: Cloud stack collabiration conference - It's the app, stupid!

Orchestration Tools

Environment Creation

SW Infra. Setup & Config

Code Push Monitoring & Alarming

Repairing Scaling

Page 17: Cloud stack collabiration conference - It's the app, stupid!

CM Tools

Environment Creation

SW Infra. Setup & Config

Code Push Monitoring & Alarming

Repairing Scaling

Page 18: Cloud stack collabiration conference - It's the app, stupid!

Automation Tools

Environment Creation

SW Infra. Setup & Config

Code Push Monitoring & Alarming

Repairing Scaling

Page 19: Cloud stack collabiration conference - It's the app, stupid!

Metric & Log Collection Tools

Environment Creation

SW Infra. Setup & Config

Code Push Monitoring & Alarming

Repairing Scaling

Page 20: Cloud stack collabiration conference - It's the app, stupid!

Still, when you need to

automate & orchestrate,

that’s what is looks like…

Page 21: Cloud stack collabiration conference - It's the app, stupid!

Where You Want to Be

Environment Creation

SW Infra. Setup & Config

Code Push Monitoring & Alarming

Repairing Scaling

Page 22: Cloud stack collabiration conference - It's the app, stupid!

How It’s Done in AWS

Page 23: Cloud stack collabiration conference - It's the app, stupid!

How It’s Done in AWS

Page 24: Cloud stack collabiration conference - It's the app, stupid!

He Calls It DevOps Automation

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

Page 25: Cloud stack collabiration conference - It's the app, stupid!

Still a Bit Too Rigid

Page 26: Cloud stack collabiration conference - It's the app, stupid!

OpsWorks – We Can Do

Better!

• Integrated with CloudStack (and other clouds)• Custom

Workflows• Not limited to

Chef• Open Monitoring

and Policies

Page 27: Cloud stack collabiration conference - It's the app, stupid!

Our TOSCA-Inspired Building Blocks

Application Topologies

Workflows

Policies

Page 28: Cloud stack collabiration conference - It's the app, stupid!

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 29: Cloud stack collabiration conference - It's the app, stupid!

Workflows

• Create and interact with nodes using interfaces

Page 30: Cloud stack collabiration conference - It's the app, stupid!

Policies• Trigger workflows

based on a certain system state

Page 31: Cloud stack collabiration conference - It's the app, stupid!

Where We Are Today

http://cloudifysource.orghttp://github.com/cloudifysource/cloudify

Page 33: Cloud stack collabiration conference - It's the app, stupid!

DSL

GUI

Second Gen ArchitectureBlueprint + RuntimeModel

Metrics

Plugins

WorkflowEngine

TaskBroker

PolicyEngine

AgentMetrics

Collector

Plugin

RESTAPI

Agent

Plugin

Page 34: Cloud stack collabiration conference - It's the app, stupid!

Thank You!