Lrug

1,726 views

Published on

My LRUG talk from November '09: Agile Systems admin, Devops, etc.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Lrug

  1. 1. Weʼre all developers now Julian Simpson 1
  2. 2. Who are you? 2
  3. 3. Who am I? • Recovering Systems Administrator • Recovering Build Manager • Occasional blogger 3
  4. 4. Whatʼs this talk about? • Developers • Systems Administrators • The total failure of us all to get along • Testing sysadmin stuff 4
  5. 5. Where did it all go wrong?
  6. 6. Should sysadmin http://www.flickr.com/photos/montpelier/
  7. 7. • James Gosling invents Java
  8. 8. http://www.flickr.com/photos/worldeconomicforum/ 8
  9. 9. • James Gosling invents Java • Microsoft make Windows usable
  10. 10. http://www.flickr.com/photos/kevron/ 10
  11. 11. • James Gosling invents Java • Microsoft make Windows usable • We make developers work on Windows
  12. 12. http://www.flickr.com/photos/bru/ 12
  13. 13. • James Gosling invents Java • Microsoft make Windows usable • We make developers work on Windows • Sysadmins and developers diverge
  14. 14. Dʼoh!
  15. 15. Developers write: • HTML • CSS • Ruby • SQL • Javascript 15
  16. 16. Sysadmins write: • Puppet • M4 macro processor • Bash • Ruby • Sendmail.cf 16
  17. 17. This guy writes a language http://www.flickr.com/photos/33304338@N05/ http://www.flickr.com/photos/varrqnuht/ So does this guy 17
  18. 18. And weʼre all developers.
  19. 19. • Sysadmins who don’t program are now just domain experts • I’m not sure we need too many of those.
  20. 20. http://www.flickr.com/photos/jm3/ 20
  21. 21. You guys rule • You (mostly) develop on Macs 21
  22. 22. http://www.flickr.com/photos/mollenborg/ 22
  23. 23. You guys rule • You (mostly) develop on Macs • You have a working deploy tool 23
  24. 24. http://www.flickr.com/photos/pheanixphotos/ 24
  25. 25. You guys rule • You (mostly) develop on Macs • You have a working deploy tool • It even does database migrations 25
  26. 26. You guys rule • You (mostly) develop on Macs • You have a working deploy tool • It even does database migrations • So whatʼs left to talk about? 26
  27. 27. Whatʼs left? • Sharing • Testing of infrastructure • Fixing Rubygems 27
  28. 28. http://www.flickr.com/photos/ackook/ Sharing 28
  29. 29. Itʼs not this insert CC -licensed howto
  30. 30. Sharing • Sysadmins used to be stuck with vendor OSes • You would have trouble sharing a shell script • Let alone some of the odd tools that weʼve had • Rise of Linux, Ruby and admin DSLs (*cough* *Puppet*) fixes that 30
  31. 31. Sharing • Puppet has modules • Soon they will have metadata • Thereʼs beginnings of consensus on how to share those • Letʼs not distribute them as gems 31
  32. 32. Puppet Module Puppet code Files that your module distributes ERB Templates
  33. 33. Puppet Module hook shared code
  34. 34. Puppet Module
  35. 35. Puppet Modules • Will soon get metadata • Need to solve some solved problems (.e.g dependencies 35
  36. 36. Testing But what kind of testing? http://www.flickr.com/photos/tm-tm/ 36
  37. 37. Testing • Monitoring (testing your code at runtime) • Testing your infrastructure • Testing same before you deploy it 37
  38. 38. Monitoring http://www.flickr.com/photos/mogwai_83/
  39. 39. Monitoring • some of our tools are beginning to look very baroque • Nagios comes to mind • Operational testing very different from developer testing 39
  40. 40. Monitoring • @auxesis: “continuous integration for production apps” • minus checkout and build phases • How to use existing cucumber features? 40
  41. 41. Cucumber Nagios • http://auxesis.github.com/cucumber- nagios/ • Runs your cucumber features • Outputs Nagios format. Job done. 41
  42. 42. Cucumber Love • Cucumber-nagios now supports testing of SSH • @unixdaemon doing acceptance testing for DNS (just avoid some of the Ruby DNS resolver libraries) • @ripienaar test driving deployments with cucumber 42
  43. 43. Before you go live? • How do we do unit tests in sysadmin? 43
  44. 44. Before you go live? • How do we do unit tests in sysadmin? • Validating is a good start. 44
  45. 45. 45
  46. 46. 46
  47. 47. 47
  48. 48. Thank you! http://www.build-doctor.com http://twitter.com/builddoctor This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.0 UK: England & Wales License . 48

×