serverless - o'reilly...the future is serverless. on-prem cloud serverless. ride sharing...

36
Avner Braverman Binaris CEO Serverless for data and AI

Upload: others

Post on 30-Dec-2020

30 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Avner BravermanBinaris CEO

Serverless for data and AI

Page 2: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

The future is Serverless

Page 3: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

On-Prem Cloud Serverless

Page 4: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Ride sharing Serverless

Infrastructure Someone else's car Never manage servers

Cost Pay per ride Pay per CPU time

Page 5: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Legacyapplications

Cloud-Nativeapplications

3% utilization 30% utilization

Page 6: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Ride sharing Serverless

Infrastructure Someone else's car Never manage servers

Cost Pay per ride Pay per CPU time

Ease of use Focus on your phone Focus on business logic

Who can use? No driver's license No cloud expertise

Page 7: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

myFunction()

exports.handler = () => { return 'hello, world!'; };

Page 8: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Demo

Page 9: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Key providers

AWSLambda

AzureFunctions

GoogleCloud Functions

IBMCloud Functions

Binaris

Page 10: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

① Serverless ETL

② Serverless MapReduce

③ Serverless streaming

④ Serverless training

⑤ Serverless inference

Page 11: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless ETL

Kinesis

S3

HTTP

F()

S3

RedShift

Page 12: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless ETL

Upsides Easy to buildElasticUsually cheaper to run

Challenges Micro-batchingRun duration limits (15 min on AWS Lambda)Memory limits (up to 3GB on AWS Lambda)

ETL accounts for 90% of Lambda CPU cycles

Page 13: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

① Serverless ETL

② Serverless MapReduce

③ Serverless streaming

④ Serverless training

⑤ Serverless inference

Page 14: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless MapReduce

map()

map()

map()

reduce()

Data

Data

Data

Result

Page 15: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless MapReduce

1. Spread random points inside a square

2. Geometry tell us thatCircle area ~ # red points ~ π∙R2

Square area ~ # points ~ 4∙R2

3. Compute:π = 4 * (# red points) / (# points)

R

Calculating π using the Monte Carlo method:

Page 16: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

function computePi(points) { let inside = 0;

// repeat points times: for (let i = 0; i < points; i++) {

// random point (use R = 1) const x = Math.random() * 2 - 1; const y = Math.random() * 2 - 1;

// is it inside the circle? if (x * x + y * y < 1) { inside++; } }

// use circle to square area ratios to compute π return 4 * inside / points; }

Serverless MapReduce

More points == Better π

return inside;

Page 17: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless MapReduce

exports.computePiReducer = ({ inputs, points }) => { return 4 * inputs.reduce((a, b) => a + b) / points; };

exports.computePiMapper = ({ points }) => { let inside = 0;

// repeat points times: for (let i = 0; i < points; i++) {

// random point (use R = 1) const x = Math.random() * 2 - 1; const y = Math.random() * 2 - 1;

// is it inside the circle? if (x * x + y * y < 1) { inside++; } }

return inside; }

function mrController(...) {

}

① Data② Map

③ Reduce

// invoke mappers // wait for completion // invoke reducer // return result

Page 18: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Demo

Page 19: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless MapReduce

Upsides Easy to buildElasticScale at your fingertips

Challenges Failures?Retries?Laggards?

Page 20: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

function mrMapper(...) { // ... }

Serverless MapReducefunction mrAsyncController(...) { // add map commands to stream }

Stream

function mrMapper(...) {

}

function mrMapper(...) { // ... }

computePiMapper()

computePiReducer()

// invoke user mapper // save output // increase counter // if complete: // invoke user reducer

Page 21: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless MapReduce

github.com/binaris/functions-examples

Page 22: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless MapReduce

Upside Easy to build (with framework)ElasticScale to your fingertips

Challenges Need cache (e.g. Redis) to hold stateNeed storage (e.g. S3) to handle data

Page 23: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

① Serverless ETL

② Serverless MapReduce

③ Serverless streaming

④ Serverless training

⑤ Serverless inference

Page 24: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless streaming

Stream F() Stream G()

Page 25: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless streaming

F() F()

F()

F() F()

F() F()

F()

F()

switc

h

map

Page 26: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless streaming

Upsides Easy to buildElasticScale to your fingertipsReal-time

Challenges Need a smarter framework

Shameless plug for Binaris

Page 27: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

① Serverless ETL

② Serverless MapReduce

③ Serverless streaming

④ Serverless training

⑤ Serverless inference

Page 28: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless training

But, if ① Your data is small (few GB)

② You need hyperparameter optimization

Then you can leverage serverless scale!

Today, serverless is not a good fit for training 😕

Page 29: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

① Serverless ETL

② Serverless MapReduce

③ Serverless streaming

④ Serverless training

⑤ Serverless inference

Page 30: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless inference

k-means

(Yeah, we know this is not really inference, but same computational pattern)

Page 31: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless inference

https://run-prod.binaris.com/v2/run/<accountId>/public_kmeans_image_quant_py2?image_url=https://i.imgur.com/HLmmVIg.jpg&num_colors=256

Page 32: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Demo

Page 33: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverless inference

Upsides Easy to buildUse standard tools (py, sklearn, TF)ElasticScale to your fingertipsReal-time (no more plugs)

Challenges No GPUMight be limited CPU/memory for some TF models

Page 34: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

① Serverless ETL

② Serverless MapReduce

③ Serverless streaming

④ Serverless training

⑤ Serverless inference

Page 35: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Serverlessfor data and AI

Serverless is easy to useCosmic ✨ scale without the rocket 🚀 science

Pay as you go

[email protected] @avnerbraverman

Page 36: Serverless - O'Reilly...The future is Serverless. On-Prem Cloud Serverless. Ride sharing Serverless Infrastructure Someone else's car Never manage servers Cost Pay per ride Pay per

Rate today ’s session

Session page on conference website O’Reilly Events App