Slide 1

Slide 1 text

Guillaume Laforge Google Cloud, Developer Advocate Serverless containers with Cloud Run @glaforge

Slide 2

Slide 2 text

Operational Model Programming Model No Infra Management Managed Security Pay only for usage Service-based Event-driven Open What is Serverless

Slide 3

Slide 3 text

Containers • Any language • Any library • Any binary • Ecosystem of base images .js .rb .go .py .sh … 0 1 0 1 0 0 1 1 1

Slide 4

Slide 4 text

Containers: an industry standard 100 75 50 25 Note Apr 13, 2017 Sep 24, 2017

Slide 5

Slide 5 text

Introducing Cloud Run

Slide 6

Slide 6 text

Cloud Run Container to production in seconds Natively Serverless One experience, where you want it

Slide 7

Slide 7 text

Serverless spectrum Managed by your cloud Container orchestration (k8s) Not serverless for programming or ops Container focused Infra managed by you Hosted FaaS/compute Easiest dev experience Code focused Limited runtime options Managed by your team Serverless containers anywhere Knative / Cloud Run on Anthos (GKE) On prem or multi-cloud Code or containers Custom hardware (GPU, TPU, IoT, etc) Offline Infra managed by you Serverless containers Custom languages & runtimes Infra still cloud-managed

Slide 8

Slide 8 text

https://knative.dev/

Slide 9

Slide 9 text

Serverless containers, where you want them Cloud Run (fully managed) • Fully serverless • No cluster to manage • Pay for what you use Cloud Run on Anthos • Serverless developer experience • Runs in your GKE cluster • Custom machines (GPUs, CPUs, RAM…)

Slide 10

Slide 10 text

Use cases Public • Website • API endpoint Private • Microservices • Asynchronous tasks • Mobile backend • Webhook

Slide 11

Slide 11 text

Container contract • Listen on 0.0.0.0 on port $PORT (default 8080) • Binaries compiled for Linux 64-bit (Linux x86_64 ABI format) • HTTP server must start < 4 min (timeout → 504) • Request time < 15 min • Stateless (in-memory file system, don’t store data) • No background activity after request (CPU throttled)

Slide 12

Slide 12 text

Code, Build, Deploy & Run! Demo Time!

Slide 13

Slide 13 text

Cloud Run: Pay-per-use CPU / Memory / Requests 100ms

Slide 14

Slide 14 text

Concurrency: up to 80 concurrent requests concurrency = 1 concurrency = 80

Slide 15

Slide 15 text

Billable time Instance Billable Time Request 1 Start Request 1 End Request 2 Start Request 2 End Instance Time Billable Non-billable

Slide 16

Slide 16 text

Serverless compute options Serverless functions Source-based HTTP and Events Cloud Functions Serverless applications Source-based HTTP and async App Engine Serverless HTTP workloads Containers HTTP and async Cloud Run

Slide 17

Slide 17 text

Thank you! ● ● Qwiklab ● ● ● StackOveonlow google-cloud-run @glaforge