2. Who Am I?
Jeffrey Hulten - @jhulten
Software Engineer, Architecture Improvement at
WhitePages, Inc.
Organizer of Seattle DevOps MeetUp
Too Ops for Dev, Too Dev for Ops
Wednesday, December 4, 13
3. Scaling DevOps
Your Tools Aren’t Enough
Your First 100 Machines
Watching the Horizon
Wednesday, December 4, 13
4. Your Tools Aren’t Enough
Culture
Deploy a Package
Manage the Metal
Minimize the Surface Area
Growing Pains
Wednesday, December 4, 13
5. Culture
Not Just for Bacteria Anymore
Starts with one person
Infect your friends
Try changing things
Mutation must allow for
failure
Requirement for survival
Wednesday, December 4, 13
6. Deploy a Package
TGZ
OS Package (.deb / .rpm)
Machine Image (AMI)
LXC Image (Docker)
Wednesday, December 4, 13
7. OS Packages Made Easier
FPM
Package Config Separately
Package Repository
Wednesday, December 4, 13
10. Machine Images &
Containers
Machine Image
Entire OS
All Services Enabled
Containers
Minimal OS Image
Run One Process (Replace `init`)
Wednesday, December 4, 13
18. Template: Parameters
"Parameters": {
"OperatorEmail": {
"Type": "String",
"Description": "Email address to notify if there are any scaling operations"
},
"InstanceType": {
"Description": "WebServer EC2 instance type",
"Type": "String",
"AllowedValues": [ "t1.micro", "m1.small", ...],
"Default": "m1.small",
"ConstraintDescription": "must be a valid EC2 instance type."
},
...
"SSHLocation": {
"Default": "0.0.0.0/0",
"Type": "String",
"MaxLength": "18",
"MinLength": "9",
"AllowedPattern": "(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})/(d{1,2})",
"Description": "The IP address range that can be used to SSH to the EC2 instances",
"ConstraintDescription": "must be a valid IP CIDR range of the form x.x.x.x/x."
}
},
Wednesday, December 4, 13