Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting Faster, Continuous Lifecycle 2013

Oliver Wehrens
November 11, 2013

Getting Faster, Continuous Lifecycle 2013

How we got from a release every six month to daily releases.

Oliver Wehrens

November 11, 2013
Tweet

More Decks by Oliver Wehrens

Other Decks in Technology

Transcript

  1. getting
    faster
    How we got from a release every six month
    TO daily releases
    Continuos Lifecycle 11.11.2013

    View full-size slide

  2. AndrÉ von deetzen
    @vdandre
    Oliver Wehrens
    @owehrens

    View full-size slide

  3. Migration what’s next
    Status
    Agenda
    one stack Lessons learned

    View full-size slide

  4. Status
    How we started

    View full-size slide

  5. 150
    DEV / QA / OPS

    View full-size slide

  6. > 100
    SOURCE REPOSITORIES

    View full-size slide

  7. 1
    RELEASE EVERY SIX MONTH

    View full-size slide

  8. 1
    TEAM TO RELEASE & DELIVER

    View full-size slide

  9. 1
    DEPLOYMENT IN PRODUCTION

    View full-size slide

  10. Technology stack
    PHP
    JAVA
    RUBY LINUX
    puppet
    tomcat
    C++
    C
    SQL
    perl
    python
    jboss
    httpd

    View full-size slide

  11. development &
    production
    different installer
    other os
    bare metal vs virtualisation
    different puppet versions
    other ways of monitoring

    View full-size slide

  12. Wait whaT? How
    did we GET here?
    Features, Features, Features
    faster, faster, faster (not really)
    solved the scaling problem upfront

    View full-size slide

  13. Transition
    What did we do?

    View full-size slide

  14. Time to market
    Analysis
    6 Months
    2 Weeks
    daily

    View full-size slide

  15. Squeeze
    The existing

    View full-size slide

  16. Automate
    as much as we can

    View full-size slide

  17. From 6 to
    3 Months

    View full-size slide

  18. scrum
    no more waterfall

    View full-size slide

  19. From 3 to
    1 Month

    View full-size slide

  20. optimize
    agile + automation

    View full-size slide

  21. From 1 Month to
    2 weeks

    View full-size slide

  22. Still a monolith

    View full-size slide

  23. Still nightly
    deployments

    View full-size slide

  24. New
    Functionality?

    View full-size slide

  25. We can do
    better!

    View full-size slide

  26. One Stack
    (with variations)

    View full-size slide

  27. new platform
    simplify
    unify
    loosely coupled
    daytime deployment
    disaster recovery
    !

    View full-size slide

  28. Three areas to change

    View full-size slide

  29. Architecture
    (many) small services
    stateless
    independently deployable
    stable interfaces

    View full-size slide

  30. Deployment
    MAKE RPM NOT WAR
    PUPPET with HIERA
    automatic vm setup

    View full-size slide

  31. Workflow
    staging
    build chain
    empower teaMs
    infrastructure

    View full-size slide

  32. create
    virtual
    machine
    install
    yum, rpm,
    centos
    reboot
    smoketest
    lifecycle
    configure
    puppet
    operate
    €€€

    View full-size slide

  33. technology stack
    JVM Tomcat Centos 6
    YUM & RPM Puppet 3 REST

    View full-size slide

  34. deployment pipeline
    development
    release candidate
    certified release
    reference
    production

    View full-size slide

  35. started with one new
    service and one team

    View full-size slide

  36. Approach became very popular

    View full-size slide

  37. existing services ?
    anti corruption Layer
    refactoring
    rewrite (better not do it)

    View full-size slide

  38. > 200
    Deployments
    STAGED TO PRE-PRODUCTION ON
    OUR BEST DAY IN 2013

    View full-size slide

  39. 2014
    What’s next?

    View full-size slide

  40. Automate all the things!
    Puppet for network
    components
    Automate firewalls
    Increase visibility
    Infrastructure
    self service
    evaluate container
    based approach
    instead of VMs

    View full-size slide

  41. lessons
    learned

    View full-size slide

  42. Same environment & Tools
    Everywhere is essential

    View full-size slide

  43. don’t get too fast, we could
    not deploy every delivery

    View full-size slide

  44. had not enough Capacity
    for VMs in Development

    View full-size slide

  45. Rewrite = Long time no roi

    View full-size slide

  46. Spreading Knowledge
    can’t be fast enough

    View full-size slide

  47. need to recreate any
    Machine automatically

    View full-size slide

  48. Questions ?
    And yes, we’re hiring too!
    come talk to us.

    View full-size slide

  49. Thanks for your attention!

    View full-size slide