All My Tests Are Passing, Now What?

Loading...

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.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    All My Tests Are Passing, Now What? - Presentation Transcript

    1. All My Tests Are Passing Now What? Chris.Read@ThoughtWorks.com
    2. Software has no value outside of production... • No matter how clean the code • No matter how clean the server room
    3. ...but most software is built to pass QA • Developers sometimes don’t even understand what production will look like • Configuration reflects development environment
    4. Where does our software need to run? • So where does code go after all your tests pass?
    5. Developer Workstations • Often the sweet spot • High rate of change in all directions • Need to get up and running quickly
    6. Continuous Integration • Unit testing • Functional testing • Integration testing • Stubbed • Mocked
    7. Integration • Lots of endpoints (hopefully all of them) • Does my app play nice with others?
    8. Performance • Scaling • Responsiveness • Does my app meet performance criteria?
    9. Formal Acceptance • Sign off the stories...
    10. Staging • Let’s practice deployment
    11. Production • Yay! We’re live at last! All done...
    12. Disaster Recovery • ... not done yet! • DR often has a few subtle differences
    13. All these places need Configuration
    14. Different types of configuration • Environments are different • Different owners • Different rates of change
    15. Developer Centric • Spring Wiring • ORM Models • It’s actually code!
    16. Environment Specific • Hostnames • Passwords • Connection Strings
    17. Application Centric • Pool sizes • Memory sizes • Timeouts
    18. Operator Centric • Logging • Alerting • Monitoring • Housekeeping
    19. Config Management Maturity Model • How do people manage it now?
    20. CMMM 0 • Don’t understand the distinction between configuration and code • “Just edit stuff in production until it works”
    21. CMMM I • Manual Installation • Manual Configuration • Massive Release Notes • Slow • Error Prone
    22. CMMM II • Hard Coded Configuration • Build per environment • Configuration in SCM with code • What’s tested is not what gets to production
    23. CMMM III • Configuration in separate SCM • Automated configuration at deploy time • One package for all environments • Forked configuration - missing and/or deprecated entries
    24. CMMM IV • LDAP/DNS/JNDI • Puppet/Chef/SMS • Focussed on machine level config, not app • Hard to administer • Hard for developers to view and use
    25. CMMM V ? • Configuration Repository • Cross Platform • Language Independent • Encrypt Sensitive Values
    26. Summary • Configuration is hard • Poor configuration management impacts software quality • There’s a lot of room here to make things better...
    27. Escape • http://code.google.com/ p/escservesconfig • Open Source • Apache2 Licensed • Let’s try make things better...
    SlideShare Zeitgeist 2009

    + Christopher ReadChristopher Read Nominate

    custom

    35 views, 0 favs, 0 embeds more stats

    More info about this document

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version

    • Total Views 35
      • 35 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories