Slide 1

Slide 1 text

SERVERLESS: THE MISSING MANUAL James Thomas Developer Advocate @ IBM ☁ @thomasj

Slide 2

Slide 2 text

@THOMASJ

Slide 3

Slide 3 text

Serverless is more than Functions-as-a-Service. @THOMASJ

Slide 4

Slide 4 text

most common about serverless s @THOMASJ https://flic.kr/p/bmbXKZ

Slide 5

Slide 5 text

“Where do I store my files?” @THOMASJ

Slide 6

Slide 6 text

Serverless runtimes do have a filesystem. @THOMASJ

Slide 7

Slide 7 text

temporary & limited storage not shared on concurrent requests no external access files must be in app package @THOMASJ

Slide 8

Slide 8 text

Object stores provide “storage- as-a-service”. @THOMASJ

Slide 9

Slide 9 text

IBM Cloud Object Storage

Slide 10

Slide 10 text

unlimited* storage HTTP API access make objects public allow users to upload content * - billed by size, requests & bandwidth @THOMASJ

Slide 11

Slide 11 text

“How do I install my database?” @THOMASJ

Slide 12

Slide 12 text

Use a “database- as-a-service”. @THOMASJ

Slide 13

Slide 13 text

Some of IBM Cloud DBaaS… @THOMASJ

Slide 14

Slide 14 text

Consider event support and scalability. @THOMASJ

Slide 15

Slide 15 text

“Can I use with serverless?” @THOMASJ

Slide 16

Slide 16 text

NO. @THOMASJ

Slide 17

Slide 17 text

Why do you need frameworks? @THOMASJ

Slide 18

Slide 18 text

Scaffolding & Boilerplate Request Handling & URL Routing Authentication Middleware (CORS & Rate Limiting) Service Credentials Packaging & Deployment @THOMASJ

Slide 19

Slide 19 text

Frameworks in a serverless . @THOMASJ

Slide 20

Slide 20 text

✅ Scaffolding & Boilerplate ❌ Request Handling & URL Routing ❌ Authentication ❌ Middleware (CORS & Rate Limiting) ❌ Service Credentials ✅ Packaging & Deployment @THOMASJ

Slide 21

Slide 21 text

@THOMASJ

Slide 22

Slide 22 text

“How do you debug serverless functions?” @THOMASJ

Slide 23

Slide 23 text

No access to runtime environment. @THOMASJ

Slide 24

Slide 24 text

✅ Logs @THOMASJ stdout & stderr sent to log service

Slide 25

Slide 25 text

@THOMASJ

Slide 26

Slide 26 text

@THOMASJ

Slide 27

Slide 27 text

✅ Logs ✅ Metrics captured by platform: invocations, errors, start, end, duration, cold start. @THOMASJ

Slide 28

Slide 28 text

What about custom metrics? @THOMASJ

Slide 29

Slide 29 text

✅ Logs ✅ Metrics ✅ Custom
 Metrics record using console logs cron-schedule event forward to metrics service @THOMASJ

Slide 30

Slide 30 text

@THOMASJ

Slide 31

Slide 31 text

“Can you set a limit on costs?” @THOMASJ

Slide 32

Slide 32 text

ACCIDENTALLY WROTE A PLEASE HELP…
 RECURSIVE SERVERLESS FUNCTION. NEED $$$ FOR MY CLOUD BILL. @THOMASJ

Slide 33

Slide 33 text

Serverless platforms do have limits. @THOMASJ

Slide 34

Slide 34 text

Configure rate limiting for public APIs. @THOMASJ

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Set up automatic billing alerts. @THOMASJ

Slide 37

Slide 37 text

@THOMASJ

Slide 38

Slide 38 text

“How do you test serverless applications?” “Can you generate templated web pages?” “What about using external libraries?” “How do you set up dev, test and prod?” “When should you not use serverless?” “What if I need more then 10 minutes?” @THOMASJ

Slide 39

Slide 39 text

Be lazy and embrace the cloud. @THOMASJ

Slide 40

Slide 40 text

THANK YOU. @THOMASJ

Slide 41

Slide 41 text

No content