Slide 1

Slide 1 text

Kubernetes and serverless technologies
 for high-performance applications Michael Hausenblas, Developer Advocate at Red Hat
 2018-11-06, OpenADx workshop, Stuttgart

Slide 2

Slide 2 text

Hit me up on Twitter: @mhausenblas 2 admin SRE developer info sec architect PM PHB

Slide 3

Slide 3 text

From monoliths to functions

Slide 4

Slide 4 text

Hit me up on Twitter: @mhausenblas 4 Some terminology … boringis.cool/#lets-talk-about-serverless serverless query
 BigQuery, Amazon Athena, etc. databases & datastores
 Redshift, Azure Data Lake, etc. object storage
 S3, Google Cloud Storage, etc. Function-as-a-Service (FaaS)
 AWS Lambda, knative, etc. message queues
 SQS, Azure Service Bus, etc

Slide 5

Slide 5 text

Hit me up on Twitter: @mhausenblas 5 The compute evolution

Slide 6

Slide 6 text

Hit me up on Twitter: @mhausenblas 6 Function-as-a-Service concept

Slide 7

Slide 7 text

Hit me up on Twitter: @mhausenblas 7 Function-as-a-Service concept • event-driven (i.e. needs trigger) • short-running (practically minutes) • stateless (externalize state/integrations) • cold start characteristics very important

Slide 8

Slide 8 text

Hit me up on Twitter: @mhausenblas 8 Latency vs access frequency

Slide 9

Slide 9 text

Hit me up on Twitter: @mhausenblas 9 • cron job replacements • backup & restore jobs • short-running ETL jobs • sensor readings • image processing/conversion • bots (Slack, Twitter, etc.) 
 Sources: AWS Lambda, IBM, serverless framework, 
 Contino, TNS, programmableweb.com Use case categories twitter.com/patrickdebois/status/734459440603275264

Slide 10

Slide 10 text

Hit me up on Twitter: @mhausenblas 10 Use case examples • Migration of an email marketing tool for small business • Continuous Deployments • A ticketing system • The iRobots IoT service • Replacing cron jobs with AWS Lambda • Fetching nearby Pokemon Go data • Teletext.io • Calculating lineups for a fantasy game

Slide 11

Slide 11 text

Landscape

Slide 12

Slide 12 text

Hit me up on Twitter: @mhausenblas 12 Overview Source: landscape.cncf.io

Slide 13

Slide 13 text

Hit me up on Twitter: @mhausenblas 13 AWS Lambda Source: aws.amazon.com/lambda

Slide 14

Slide 14 text

Hit me up on Twitter: @mhausenblas 14 Azure Functions Source: azure.microsoft.com/en-us/documentation/articles/functions-overview/

Slide 15

Slide 15 text

Hit me up on Twitter: @mhausenblas 15 Google Cloud Functions Source: cloud.google.com/functions/docs/

Slide 16

Slide 16 text

Hit me up on Twitter: @mhausenblas 16 FaaS on Kubernetes landscape project backed by claim to fame started in Apache OpenWhisk ASF, Adobe, IBM, Red Hat large community, mature 2015 Azure Functions Runtime Microsoft ease of use late 2017 Dispatch VMware meta-framework late 2017 Fission Platform9 performance 2016 Fn Oracle supported languages/envs late 2017 Funktion Red Hat/Fabric8 integration 2017 Kubeless Bitnami UX, monitoring 2017 Nuclio iguazio performance mid 2017 OpenFaaS VMware large community, UX late 2016 Project Riff Pivotal event-centric late 2017

Slide 17

Slide 17 text

Hit me up on Twitter: @mhausenblas 17 Kubernetes kubernetes.io • Container lifecycle management • Declarative API + control loops • Robust, flexible, scalable • Extensible through plug-ins and custom resources/controllers Kudos to Lucas Käldström for this figure (source)

Slide 18

Slide 18 text

Hit me up on Twitter: @mhausenblas 18 • Extension to Kubernetes • Provides low-level building blocks: • knative/build: pluggable model for building artifacts from source code • knative/serving: event-driven compute model for serving containers • knative/eventing: universal subscription, delivery and management of events (triggers) Knative Kubernetes service mesh & operators Knative FaaS Kubeless, OpenWhisk, OpenFaaS, Azure Functions, Riff,… github.com/knative

Slide 19

Slide 19 text

Hit me up on Twitter: @mhausenblas 19 • CloudEvents (specification by the CNCF Serverless Working Group) • TriggerMesh (lifecycle management) • Gloo (function gateway) Other ecosystem components

Slide 20

Slide 20 text

Observability

Slide 21

Slide 21 text

Hit me up on Twitter: @mhausenblas 21 Metrics node container runtime app alerts dashboards storage event router

Slide 22

Slide 22 text

Hit me up on Twitter: @mhausenblas 22 kudos to demo.robustperception.io

Slide 23

Slide 23 text

Hit me up on Twitter: @mhausenblas 23 kudos to linkerd.io/2

Slide 24

Slide 24 text

Hit me up on Twitter: @mhausenblas 24 kudos to linkerd.io/2 and grafana.com

Slide 25

Slide 25 text

Hit me up on Twitter: @mhausenblas 25 Distributed tracing and debugging • Roots: need to overcome limitations of “time-synced logs” • Specifications: OpenCensus and OpenTracing • Tooling: Zipkin, Jaeger, Stackdriver • A must-have in a microservices and/or FaaS setup

Slide 26

Slide 26 text

Hit me up on Twitter: @mhausenblas

Slide 27

Slide 27 text

Challenges and opportunities

Slide 28

Slide 28 text

Hit me up on Twitter: @mhausenblas 28 Does non-public cloud FaaS make sense? Most of production deployments currently using proprietary (public cloud) offerings: • New Relic survey 11/2017 • TNS blog post 12/2017

Slide 29

Slide 29 text

Hit me up on Twitter: @mhausenblas 29 Uptake thenewstack.io/serverless-roadmaps-platforms/

Slide 30

Slide 30 text

Hit me up on Twitter: @mhausenblas 30 Uptake thenewstack.io/serverless-roadmaps-platforms/

Slide 31

Slide 31 text

Hit me up on Twitter: @mhausenblas 31 Developers on call!? Serverless: who's on call now?
 Medium post, 2018 ServerlessOps
 O'Reilly book, 2016

Slide 32

Slide 32 text

Hit me up on Twitter: @mhausenblas 32 Handling many functions • A handful of functions? No problem • Breaking up a monolith into 200 functions? Hmmm … • So far, a rather under-developed space (e.g. ibm-functions/composer, TriggerMesh)

Slide 33

Slide 33 text

Hit me up on Twitter: @mhausenblas 33 • Platform-level • Kubernetes • public cloud providers • on-premises • Framework level (leaks, authn/authz) • DoS attacks • Integrations/data leaks Security considerations

Slide 34

Slide 34 text

Hit me up on Twitter: @mhausenblas 34 • Function-as-a-Service (FaaS) gives you • high development velocity • auto-scaling • pay-what-you-use • One tool in the toolbox, not a silver bullet (know your use cases) • Tradeoffs: convenience (lock-in) vs. control (effort) • Consider Function-as-a-Service as the “VBA of cloud native computing”? Summing up

Slide 35

Slide 35 text

Resources

Slide 36

Slide 36 text

Hit me up on Twitter: @mhausenblas 36 • The CNCF takes steps toward serverless computing • CNCF Serverless Working Group • FaaS on Kubernetes inventory • The State of OpenWhisk • Knative: Serving your Serverless Services • Many-faced threats to Serverless security

Slide 37

Slide 37 text

Hit me up on Twitter: @mhausenblas 37

Slide 38

Slide 38 text

plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHatNews learn.openshift.com