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

Microservices are so 2015, what’s next?

Microservices are so 2015, what’s next?

Michael Hausenblas

July 05, 2016
Tweet

More Decks by Michael Hausenblas

Other Decks in Technology

Transcript

  1. © 2016 Mesosphere, Inc. All Rights Reserved.
    MICROSERVICES
    ARE SO 2015,
    WHAT’S NEXT?
    1
    Michael Hausenblas, Developer & Cloud Advocate | Microservices Manchester | 2016-07-05

    View Slide

  2. © 2016 Mesosphere, Inc. All Rights Reserved.
    THE PAST
    2

    View Slide

  3. © 2016 Mesosphere, Inc. All Rights Reserved.
    ON THE ORIGINS OF MICROSERVICES
    3

    View Slide

  4. © 2016 Mesosphere, Inc. All Rights Reserved.
    ON THE ORIGINS OF MICROSERVICES
    4
    do one thing and that well
    ls cat
    dd
    mv
    cp
    nc
    ps cd
    sort
    wc
    grep w file
    stat ifconfig

    View Slide

  5. © 2016 Mesosphere, Inc. All Rights Reserved.
    ON THE ORIGINS OF MICROSERVICES
    5
    composability
    ls | grep ‘^s’ | sort -r

    View Slide

  6. © 2016 Mesosphere, Inc. All Rights Reserved.
    ON THE ORIGINS OF MICROSERVICES
    6
    http://martinfowler.com/articles/microservices.html

    View Slide

  7. © 2016 Mesosphere, Inc. All Rights Reserved.
    ON THE ORIGINS OF MICROSERVICES
    7
    yours truly, 2015

    View Slide

  8. © 2016 Mesosphere, Inc. All Rights Reserved.
    THE PRESENT
    8

    View Slide

  9. © 2016 Mesosphere, Inc. All Rights Reserved.
    BREAKING DOWN THE MONOLITH
    9
    By User:Skookum1 - Self-photographed, Public Domain, https://commons.wikimedia.org/w/index.php?curid=22515997

    View Slide

  10. © 2016 Mesosphere, Inc. All Rights Reserved.
    BREAKING DOWN THE MONOLITH
    10
    By Bartledan (talk), based on a file by User:Foofy - I created this work based on en:File:Overview_of_a_three-tier_application.png, Public Domain, https://commons.wikimedia.org/w/index.php?curid=6907222

    View Slide

  11. © 2016 Mesosphere, Inc. All Rights Reserved.
    TOOLING VS. CULTURE
    11
    • Should I be using gRPC rather than
    HTTP?
    • Are protocol buffers a better choice
    than JSON?*
    • Containers, containers, containers!
    *) http://blog.codeclimate.com/blog/2014/06/05/choose-protocol-buffers/

    View Slide

  12. © 2016 Mesosphere, Inc. All Rights Reserved.
    TOOLING VS. CULTURE
    12
    https://github.com/mhausenblas/marvin

    View Slide

  13. © 2015 Mesosphere, Inc. All Rights Reserved.
    TOOLING
    VS.
    CULTURE
    13

    View Slide

  14. © 2016 Mesosphere, Inc. All Rights Reserved.
    CASE STUDY
    14
    https://dev.otto.de/2015/09/30/on-monoliths-and-microservices/

    View Slide

  15. © 2016 Mesosphere, Inc. All Rights Reserved.
    LESSONS LEARNED
    15
    microservices are distributed systems*
    1. The network is reliable.
    2. Latency is zero.
    3. Bandwidth is infinite.
    4. The network is secure.
    5. Topology doesn't change.
    6. There is one administrator.
    7. Transport cost is zero.
    8. The network is homogeneous.
    *) https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

    View Slide

  16. © 2016 Mesosphere, Inc. All Rights Reserved.
    LESSONS LEARNED
    16
    • design team-first
    • polyglot is good, but: hiring
    • debugging/tracing (remember? µS are distributed systems)
    • logging (shipping, retention, auditing)
    • monitoring—instrumentation is a must!
    • resilience testing (chaos monkey et al)

    View Slide

  17. © 2016 Mesosphere, Inc. All Rights Reserved.
    LESSONS LEARNED
    17

    View Slide

  18. © 2016 Mesosphere, Inc. All Rights Reserved.
    THE FUTURE
    18

    View Slide

  19. © 2016 Mesosphere, Inc. All Rights Reserved.
    A SPECTRUM OF COMPUTE STYLES
    19
    serverless
    AWS Lambda,
    IFTTT
    function
    PaaS
    Heroku
    objects
    µS
    Docker

    with Marathon
    container
    monolith
    traditional

    3 tier
    machine

    View Slide

  20. © 2016 Mesosphere, Inc. All Rights Reserved.
    A SPECTRUM OF COMPUTE STYLES
    20
    serverless
    PaaS
    µS
    monolith
    agility

    View Slide

  21. © 2016 Mesosphere, Inc. All Rights Reserved.
    A SPECTRUM OF COMPUTE STYLES
    21
    maintenance
    serverless
    PaaS
    µS
    monolith

    View Slide

  22. © 2016 Mesosphere, Inc. All Rights Reserved.
    A SPECTRUM OF COMPUTE STYLES
    22
    cost/unit
    serverless
    PaaS
    µS
    monolith

    View Slide

  23. © 2016 Mesosphere, Inc. All Rights Reserved.
    SERVERLESS CONCEPT
    23
    • Unit of compute: a function
    • Dynamically allocated resources for
    execution
    • Integration with other systems is
    crucial (trigger, routing, storage, etc.)
    λ
    C

    View Slide

  24. © 2016 Mesosphere, Inc. All Rights Reserved.
    AWS LAMBDA
    24
    https://aws.amazon.com/lambda/

    View Slide

  25. © 2016 Mesosphere, Inc. All Rights Reserved.
    AZURE FUNCTIONS
    25
    https://azure.microsoft.com/en-us/documentation/articles/functions-overview/

    View Slide

  26. © 2016 Mesosphere, Inc. All Rights Reserved.
    GOOGLE CLOUD FUNCTIONS
    26
    https://cloud.google.com/functions/docs/

    View Slide

  27. © 2016 Mesosphere, Inc. All Rights Reserved.
    WEBTASK
    27
    https://webtask.io/

    View Slide

  28. © 2016 Mesosphere, Inc. All Rights Reserved.
    IRON.IO
    28
    https://www.iron.io

    View Slide

  29. © 2016 Mesosphere, Inc. All Rights Reserved.
    APPLICATION AREAS
    29
    • Jobs (typically short-running)
    • Constraints devices (IoT)
    • Event-driven logic
    • Mobile (stateless) apps

    View Slide

  30. © 2016 Mesosphere, Inc. All Rights Reserved.
    A WORD
    OF
    CAUTION
    30

    View Slide

  31. © 2016 Mesosphere, Inc. All Rights Reserved.
    Q & A
    31
    • @mhausenblas
    • mhausenblas.info
    [email protected]
    https://dcos.io

    View Slide