FaaS You Like It! @ewanslater Serverless CNCF Definition - - PowerPoint PPT Presentation

faas you like it
SMART_READER_LITE
LIVE PREVIEW

FaaS You Like It! @ewanslater Serverless CNCF Definition - - PowerPoint PPT Presentation

FaaS You Like It! @ewanslater Serverless CNCF Definition Serverless computing refers to the concept of building and running applications that do not require server management . It describes a finer-grained deployment model where


slide-1
SLIDE 1

FaaS You Like It!

@ewanslater

slide-2
SLIDE 2

“Serverless”

slide-3
SLIDE 3

CNCF Definition

“Serverless computing refers to the concept of building and running applications that do not require server management. It describes a finer-grained deployment model where applications, bundled as

  • ne or more functions, are uploaded to a platform and then executed, scaled,

and billed in response to the exact demand needed at the moment.”

  • CNCF Serverless Whitepaper
slide-4
SLIDE 4
slide-5
SLIDE 5

Abstraction

slide-6
SLIDE 6
slide-7
SLIDE 7

Functions

(as a service)

slide-8
SLIDE 8

FaaS

  • Small functions
  • Do one thing well
  • Easy to Understand
  • Run on Serverless platform (i.e. abstracted infrastructure)
slide-9
SLIDE 9

Avoid

slide-10
SLIDE 10
slide-11
SLIDE 11

“Customers benefit from increased programming productivity and in many scenarios can enjoy cost savings as well.”

University of Berkeley, Technical Report No. UCB/EECS-2019-3

slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14

Freedom(s)

  • Portability
  • Decentralisation
  • Packaging
  • Local testing
  • Language
slide-15
SLIDE 15
slide-16
SLIDE 16

Fn Project

  • Fnproject.io
  • Serverless platform
  • Container based
  • Open Source (Apache 2.0)
  • CNCF
slide-17
SLIDE 17

Functions as Containers

  • Function
  • Dependencies
  • Self - Contained
  • Stateless
  • Ephemeral
slide-18
SLIDE 18

Runs on

  • Any Cloud
  • On Premises
  • Your laptop ;-)
  • Anywhere you’ve installed Docker
slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23

Function Development Kits (FDKs)

  • Makes it a lot easier to write functions
  • Developer includes FDK package / library / gem
  • Developer writes function to the FDK’s interface
  • FDK

○ Provides input data to function ○ Writes output & errors

slide-24
SLIDE 24

Ruby FDK

  • Opens a socket in function container

○ (Fn Server connects to socket)

  • Parses input from http-stream
  • Executes function

○ Input ○ Context

  • Sends back output on http-stream
  • Writes errors to STDERR ( → syslog )
slide-25
SLIDE 25

No FDK, no problem!

slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31

Fn Server

slide-32
SLIDE 32

Architecture (K8’s for production)

slide-33
SLIDE 33

Request Process

slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

Hot functions

  • Run at least once
  • Wait before terminating

○ Default timeout 30 seconds ○ Configurable

  • Potentially reusable

○ FDK handles multiple invocations ○ Stateless remember!?

slide-40
SLIDE 40

Orchestration

slide-41
SLIDE 41

Flow

  • Promises Based Orchestration

○ No new “special language” ○ Composable ○ Flexible

  • A Flow is…

○ ...written in code ○ ...a function ○ ...deployed within an app

slide-42
SLIDE 42

FaaS You Like It*

(*with apologies to Shakespeare)

slide-43
SLIDE 43

Serverless

  • Abstracted Infrastructure
  • Ephemeral Functions
  • Higher Productivity
  • Lower Costs
  • Beware of Lock In
slide-44
SLIDE 44

Fn Project

  • Open Source Serverless Platform
  • Container Based
  • Any language
  • Any Cloud
  • On Premises
  • Your Laptop ;-)
slide-45
SLIDE 45

Questions?

(grab me afterwards || @ewanslater)