Slide 1

Slide 1 text

GLOBALLY DISTRIBUTED APPLICATIONS WITH SERVERLESS FRAMEWORK

Slide 2

Slide 2 text

Maciej Winnicki Principal Software Engineer Serverless, Inc.

Slide 3

Slide 3 text

@mthenw

Slide 4

Slide 4 text

what is serverless

Slide 5

Slide 5 text

(re)volution of the cloud

Slide 6

Slide 6 text

focus on business logic less concerns about stack implementation https://medium.com/openwhisk/five-minute-intro-to-open-source-serverless-development-with-openwhisk-328b0ebfa160 bare metal IaaS PaaS functions hardware abstraction OS abstraction runtime abstraction

Slide 7

Slide 7 text

Function-as-a-Service

Slide 8

Slide 8 text

Function-as-a-Service Backend-as-a-Service + https://martinfowler.com/articles/serverless.html

Slide 9

Slide 9 text

no server/container/process management http://blog.rowanudell.com/the-serverless-compute-manifesto/ costs scale with usage / never pay for idle auto-scale / auto-provision

Slide 10

Slide 10 text

global availability • improved performance 
 (lower response time = more income) • increased fault tolerance • data locality

Slide 11

Slide 11 text

CHALLENGES

Slide 12

Slide 12 text

• How to route traffic to the closest region? • Where to store data? • How to store data in multiple regions? • How to sync data between regions? • Consistency vs. availability • What happens if one region failed?

Slide 13

Slide 13 text

AWS re:Invent 2017: Building Resilient, Multi-Region Serverless Applications (SRV313)

Slide 14

Slide 14 text

DEMO APPLICATION

Slide 15

Slide 15 text

DISTRIBUTED KEY/VALUE STORE

Slide 16

Slide 16 text

λ λ DynamoDB Global Table demo.serverlessperf.com DNS CNAME record DNS CNAME record

Slide 17

Slide 17 text

• Logic - AWS Lambda • HTTP endpoint - AWS API Gateway + custom domains • Database - AWS DynamoDB + DynamoDB Global Tables • Global DNS - AWS Route53 Latency based routing

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

A CLI tool that manages the lifecycle of you serverless application.

Slide 20

Slide 20 text

Features • application lifecycle management • manage code & infrastructure • scaffolding & automation • multi-provider • AWS • Google Cloud • Azure • IBM BlueMix • Kubeless • local development • extensibility • community

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content