Your SlideShare is downloading. ×
  • Like
  • Save


Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

From Dev To Production


This is from a talk Sam Newman ( and I gave at the ThoughtWorks UK Away Day 2009. It covers a lot of things people often forget when writing software that make getting into …

This is from a talk Sam Newman ( and I gave at the ThoughtWorks UK Away Day 2009. It covers a lot of things people often forget when writing software that make getting into and staying up in production easier.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • C&S
  • Chris
  • Sam
  • Chris

  • Chris

    Naming convention (show what needs to be overriden
    by naming)

  • Sam
  • Chris
  • Sam

  • Sam:

    - Mention DSG logs

    - Mention nearly
    killing AT!

  • Chris

    Mention Nagios, Big Brother etc.

  • Sam


  • 1. ThoughtWorks StrongFoundations From Dev To Production Sam Newman Chris Read 2009 Away Day
  • 2. ThoughtWorks StrongFoundations Introduction • Whatʼs the point of coding? • Weʼre not done until itʼs running in production • Thereʼs more to an application than the “business stories” • Thereʼs more to test than application functionality
  • 3. ThoughtWorks StrongFoundations Build • Build is NOT the same thing as deployment • The build is everyoneʼs responsibility • The goal is for a checkout and build • Itʼs all about repeatability • Version control tools where possible – avoid requiring things that need to be installed to perform builds
  • 4. ThoughtWorks StrongFoundations Built Artifacts • Make it simple to tie running code or built artifacts back to the code that created them • Keep binary artifacts and configuration separate • Build an artifact once, and deploy it to all the environments you care about
  • 5. ThoughtWorks StrongFoundations Configuration • Default to production configuration • Validate your config - fail fast if wrong • Clearly identify which properties should be overriden between environments • Make it east to view the config of a running system – Identify source of properties (defaulted or overriden)
  • 6. ThoughtWorks StrongFoundations Configuration Example
  • 7. ThoughtWorks StrongFoundations Deployment • Code is useless until it is running where it should be • Use the same deployment mechanism in dev as in prod • Work with ops to define your deployment process • Donʼt think you have to use the build tool to do deployment
  • 8. ThoughtWorks StrongFoundations Environments Ease Of Use Dev QA Prod More Production Like
  • 9. ThoughtWorks StrongFoundations Logging • Default to the quietist level • Anything other than debug or trace logging should be considered a UI • Logging is a different type of configuration to normal application configuration • Seriously consider the need to change logging configuration on a running system without a restart
  • 10. ThoughtWorks StrongFoundations Monitoring • Understand the tools already being used to monitor systems and work out how to expose your data to these systems • Talk to ops about the kinds of things that need monitoring • Always think: if you get a 2am call about something not working in the system, what do you need to know?
  • 11. ThoughtWorks StrongFoundations Performance • Automate performance runs as soon as you can, if not sooner • An isolated environment completely under your control is essential • Testing with non-performance load via exploratory testing can yield useful information • Compare like with like – itʼs all about the deltas