Slide 1

Slide 1 text

Searching for the Server in Serverless @smithclay New Relic dotScale April 24, 2017

Slide 2

Slide 2 text

λ HTTP Requests Client App Simple App Architecture with FaaS Functions + API Gateway Is this going to (not) work for me? Managed Infrastructure λ λ λ

Slide 3

Slide 3 text

Event Trigger 1. Invoke λ 2. Run 3. End Result Error Timeout or or

Slide 4

Slide 4 text

FaaS: Typical Metrics Error Count Function Invocation Count Function Duration (ms)

Slide 5

Slide 5 text

Cold Start vs Warm Start Event Trigger Handler Warm Function Invocation Time Create Initialize Handler Cold

Slide 6

Slide 6 text

λ Running Commands const exec = require('child_process').exec; exports.handler = (trigger, cb) => { exec('whoami', (err, stdout) => { console.log(stdout); return cb(null); }); } [LOG TIME] sbxuser_1066

Slide 7

Slide 7 text

λ Discovery v2 with SSH Server λ ssh process

Slide 8

Slide 8 text

Info from /proc 2x Intel(R) Xeon(R) CPU E5-2666 v3 @ 2.90GHz cat /proc/cpuinfo 3857664 kB cat /proc/meminfo ixgbevf (EC2 10Gbps Network Driver) cat /proc/modules c4.large EC2 Compute-Optimized Instance (?)

Slide 9

Slide 9 text

c4.large instance λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λs on a VM 10 Gbps λ = 128 MB Function λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ

Slide 10

Slide 10 text

Cold Start Discovery in Code var SO_SO_COLD = true; exports.handler = function(trigger, cb) { console.log('Cold? %s', SO_SO_COLD); SO_SO_COLD = false; return callback(cb) } https://github.com/smithclay/lambda-proc-info

Slide 11

Slide 11 text

Warming methodology Scheduled Event λ Only effective for non- concurrent execution! 4 minute interval

Slide 12

Slide 12 text

Cold starts, visually ~7 hrs ~8 hrs

Slide 13

Slide 13 text

λ Host Hopping 10.13 10.12 10.11 10.13 10.12 10.12 10.12 10. 11 # of AZs in us-west-2: 3

Slide 14

Slide 14 text

Design Your Own FAAS High availability (multi-AZ or region) Elastic VMs and Automagic Freezing Containers Really good scheduling algorithm

Slide 15

Slide 15 text

FaaS: No Silver Bullet "I've got a quick, computationally-intensive task that I need to perform occasionally in response to a well-defined event that isn't that sensitive to latency." —The Ideal FaaS Developer // TO DO: measure && share

Slide 16

Slide 16 text

Thanks. @smithclay New Relic dotScale April 24, 2017