DevOps Meets PaaS - NY Meetup with Chef (OpsCode)
-
Upload
uri-cohen -
Category
Technology
-
view
2.218 -
download
4
description
Transcript of DevOps Meets PaaS - NY Meetup with Chef (OpsCode)
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