Save 37% off PRO during our Black Friday Sale! »

Microservices are so 2015, what’s next?

Microservices are so 2015, what’s next?

5c3807aaaf0ffefe6c75e3dbbb8588b5?s=128

Michael Hausenblas

July 05, 2016
Tweet

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
  2. © 2016 Mesosphere, Inc. All Rights Reserved. THE PAST 2

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

    OF MICROSERVICES 3
  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
  5. © 2016 Mesosphere, Inc. All Rights Reserved. ON THE ORIGINS

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

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

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

  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
  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
  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/
  12. © 2016 Mesosphere, Inc. All Rights Reserved. TOOLING VS. CULTURE

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

    13
  14. © 2016 Mesosphere, Inc. All Rights Reserved. CASE STUDY 14

    https://dev.otto.de/2015/09/30/on-monoliths-and-microservices/
  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
  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)
  17. © 2016 Mesosphere, Inc. All Rights Reserved. LESSONS LEARNED 17

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

  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
  20. © 2016 Mesosphere, Inc. All Rights Reserved. A SPECTRUM OF

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

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

    COMPUTE STYLES 22 cost/unit serverless PaaS µS monolith
  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
  24. © 2016 Mesosphere, Inc. All Rights Reserved. AWS LAMBDA 24

    https://aws.amazon.com/lambda/
  25. © 2016 Mesosphere, Inc. All Rights Reserved. AZURE FUNCTIONS 25

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

    26 https://cloud.google.com/functions/docs/
  27. © 2016 Mesosphere, Inc. All Rights Reserved. WEBTASK 27 https://webtask.io/

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

  29. © 2016 Mesosphere, Inc. All Rights Reserved. APPLICATION AREAS 29

    • Jobs (typically short-running) • Constraints devices (IoT) • Event-driven logic • Mobile (stateless) apps
  30. © 2016 Mesosphere, Inc. All Rights Reserved. A WORD OF

    CAUTION 30
  31. © 2016 Mesosphere, Inc. All Rights Reserved. Q & A

    31 • @mhausenblas • mhausenblas.info • michael@dcos.io https://dcos.io