Slide 1

Slide 1 text

© 2016 Mesosphere, Inc. All Rights Reserved. SERVERLESS- LESS SERVER? 1 Michael Hausenblas | SoftwareCircus, Amsterdam | 2016-09-02

Slide 2

Slide 2 text

© 2016 Mesosphere, Inc. All Rights Reserved. sys admin appops developer architect QA/test engineer data engineer/scientist

Slide 3

Slide 3 text

© 2016 Mesosphere, Inc. All Rights Reserved. HOW WE ROLL … 3

Slide 4

Slide 4 text

© 2016 Mesosphere, Inc. All Rights Reserved. BUILDING AND RELEASING APPS 4 dev server server VM dev dev dev ops ops ops ops container VM server VM VM container container container container ?

Slide 5

Slide 5 text

© 2016 Mesosphere, Inc. All Rights Reserved. A SPECTRUM OF COMPUTE STYLES 5 serverless AWS Lambda, IFTTT function PaaS Heroku,
 GAE objects µS Docker +
 Marathon/ Kubernetes container monolith traditional
 3 tier app machine

Slide 6

Slide 6 text

© 2016 Mesosphere, Inc. All Rights Reserved. HOW FAST CAN A FEATURE BE DEPLOYED? 6 serverless PaaS µS monolith agility

Slide 7

Slide 7 text

© 2016 Mesosphere, Inc. All Rights Reserved. WHAT IS THE PROVISIONING EFFORT? 7 maintenance serverless PaaS µS monolith

Slide 8

Slide 8 text

© 2016 Mesosphere, Inc. All Rights Reserved. WHAT ARE THE COSTS? 8 cost/unit serverless PaaS µS monolith

Slide 9

Slide 9 text

© 2016 Mesosphere, Inc. All Rights Reserved. FROM THEORY TO PRACTICE 9

Slide 10

Slide 10 text

© 2016 Mesosphere, Inc. All Rights Reserved. CONCEPT 10 • unit of compute: a function • dynamically allocated resources for event-driven function execution • high-level components: triggers, management, integrations triggers t integrations f management UI, CLI, API

Slide 11

Slide 11 text

© 2016 Mesosphere, Inc. All Rights Reserved. A WORD ON MOTIVATION 11 https://twitter.com/patrickdebois/status/734459440603275264

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

© 2016 Mesosphere, Inc. All Rights Reserved. GALACTIC FOG’S GESTALT 16 http://www.galacticfog.com/get-started

Slide 17

Slide 17 text

© 2016 Mesosphere, Inc. All Rights Reserved. IBM OPENWHISK 17 https://developer.ibm.com/openwhisk/

Slide 18

Slide 18 text

© 2016 Mesosphere, Inc. All Rights Reserved. AND MANY MORE … 18 • http://nano-lambda.com • https://webtask.io • http://stackhut.com • http://www.open-lambda.org

Slide 19

Slide 19 text

© 2016 Mesosphere, Inc. All Rights Reserved. ROLL YOUR OWN: FLOCK-OF-BIRDS 19 https://github.com/mhausenblas/fob client /api/gen /api/call/$fid /api/stats dispatcher drivers Python Node.js ... HTTP POST .py HTTP GET $fid $fid

Slide 20

Slide 20 text

© 2016 Mesosphere, Inc. All Rights Reserved. WHEN AND HOW TO USE SERVERLESS 20

Slide 21

Slide 21 text

© 2016 Mesosphere, Inc. All Rights Reserved. APPLICATION AREAS 21 • Infrastructure tasks, e.g. reacting to an event triggered from cloud storage • Mobile and IoT apps: process events such as a user check • Image processing, for examples to create preview versions of an image • Data processing, like simple ETL pipelines to pre-process datasets

Slide 22

Slide 22 text

© 2016 Mesosphere, Inc. All Rights Reserved. USE CASE: IMAGE THUMBNAILS 22 https://aws.amazon.com/solutions/case-studies/the-seattle-times/

Slide 23

Slide 23 text

© 2016 Mesosphere, Inc. All Rights Reserved. USE CASE: TELETEXT.IO 23 https://medium.com/teletext-io-blog/a-serverless-architecture-with-zero-maintenance-and-infinite-scalability-b00c2ceb4c2b

Slide 24

Slide 24 text

© 2016 Mesosphere, Inc. All Rights Reserved. USE CASE: CALCULATING LINEUPS FOR A FANTASY GAME 24 https://fmlnerd.com/2016/08/16/30k-page-views-for-0-21-a-serverless-story/

Slide 25

Slide 25 text

© 2016 Mesosphere, Inc. All Rights Reserved. SOME MORE USE CASES … 25 • Migration of an email marketing tool for small business
 http://microapps.com/blog/serverless-framework/ • Continuous Deployments
 https://hackernoon.com/continuous-deployments-with-serverless-v0-5-c29138d6debf • Ticketing system
 https://blog.snap-ci.com/blog/2016/05/30/serverless-architecture-aws-lambda-dynamodb-applauze/ • iRobots IoT service
 http://www.slideshare.net/ServerlessConf/ben-kehoe-serverless-architecture-for-the-internet-of-things • Replacing cron jobs
 http://www.slideshare.net/AmazonWebServices/cmp407-lambda-as-cron-scheduling-invocations-in- aws-lambda • Fetch nearby Pokemon Go data
 https://github.com/jch254/pokego-serverless

Slide 26

Slide 26 text

© 2016 Mesosphere, Inc. All Rights Reserved. WHEN AND HOW NOT TO USE SERVERLESS 26

Slide 27

Slide 27 text

© 2016 Mesosphere, Inc. All Rights Reserved. CHALLENGES 27 • workload fit • developing functions • monitoring • stateful services • cultural and organizational issues

Slide 28

Slide 28 text

© 2016 Mesosphere, Inc. All Rights Reserved. latency critical
 high frequency access latency tolerant
 high frequency access latency critical
 low frequency access latency tolerant
 low frequency access LATENCY VS. ACCESS FREQUENCY 28 access frequency latency sensitivity

Slide 29

Slide 29 text

© 2016 Mesosphere, Inc. All Rights Reserved. DEVELOPING FUNCTIONS 29 • local development? • testing • version control • what about many functions?

Slide 30

Slide 30 text

© 2016 Mesosphere, Inc. All Rights Reserved. MONITORING 30 • troubleshooting • logging • alerting

Slide 31

Slide 31 text

© 2016 Mesosphere, Inc. All Rights Reserved. STATEFUL SERVICES 31

Slide 32

Slide 32 text

© 2016 Mesosphere, Inc. All Rights Reserved. 32 appops The person who writes an app is also the person responsible for operating the app in prod.

Slide 33

Slide 33 text

© 2016 Mesosphere, Inc. All Rights Reserved. 33 It's not about provisioning, capacity planning, DR, etc.
 
 … this would be on the infrastructure team. appops

Slide 34

Slide 34 text

© 2016 Mesosphere, Inc. All Rights Reserved. 34 appops speakerdeck.com/charity/devops-for-developers-building-an-effective-ops-org-1

Slide 35

Slide 35 text

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