Agile Systems Admin

922 views

Published on

My 2007 UKUUG presentation on Agile Systems Administration.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
922
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile Systems Admin

  1. 1. Agile Systems Administration Julian Simpson, ThoughtWorks Ltd.
  2. 2. Who the hell are you? ● I am Julian Simpson ● I've been a Solaris Admin since 1997 ● Now that I work on software projects I need excuses to do interesting things like this
  3. 3. And what's this Agile business? ● Agile is an iterative and incremental (evolutionary) approach to software development ● which is performed in a highly collaborative manner ● with "just enough" ceremony ● that produces high quality software ● which meets the changing needs of its stakeholders. (Scott W Ambler)
  4. 4. Programming before Agile ...
  5. 5. Otto, since you checked in that last change, I can't deploy the application ... it works on my machine ...
  6. 6. And after ...
  7. 7. Otto, you broke the build ... Oh, I didn't check in FooBarImpl.java ... thanks
  8. 8. CruiseControl helps us in Agile software projects ...
  9. 9. But is it any use in an infrastructure context? ...
  10. 10. So I decided to find out: by building a web and mail server using Puppet, Rake, Ruby, SVN and CruiseControl
  11. 11. Ruby ● Dynamic Language like Perl ● Object oriented ● has a good testing framework ● big in Japan
  12. 12. Puppet ● Sysadmin framework ● Very open ● Declarative ● Developed by a sysadmin for sysadmins
  13. 13. Rake ● Make, for Ruby
  14. 14. Subversion ● favourite source control
  15. 15. cruisecontrol ● Continuous Integration tool ● listens for Subversion commits and executes Rake ● available in Java, .NET and Ruby versions
  16. 16. How does it all work then? ● all configuration is in source control
  17. 17. How does it all work then? ● changes are picked up by cruisecontrol
  18. 18. How does it all work then? ● Cruise runs rake to run tests against the config
  19. 19. How does it all work then? ● Puppet applies the config if the tests pass
  20. 20. How does it all work then? ● Other puppet clients in your network can now retrieve the tested version of your configuration and apply it.
  21. 21. What is the benefit? ● you always apply configuration that is tested ● you can version your configuration
  22. 22. What is the benefit? ● status is visible to everybody ● and you can even drive a lava lamp off of it
  23. 23. Short Film
  24. 24. What do you think?
  25. 25. This work is licensed under the Creative Commons Attribution- Share Alike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

×