(app308) chef on aws: deep dive | aws re:invent 2014

45

Upload: amazon-web-services

Post on 27-Jun-2015

644 views

Category:

Technology


3 download

DESCRIPTION

"When your infrastructure scales, you need to have the tooling and knowledge to support that scale. Chef is one of the commonly used tools for deploying and managing all kinds of infrastructure at any scale. In this session, we focus on how you can get your existing infrastructure robustly represented in Chef. We dive deep on all the specifics that make deploying with Chef on AWS easy: authentication management, versioning, recipe testing, and leveraging AWS resources in your recipes. Whether you're building new infrastructure with no existing operations management software or deploying existing Chef recipes into AWS, this session will outline all the tips and tricks you need to be a master Chef in the cloud."

TRANSCRIPT

Page 1: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 2: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 3: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

Data_Bags Environments

Chef Building Blocks

Roles

Cookbooks

Recipes

Resources

Page 4: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 5: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://flic.kr/p/4Ab3qP

Page 6: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 7: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 8: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 9: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://flic.kr/p/4w7zdc

Page 10: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 11: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://supermarket.getchef.com/cookbooks/users

https://www.getchef.com/blog/2014/07/10/managing-users-and-ssh-keys-in-a-hybrid-world/

Page 12: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 13: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 14: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

http://semver.org/

https://flic.kr/p/5EGZV1

Page 15: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 16: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

Attributes can be used for Application versioning

Page 17: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://flic.kr/p/69hd1g

Page 18: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

prod.json

{

“id”: “prod”,

"myapp": {

"version": "1.0.9”

},

"depapp" {

"version": "1.2.0”

}

}

Page 19: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 20: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 21: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 22: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

TDD

RED

GREENREFACTOR

Page 23: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 24: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 25: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 26: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 27: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 28: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 29: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 30: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 31: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

Set Up Dependencies

Import Keys (Optional)

Register Against the ELB

https://supermarket.getchef.com/cookbooks/aws

Page 32: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://supermarket.getchef.com/cookbooks/aws_security

Page 33: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://supermarket.getchef.com/cookbooks/aws-rds

Page 34: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://supermarket.getchef.com/cookbooks/route53

Page 35: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 36: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 37: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

user@machine$ knife ec2 server create -I ami-b06a98d8 -f t1.micro -x ec2-user /

-S default --identity-file $SSH_KEY --iam-profile createLB --user-data /

user_data.sh -r "role[base_centos]”

Instance ID: i-edc6330c

Flavor: t1.micro

Image: ami-b06a98d8

Region: us-east-1

Availability Zone: us-east-1e

Security Groups: default

Tags: Name: i-edc6330c

SSH Key: default

Waiting for instance.....

Page 38: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://flic.kr/p/eycPj7

Page 39: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://flic.kr/p/knDPjc

Page 40: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

CODE

Page 41: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 42: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 43: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014
Page 44: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

https://www.getchef.com/blog/2014/07/10/managing-users-and-ssh-keys-in-a-

hybrid-world/

https://supermarket.getchef.com/cookbooks/users

http://tcotav.github.io/chefdk_getting_started.html

https://micgo.net/automating-cookbook-testing-with-test-kitchen-berkshelf-vagrant-

and-guard/

https://supermarket.getchef.com/cookbooks/aws

supermarket.getchef.com

Page 45: (APP308) Chef on AWS: Deep Dive | AWS re:Invent 2014

Please give us your feedback on this session.

Complete session evaluations and earn re:Invent swag.

http://bit.ly/awsevals