chef + environments = safer environment
DESCRIPTION
http://cl.ly/image/062F2T2W2b2ITRANSCRIPT
![Page 1: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/1.jpg)
chef+ environments safer infrastructure
![Page 2: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/2.jpg)
t
f
g
sethvargo
![Page 3: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/3.jpg)
what’s an environment?
![Page 4: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/4.jpg)
![Page 5: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/5.jpg)
![Page 6: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/6.jpg)
![Page 7: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/7.jpg)
![Page 8: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/8.jpg)
{ "name" : "production", "description" : "Production cluster in EC2", "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 9: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/9.jpg)
target specificenvironments
![Page 10: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/10.jpg)
$ knife search node "chef_environment:production"
![Page 11: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/11.jpg)
$ knife ssh "chef_environment:production" "reboot"
![Page 12: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/12.jpg)
default_attributes
override_attributescookbook_versions
chef_type
name
description
![Page 13: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/13.jpg)
default_attributes
override_attributescookbook_versions
chef_type
name
description
![Page 14: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/14.jpg)
lock cookbooks in production
![Page 15: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/15.jpg)
{ "name" : "production", "description" : "Production cluster in EC2", "cookbook_versions" : { "passenger_apache2" : "0.99.4" }, "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 16: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/16.jpg)
“lock” cookbooks in staging
![Page 17: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/17.jpg)
{ "name" : "staging", "description" : "Production cluster in EC2", "cookbook_versions" : { "passenger_apache2" : "0.99.4" }, "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 18: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/18.jpg)
unlock cookbooks in development
![Page 19: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/19.jpg)
{ "name" : "development", "description" : "Production cluster in EC2", "cookbook_versions" : { ... }, "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 20: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/20.jpg)
updating a cookbook
![Page 21: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/21.jpg)
1. test in development
![Page 22: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/22.jpg)
2. promote in staging
![Page 23: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/23.jpg)
{ "name" : "staging", "description" : "Production cluster in EC2", "cookbook_versions" : { "passenger_apache2" : "0.99.4" }, "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 24: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/24.jpg)
{ "name" : "staging", "description" : "Production cluster in EC2", "cookbook_versions" : { "passenger_apache2" : "0.99.4" }, "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 25: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/25.jpg)
{ "name" : "staging", "description" : "Production cluster in EC2", "cookbook_versions" : { "passenger_apache2" : "1.1.0" // major version bump }, "override_attributes" : { ... }, "default_attributes" : { ... }}
![Page 26: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/26.jpg)
$ knife dwim environments/staging.json
1 knife-dwim: https://github.com/mpasternacki/knife-dwim
![Page 27: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/27.jpg)
3. verify in staging
![Page 28: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/28.jpg)
4. promote in production
![Page 29: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/29.jpg)
![Page 30: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/30.jpg)
1. run around screaming
![Page 31: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/31.jpg)
2. demote in production
![Page 32: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/32.jpg)
3. dance (optional)
![Page 33: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/33.jpg)
![Page 34: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/34.jpg)
scenario:updating passenger
![Page 35: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/35.jpg)
default_attributes
override_attributescookbook_versions
chef_type
name
description
![Page 36: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/36.jpg)
default_attributes
override_attributescookbook_versions
chef_type
name
description
![Page 37: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/37.jpg)
{ "name" : "production", "description" : "Production cluster in EC2", "override_attributes" : { "passenger" : { "version" : "2.1.4" } },}
![Page 38: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/38.jpg)
1. test in development
![Page 39: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/39.jpg)
2. promote in staging
![Page 40: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/40.jpg)
{ "name" : "production", "description" : "Production cluster in EC2", "override_attributes" : { "passenger" : { "version" : "2.1.4" } },}
![Page 41: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/41.jpg)
{ "name" : "production", "description" : "Production cluster in EC2", "override_attributes" : { "passenger" : { "version" : "2.1.4" } },}
![Page 42: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/42.jpg)
{ "name" : "production", "description" : "Production cluster in EC2", "override_attributes" : { "passenger" : { "version" : "3.0.18" // major version bump } },}
![Page 43: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/43.jpg)
$ knife dwim environments/staging.json
1 knife-dwim: https://github.com/mpasternacki/knife-dwim
![Page 44: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/44.jpg)
3. verify in staging
![Page 45: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/45.jpg)
4. promote in production
![Page 46: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/46.jpg)
chef+ environments safer infrastructure
![Page 47: Chef + Environments = Safer Environment](https://reader033.vdocuments.us/reader033/viewer/2022060119/55905b111a28ab4e2e8b4583/html5/thumbnails/47.jpg)
t
f
g
sethvargo