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

DevOps and Legacy Code

Oliver Hankeln
September 26, 2019

DevOps and Legacy Code

Unfortunately we can’t all work in startup companies. Some of use have to deal with legacy code bases. These are often structured as a monolith and tightly coupled. They typically are hard to build and deploy. You might think all the new DevOps practices and toys are not suitable for your context. You are wrong!

We will discuss strategies to work with legacy code and still use DevOps practices and tools. These include breaking up of monolithic structures, migrating data and monitoring systems that aren’t built to be monitored. We will show real-world examples of successful applications of these strategies.

While dealing with legacy code will still be painful, you will have some applicable ideas to relieve your pain.

Oliver Hankeln

September 26, 2019
Tweet

More Decks by Oliver Hankeln

Other Decks in Technology

Transcript

  1. DevOps & Legacy
    DevOps Days London, 2019
    @DevOps_Events

    View Slide

  2. Why DevOps?

    View Slide

  3. How?

    View Slide

  4. Tight
    Coupling
    Specialists
    Manual
    Processes
    SS4CP*
    Brittleness
    Why is it so hard?
    *Simple Solutions for Complex Problems

    View Slide

  5. Tight
    Coupling
    Specialists
    Manual
    Processes
    SS4CP*
    Brittleness
    *Simple Solutions for Complex Problems
    Why is it so hard?
    Overwhelming

    View Slide

  6. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...
    the degree of interdependence
    between things*
    a measure of how closely
    connected two things* are
    the strength of the relationships
    between things*
    things*: components, infrastructure, modules, code, people...

    View Slide

  7. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...

    View Slide

  8. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...

    View Slide

  9. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...

    View Slide

  10. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...

    View Slide

  11. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...

    View Slide

  12. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...

    View Slide

  13. Tight Coupling
    Comes in different flavours:
    ■ Architecture
    ■ Infrastructure
    ■ Code
    ■ ...
    public class Foo {
    public void foo() {
    new Bar().bar();
    }
    }
    var GLOBAL_SHARED_VALUE = 23
    import http.client
    con = http.client
    .HTTPSConnection("devops-events.de")
    con.request("GET", "/")
    res = connection.getresponse()
    print("Status: {} and reason: {}"
    .format(res.status, res.reason))
    connection.close()

    xmlns:soap=...


    View Slide

  14. Baby Steps
    ■ Big Bangs don’t work.
    ■ There is always the next
    baby step.
    ■ Legacy code took time to
    grow bad. It will take time
    to fix it.

    View Slide

  15. About Us
    Peter Götz
    [email protected]
    @petersgoetz
    Save 50% for our next DevOps Lab training
    https://www.devops-events.de/trainings/devops-lab
    Buy one ticket and bring a friend or colleague
    for free (coupon code “2-4-1”)
    Oliver Hankeln
    [email protected]
    @mydalon

    View Slide

  16. Credits
    ■ @alexagorn (https://unsplash.com/photos/smuS_jUZa9I)
    ■ @matthew_t_rader (https://unsplash.com/photos/bZbd02TN9t0)
    ■ @jentheodore (https://unsplash.com/photos/qRtLPwRlXxI)
    ■ @harlsta (https://unsplash.com/photos/ouyjDk-KdfY)
    ■ @byrawpixel
    (https://www.pexels.com/photo/baby-s-standing-on-gray-floor-rug-1776136/)

    View Slide