Promise Theory
• Model of voluntary cooperation between individual,
autonomous actors, or agents who publish their
intentions to one another in a form of promises.
• Dev makes promises to ops
• Ops make promises to dev
Slide 9
Slide 9 text
Automation
Slide 10
Slide 10 text
OOPS: to release our software,
it only requires three CLI commands,
a web page visit, an email to Santa,
and an act of
Slide 11
Slide 11 text
The Mastery
Slide 12
Slide 12 text
once, twice, automate
Slide 13
Slide 13 text
use Vagrant?
Slide 14
Slide 14 text
use Vagrant
with DigitalOcean?
Slide 15
Slide 15 text
docker-machine
Slide 16
Slide 16 text
docker-machine
docker compose
Slide 17
Slide 17 text
docker-machine
docker compose
docker swarm
Slide 18
Slide 18 text
Contest: What does tr(1) do?
Slide 19
Slide 19 text
Configuration Management
Slide 20
Slide 20 text
OOPS: We configure servers with
this set of scripts. You have to run
this one before that one, and
this other one only once.
Slide 21
Slide 21 text
The Mastery
Slide 22
Slide 22 text
We Chef
Slide 23
Slide 23 text
You might Ansible
or Puppet
or Salt
or CFEngine
or custom
Slide 24
Slide 24 text
but should you custom?
Slide 25
Slide 25 text
yeah, you test this too
google “chef test kitchen”
Slide 26
Slide 26 text
composition over comprehensiveness
Slide 27
Slide 27 text
Contest: On a modern Linux distribution,
how can you find the number of processors?
Slide 28
Slide 28 text
Continuous Integration
Slide 29
Slide 29 text
OOPS: Why spend time and money
on another server when it
works on my workstation?
Slide 30
Slide 30 text
The Mastery
Slide 31
Slide 31 text
you might Jenkins
Slide 32
Slide 32 text
I Travis’d in the past
Slide 33
Slide 33 text
We used Drone
Slide 34
Slide 34 text
I wish we Jenkins’d
Slide 35
Slide 35 text
CI produces artifacts
Slide 36
Slide 36 text
Only deploy the artifacts
Slide 37
Slide 37 text
Contest: What year did Linux come out?
Slide 38
Slide 38 text
Deployment
Slide 39
Slide 39 text
OOPS: We have to deploy from
a certain server and we can only
deploy on odd Thursdays or when
Jamaal is in the office.
Slide 40
Slide 40 text
The Mastery
Slide 41
Slide 41 text
What do you mean you don’t test your deploys?
Slide 42
Slide 42 text
capistrano or fabric, take your pick
Slide 43
Slide 43 text
or deploy with chef?
Slide 44
Slide 44 text
or roll your own …
Slide 45
Slide 45 text
… but don’t do that
Slide 46
Slide 46 text
or go advanced mode
have your CI build docker images
Slide 47
Slide 47 text
or go super advanced mode
deploy those docker images to
mesos
Slide 48
Slide 48 text
PS…… Digital Ocean Droplets start at $5/month
Slide 49
Slide 49 text
or go SUPER DUPER ADVANCED MODE
use packer to build machine images
with your app already installed
and configured and use the
cloud like it wants to used.
Slide 50
Slide 50 text
Contest:
I have a Ruby array:
[{“foo_id"=>"1"}, {"bar_id"=>"2"}, {“bar_id"=>"3"}]
How do I convert it to:
[2, 4, 6]
Slide 51
Slide 51 text
Teams
Over
Individuals
Slide 52
Slide 52 text
OOPS: They are Ops and we are
Engineering. We write, they keep
the servers up. The two
shall not cross paths.