Transcript
Page 1: Leveraging Automation to Scale

LEVERAGING AUTOMATION TO SCALE

JIM HOPP, LOOKOUT, INC.

Page 2: Leveraging Automation to Scale

HOW TO KEEP UP?

• Increasing number of services

• And desire for faster cycle time

• Increasing number of machines

• Frequent deploys (and getting more frequent)

• Engineering growing much faster than Ops

Page 3: Leveraging Automation to Scale

(TESTING?!)

• Important that provisioning chgs follow modern dev pipeline

• rspec (chefspec) for chef

• minitest for chef’d nodes

• code reviews

• deploys from jenkins

• continually re-provision bare-metal test nodes

Page 4: Leveraging Automation to Scale

GET OTHERS TO DO THE WORK

• We want engineers to write the chef cookbooks and cap config files for their service

• We want them to use the production tools during the development cycle

• Originally built vagrant-based tools. Worked well but fragile and didn’t scale past 2-3 VMs

• Developed TestLab for managing Linux containers. Works great! https://github.com/zpatten/testlab

Page 5: Leveraging Automation to Scale

MAKE IT SIMPLE TO USE

• Built Chef LWRPs to simplify configuration

• This is all that’s necessary for a normal service:

• LWRPs for resque, firewall, SSL certs, etc.

• Libraries for finding IPs, data bags within environments, etc.

• Office hours, pairing

lookout_passenger_app 'my_service' do rvm_gemset 'ruby-1.9.3-p448@my_service'end

Page 6: Leveraging Automation to Scale

DEPLOYS

• chef-repo deployed to prod on merge to master by jenkins

• Deploy HEAD

• For services, moving to developer deploy

• They know their service better than Ops

• Still figuring out migrations

• Tooling for roll-back


Recommended