devops meets paas - ny meetup with chef (opscode)

Post on 15-Jan-2015

2.217 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

The concept of DevOps and recipes can go well beyond setup, to actually accelerate the entire lifecycle of your applications, from setup, to monitoring, through maintaining high availability, and auto-scaling when required. Cloudify ties things together from an application perspective and prepares everything so that Chef can run on the proper nodes on the cloud, and then monitors and auto scales your app on any cloud

TRANSCRIPT

1

Cooking Recipe with Chef and Cloudify

Uri Cohengithub.com/uric

@uri1803

2

PAAS - A REMINDER

Provision hosts/VMs

Manage applications and services

3

A LOT OF CHOICES

Elastic Beanstalk

4

A REAL APP…

5

Ask yourself: • Do I need additional

platforms?• Do I need a

different OS version/type?

• Can I settle for the underlying cloud SLAs?

BUT IS THIS GOOD ENOUGH FOR YOU?

6

Idea is to model your app and its components using code (Groovy DSL, to be specific)

Kind of like a deployment descriptor, but for the entire stack

DEVOPS IS A GREAT PAAS ENABLER

7

GigaSpaces Cloudify is an open source PaaS stack that can on board any application to any cloud without architectural or code changes.

GIGASPACES CLOUDIFY

1. Mission critical applications 2. Any cloud, any stack. No code change3. Full control and visibility

CHEF & CLOUDIFY

Cloudify App life cycle &

orchestration (deployment dependencies, fail-over, auto-scaling)

Application management & Monitoring

App-Centric

Chef Infrastructure management

(OS setup, network, security configuration)

Setup & installation (package, configure, install, start)

Ops-Centric

8

9

Use the right tool for the job! Chef is about automating the configuration of servers

Setup Install Start Converge

Probably the most powerful configuration and automation tool out there

Hundreds of production grade, community supported cookbooks

WHY CHEF ?

10

application { name="simple app"

service { name = "mysql-service"} service { name = "jboss-service" dependsOn = ["mysql-service"]}}

CLOUDIFY RECIPES, EXPLAINED

® Copyright 2011 Gigaspaces Ltd. All Rights Reserved

Groovy-DSL based Setup (now also via Chef) Provisioning for any cloud:

local, public, private Customizable monitoring Scaling (manual and auto)

service {name "jboss-service"icon "jboss.jpg"type "APP_SERVER“numInstances 2[recipe body]

}

lifecycle{ init "mysql_install.groovy” start "mysql_start.groovy” stop "mysql_stop.groovy"}

..

compute{ template “BIG_LINUX_32”}

scalingRule {   serviceStatistics {     metric "Total Requests Count"        movingTimeRangeInSeconds 20         statistics maximumThroughput     } highThreshold { value 1 instancesIncrease 1 } }])

DEMO TIME!

11

12

EXECUTION FLOW

® Copyright 2011 Gigaspaces Ltd. All Rights Reserved

CommandsResource Allocation

Invokes IaaSAPI

BootstrapCloudify

Management

Process Application

Recipe

ComputeServices

Server

InstallConfigure

Start Monitor

& Ensures H/A

Thank You!

GET IT TODAY, IT’S OPEN SOURCE & FREE: WWW.CLOUDIFYSOURCE.ORG

GITHUB.COM/CLOUDIFY/CLOUDIFY-RECIPES

top related