Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOoops Mastery

DevOoops Mastery

How to move from DevOoops to DevOps

Ba4b0b302231bffb0f685bbef25db0d6?s=128

Bryan Liles

March 12, 2015
Tweet

More Decks by Bryan Liles

Other Decks in Technology

Transcript

  1. DevOoops Mastery Bryan Liles

  2. DevOoops Mastery @bryanl

  3. DevOops Mastery

  4. More Mastery less oops

  5. Accidental successes

  6. “It works on my machine”

  7. Promise Theory

  8. 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
  9. Automation

  10. OOPS: to release our software, it only requires three CLI

    commands, a web page visit, an email to Santa, and an act of <insert deity>
  11. The Mastery

  12. once, twice, automate

  13. use Vagrant?

  14. use Vagrant with DigitalOcean?

  15. docker-machine

  16. docker-machine docker compose

  17. docker-machine docker compose docker swarm

  18. Contest: What does tr(1) do?

  19. Configuration Management

  20. OOPS: We configure servers with this set of scripts. You

    have to run this one before that one, and this other one only once.
  21. The Mastery

  22. We Chef

  23. You might Ansible or Puppet or Salt or CFEngine or

    custom
  24. but should you custom?

  25. yeah, you test this too google “chef test kitchen”

  26. composition over comprehensiveness

  27. Contest: On a modern Linux distribution, how can you find

    the number of processors?
  28. Continuous Integration

  29. OOPS: Why spend time and money on another server when

    it works on my workstation?
  30. The Mastery

  31. you might Jenkins

  32. I Travis’d in the past

  33. We used Drone

  34. I wish we Jenkins’d

  35. CI produces artifacts

  36. Only deploy the artifacts

  37. Contest: What year did Linux come out?

  38. Deployment

  39. OOPS: We have to deploy from a certain server and

    we can only deploy on odd Thursdays or when Jamaal is in the office.
  40. The Mastery

  41. What do you mean you don’t test your deploys?

  42. capistrano or fabric, take your pick

  43. or deploy with chef?

  44. or roll your own …

  45. … but don’t do that

  46. or go advanced mode have your CI build docker images

  47. or go super advanced mode deploy those docker images to

    mesos
  48. PS…… Digital Ocean Droplets start at $5/month

  49. 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.
  50. Contest: I have a Ruby array: [{“foo_id"=>"1"}, {"bar_id"=>"2"}, {“bar_id"=>"3"}] How

    do I convert it to: [2, 4, 6]
  51. Teams Over Individuals

  52. OOPS: They are Ops and we are Engineering. We write,

    they keep the servers up. The two shall not cross paths.
  53. The Mastery

  54. Dev VS Ops

  55. Engineer VS SRE

  56. chat all the things

  57. f(devoops) -> devops

  58. Automation

  59. Configuration Management

  60. Continuous Integration

  61. Deployment

  62. Teams over Individuals

  63. we suck

  64. we are lazy

  65. we can’t do the a task the same way twice

  66. we do things differently the second time

  67. Thanks! @bryanl @digitalocean