Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

© 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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

© 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

Slide 10

Slide 10 text

© 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

Slide 11

Slide 11 text

© 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/

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

© 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

Slide 16

Slide 16 text

© 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)

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

© 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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

© 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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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