SlideShare a Scribd company logo
1 of 26
Download to read offline
Agile Systems Administration




 Julian Simpson, ThoughtWorks Ltd.
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
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)
Programming before Agile ...
Otto, since you checked in that last
change, I can't deploy the application ...




                       it works on my machine ...
And after ...
Otto, you broke the build ...




                   Oh, I didn't check in
                 FooBarImpl.java ... thanks
CruiseControl helps us in
Agile software projects ...
But is it any use in an
infrastructure context? ...
So I decided to find out: by
 building a web and mail
server using Puppet, Rake,
      Ruby, SVN and
       CruiseControl
Ruby
  ●   Dynamic Language
      like Perl
  ●   Object oriented
  ●   has a good testing
      framework
  ●   big in Japan
Puppet
   ●   Sysadmin framework
   ●   Very open
   ●   Declarative
   ●   Developed by a
       sysadmin for
       sysadmins
Rake
  ●   Make, for Ruby
Subversion
●   favourite source control
cruisecontrol
       ●   Continuous
           Integration tool
       ●   listens for Subversion
           commits and
           executes Rake
       ●   available in Java,
           .NET and Ruby
           versions
How does it all work then?
●   all configuration is in source control
How does it all work then?
●   changes are picked up by cruisecontrol
How does it all work then?
●   Cruise runs rake to run tests against the config
How does it all work then?
●   Puppet applies the config if the tests pass
How does it all work then?
●   Other puppet clients in your network can now
    retrieve the tested version of your configuration
    and apply it.
What is the benefit?
●   you always apply configuration that is tested
●   you can version your configuration
What is the benefit?
●   status is visible to everybody
●   and you can even drive a lava lamp off of it
Short Film
What do you think?
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.

More Related Content

What's hot

icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 

What's hot (20)

Ignite Devops Fast Moving Software
Ignite Devops Fast Moving SoftwareIgnite Devops Fast Moving Software
Ignite Devops Fast Moving Software
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
 
Civilized Git Process
Civilized Git ProcessCivilized Git Process
Civilized Git Process
 
Evolve with laravel
Evolve with laravelEvolve with laravel
Evolve with laravel
 
That worked before
That worked beforeThat worked before
That worked before
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
 
Sculpin
SculpinSculpin
Sculpin
 
Capistrano @ VilniusPHP
Capistrano @ VilniusPHPCapistrano @ VilniusPHP
Capistrano @ VilniusPHP
 
ChatBots for self-service DevOps
ChatBots for self-service DevOpsChatBots for self-service DevOps
ChatBots for self-service DevOps
 
OpenNTF Essentials
OpenNTF EssentialsOpenNTF Essentials
OpenNTF Essentials
 
Develop 4 Developers
Develop 4 DevelopersDevelop 4 Developers
Develop 4 Developers
 
Atwix - Ярослав Рогоза
Atwix - Ярослав РогозаAtwix - Ярослав Рогоза
Atwix - Ярослав Рогоза
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
 
Grunt
GruntGrunt
Grunt
 
Modern Messaging for Distributed Systems
Modern Messaging for Distributed SystemsModern Messaging for Distributed Systems
Modern Messaging for Distributed Systems
 
Let’s be productive with spring boot
Let’s be productive with spring bootLet’s be productive with spring boot
Let’s be productive with spring boot
 
Savin globe
Savin globeSavin globe
Savin globe
 
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
 
Serverless Operations aka. LessOps
Serverless Operations aka. LessOpsServerless Operations aka. LessOps
Serverless Operations aka. LessOps
 

Viewers also liked

The art of .net deployment automation
The art of .net deployment automationThe art of .net deployment automation
The art of .net deployment automation
MidVision
 
The art of wmb deployment automation
The art of wmb deployment automationThe art of wmb deployment automation
The art of wmb deployment automation
MidVision
 
Test driven development
Test driven developmentTest driven development
Test driven development
Shalabh Saxena
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
toteb5
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 

Viewers also liked (16)

The art of .net deployment automation
The art of .net deployment automationThe art of .net deployment automation
The art of .net deployment automation
 
I gotta dependency on dependency injection
I gotta dependency on dependency injectionI gotta dependency on dependency injection
I gotta dependency on dependency injection
 
Implementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for CheapskatesImplementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for Cheapskates
 
The art of wmb deployment automation
The art of wmb deployment automationThe art of wmb deployment automation
The art of wmb deployment automation
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Agile .NET Development with BDD and Continuous Integration
Agile .NET Development with BDD and Continuous IntegrationAgile .NET Development with BDD and Continuous Integration
Agile .NET Development with BDD and Continuous Integration
 
Buildbot
BuildbotBuildbot
Buildbot
 
Domain's Robot Army
Domain's Robot ArmyDomain's Robot Army
Domain's Robot Army
 
Improving code quality with continuous integration (PHPBenelux Conference 2011)
Improving code quality with continuous integration (PHPBenelux Conference 2011)Improving code quality with continuous integration (PHPBenelux Conference 2011)
Improving code quality with continuous integration (PHPBenelux Conference 2011)
 
Core Principles Of Ci
Core Principles Of CiCore Principles Of Ci
Core Principles Of Ci
 
Ideal Deployment In .NET World
Ideal Deployment In .NET WorldIdeal Deployment In .NET World
Ideal Deployment In .NET World
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
 
Integration with Docker and .NET Core
Integration with Docker and .NET CoreIntegration with Docker and .NET Core
Integration with Docker and .NET Core
 
C#/.NET Little Wonders
C#/.NET Little WondersC#/.NET Little Wonders
C#/.NET Little Wonders
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Design Patterns (Examples in .NET)
Design Patterns (Examples in .NET)Design Patterns (Examples in .NET)
Design Patterns (Examples in .NET)
 

Similar to Agile Systems Admin

Similar to Agile Systems Admin (20)

How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?
 
Bulletproof design systems using storybook
Bulletproof design systems using storybookBulletproof design systems using storybook
Bulletproof design systems using storybook
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With Cypress
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automation
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXL
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schools
 
Why Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's Playwright
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Devops for drupal
Devops for  drupalDevops for  drupal
Devops for drupal
 
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
What is dev ops?
What is dev ops?What is dev ops?
What is dev ops?
 
Intro to openfaas
Intro to openfaasIntro to openfaas
Intro to openfaas
 

More from Julian Simpson

More from Julian Simpson (7)

Surrounded by Graphs
Surrounded by GraphsSurrounded by Graphs
Surrounded by Graphs
 
Adventures in infrastructure as code
Adventures in infrastructure as codeAdventures in infrastructure as code
Adventures in infrastructure as code
 
Everything I learned about Continuous Integration, I learned from Systems Adm...
Everything I learned about Continuous Integration, I learned from Systems Adm...Everything I learned about Continuous Integration, I learned from Systems Adm...
Everything I learned about Continuous Integration, I learned from Systems Adm...
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Silos are for farmers
Silos are for farmersSilos are for farmers
Silos are for farmers
 
Lrug
LrugLrug
Lrug
 
Ci From The Trenches
Ci From The TrenchesCi From The Trenches
Ci From The Trenches
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Agile Systems Admin

  • 1. Agile Systems Administration Julian Simpson, ThoughtWorks Ltd.
  • 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. 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)
  • 5. Otto, since you checked in that last change, I can't deploy the application ... it works on my machine ...
  • 7. Otto, you broke the build ... Oh, I didn't check in FooBarImpl.java ... thanks
  • 8. CruiseControl helps us in Agile software projects ...
  • 9.
  • 10. But is it any use in an infrastructure context? ...
  • 11. So I decided to find out: by building a web and mail server using Puppet, Rake, Ruby, SVN and CruiseControl
  • 12. Ruby ● Dynamic Language like Perl ● Object oriented ● has a good testing framework ● big in Japan
  • 13. Puppet ● Sysadmin framework ● Very open ● Declarative ● Developed by a sysadmin for sysadmins
  • 14. Rake ● Make, for Ruby
  • 15. Subversion ● favourite source control
  • 16. cruisecontrol ● Continuous Integration tool ● listens for Subversion commits and executes Rake ● available in Java, .NET and Ruby versions
  • 17. How does it all work then? ● all configuration is in source control
  • 18. How does it all work then? ● changes are picked up by cruisecontrol
  • 19. How does it all work then? ● Cruise runs rake to run tests against the config
  • 20. How does it all work then? ● Puppet applies the config if the tests pass
  • 21. How does it all work then? ● Other puppet clients in your network can now retrieve the tested version of your configuration and apply it.
  • 22. What is the benefit? ● you always apply configuration that is tested ● you can version your configuration
  • 23. What is the benefit? ● status is visible to everybody ● and you can even drive a lava lamp off of it
  • 25. What do you think?
  • 26. 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.