Slide 1

Slide 1 text

@geshan From 0 to working serverless URL for a containerized app Geshan Manandhar Senior Software Engineer THE ICONIC

Slide 2

Slide 2 text

@geshan whoami Geshan Manandhar ● Senior Software Engineer ● Tech solution provider ● Conditional microservices believer 2

Slide 3

Slide 3 text

I am from Kathmandu, Nepal

Slide 4

Slide 4 text

I work for THE ICONIC (Tech)

Slide 5

Slide 5 text

@geshan Agenda ● What is serverless? Why serverless? ● Containers and why use them ● Current serverless FAAS offering ● Cloud Spectrum ● Google cloud run (Serverless + Containers = Bliss) ● Demo ● Performance comparison (Serverless vs FAAS) 5

Slide 6

Slide 6 text

What is serverless?

Slide 7

Slide 7 text

@geshan “ Serverless was first used to describe applications that significantly or fully incorporate third-party, cloud-hosted applications and services, to manage server-side logic and state - BAAS. Mike Roberts, Symphonia 7

Slide 8

Slide 8 text

@geshan “ Serverless can also mean applications where server-side logic is still written by the application developer, but, unlike traditional architectures, it’s run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a third party. - FAAS. Mike Roberts, Symphonia 8

Slide 9

Slide 9 text

Time for Serverless?

Slide 10

Slide 10 text

PHP community were doing serverless decades ago :)

Slide 11

Slide 11 text

PHP community were doing serverless decades ago :)

Slide 12

Slide 12 text

PHP community were doing serverless decades ago :)

Slide 13

Slide 13 text

Why use serverless?

Slide 14

Slide 14 text

@geshan Reasons to use Serverless ● Server management is not necessary ● Cost based on precise usage (by the second) ● Inherently scalable (load based autoscaling) ● Implicit high availability ● Quick deployments and updates (Functions) ● Faster to reach a working application (time to market) 14

Slide 15

Slide 15 text

Focus on your application (code), not the infrastructure

Slide 16

Slide 16 text

@geshan Serverless (FAAS) Offering (Big 3) 16

Slide 17

Slide 17 text

Source: https:/ /faasandfurious.com/91 There are still servers, you don’t have to manage them.

Slide 18

Slide 18 text

What are containers?

Slide 19

Slide 19 text

@geshan “ A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. - Docker.com 19

Slide 20

Slide 20 text

Why use containers?

Slide 21

Slide 21 text

@geshan Why use Containers/Docker? ● Ship the whole stack with dependencies - reproducibility ● Efficient resource usage - scale horizontally ● Better isolation (cgroups) ● Faster initialization and execution ● Cloud provider agnostic (K8s) ● Dev Side - Quicker onboarding - productive on day 1 21

Slide 22

Slide 22 text

Decrease the distance between Dev and Ops -- SRE

Slide 23

Slide 23 text

Vs Source: https:/ /faasandfurious.com/46

Slide 24

Slide 24 text

Vs Source: https:/ /faasandfurious.com/46

Slide 25

Slide 25 text

Serverless and container evolution in the cloud

Slide 26

Slide 26 text

26 Control Ease / Abstraction Virtual Machine (VM) Containers PAAS Serverless Cloud Spectrum

Slide 27

Slide 27 text

27 Control Ease / Abstraction Virtual Machine (VM) Containers PAAS Serverless Serverless Containers Cloud Spectrum - the sweet spot

Slide 28

Slide 28 text

@geshan Google Cloud Run ● Cloud Run is a managed compute platform that automatically scales your stateless containers. ● Cloud Run is serverless: it abstracts away all infrastructure management, so you can focus on what matters most — building great applications. 28

Slide 29

Slide 29 text

@geshan Cloud Run advantages ● No need to learn a new paradigm/framework ● Run any language/framework/binary -- as it runs containers (not fixed runtimes) ● Serverless and fully managed ○ Cloud Run on GKE can be self managed (Knative) ● Https URL out of the box (custom domains possible) ● The Google Cloud toolset goodness :) ● Getting from 0 to working URL is relatively easy 29

Slide 30

Slide 30 text

Serverless + Containers = Bliss :)

Slide 31

Slide 31 text

@geshan @geshan https:/ /github.com/geshan/currency-api Demo time 31

Slide 32

Slide 32 text

@geshan 32 Performance comparison Cloud Run Vs Google Cloud functions 10 Requests/sec for 30 seconds with vegeta Cloud Run Cloud Functions

Slide 33

Slide 33 text

@geshan 33 Thanks! Any questions? THE ICONIC is hiring. I blog at Geshan.com.np and you can follow me @geshan , this slide is at bit.ly/zero-to-url-gcr

Slide 34

Slide 34 text

@geshan Credits/references ● https:/ /martinfowler.com/articles/serverless.html ● https:/ /www.cloudflare.com/learning/serverless/why-use-serverless/ ● https:/ /hackernoon.com/what-is-serverless-architecture-what-are-its-pros-and-cons-cc4b804022e9 ● https:/ /pixabay.com/photos/sea-cumulus-cloud-boat-clouds-84629/ ● https:/ /pixabay.com/photos/computer-computer-code-screen-1209641/ ● https:/ /faasandfurious.com/46 - Tribal warfare Serverless vs Containers ● https:/ /pixabay.com/photos/hamburg-port-of-hamburg-3021820/ ● https:/ /techbeacon.com/app-dev-testing/3-reasons-why-you-should-always-run-microservices-apps-c ontainers ● https:/ /pixabay.com/photos/chimpanzee-monkey-ape-mammal-zoo-3703230/ ● https:/ /www.youtube.com/watch?v=q9Wa5KJURec ● https:/ /pixabay.com/photos/connect-connection-cooperation-20333/ ● https:/ /www.bbva.com/en/serverless/ ● https:/ /docs.google.com/spreadsheets/d/1mYbr5FH7nScDQwVjKhJj3rtk9M-9LzBppBKi_cq3BEw/edit?us p=sharing - Serverless Comparison Sheet ● https:/ /pixabay.com/photos/clouds-cumulus-sky-nature-dramatic-2329680/ ● https:/ /medium.com/@keithwhor/rise-of-functions-as-a-service-how-php-set-the-serverless-stage-20- years-ago-ccb560c5f422 ● https:/ /withinboredom.info/2018/12/23/serverless-from-a-php-developers-experience/ ● https:/ /twitter.com/noidi/status/886101144866615296 ● https:/ /news.ycombinator.com/item?id=16407290 ● https:/ /www.gartner.com/smarterwithgartner/top-trends-in-the-gartner-hype-cycle-for-emerging-techn ologies-2017/ 34