@geshan
From 0 to working serverless
URL for a containerized app with
Google cloud run
Geshan Manandhar
Senior Software Engineer
THE ICONIC
@geshan
whoami
Geshan Manandhar
● Senior Software Engineer
● Tech solution provider
● Conditional microservices believer
2
I am from Kathmandu, Nepal
I work for THE ICONIC (Tech)
@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
What is serverless?
@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
@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
Time for Serverless?
PHP community were doing serverless decades ago :)
PHP community were doing serverless decades ago :)
PHP community were doing serverless decades ago :)
Why use serverless?
@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
Focus on your application (code), not the infrastructure
@geshan
Serverless (FAAS) Offering (Big 3)
16
Source: https://faasandfurious.com/91There are still servers,
you don’t have to manage them.
What are containers?
@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
Why use containers?
@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
Decrease the distance between Dev and Ops -- SRE
Vs
Source: https://faasandfurious.com/46
Vs
Source: https://faasandfurious.com/46
Serverless and container evolution in the cloud
26
Control Ease / Abstraction
Virtual
Machine (VM)
Containers
PAAS Serverless
Cloud Spectrum
27
Control Ease / Abstraction
Virtual
Machine (VM)
Containers
PAAS Serverless
Serverless
Containers
Cloud Spectrum - the sweet spot
@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
@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
Serverless + Containers = Bliss :)
@geshan@geshan
https://github.com/geshan/currency-api
Demo time
31
@geshan 32
Performance
comparison
Cloud Run
Vs
Google Cloud
functions
10 Requests/sec for 30 seconds with vegeta
Cloud Run
Cloud Functions
@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
@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

From 0 to working serverless url for a containerized app with google cloud run

  • 1.
    @geshan From 0 toworking serverless URL for a containerized app with Google cloud run Geshan Manandhar Senior Software Engineer THE ICONIC
  • 2.
    @geshan whoami Geshan Manandhar ● SeniorSoftware Engineer ● Tech solution provider ● Conditional microservices believer 2
  • 3.
    I am fromKathmandu, Nepal
  • 4.
    I work forTHE ICONIC (Tech)
  • 5.
    @geshan Agenda ● What isserverless? 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
  • 6.
  • 7.
    @geshan “ Serverless wasfirst 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
  • 8.
    @geshan “ Serverless canalso 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
  • 9.
  • 10.
    PHP community weredoing serverless decades ago :)
  • 11.
    PHP community weredoing serverless decades ago :)
  • 12.
    PHP community weredoing serverless decades ago :)
  • 13.
  • 14.
    @geshan Reasons to useServerless ● 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
  • 15.
    Focus on yourapplication (code), not the infrastructure
  • 16.
  • 17.
    Source: https://faasandfurious.com/91There arestill servers, you don’t have to manage them.
  • 18.
  • 19.
    @geshan “ A containeris 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
  • 20.
  • 21.
    @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
  • 22.
    Decrease the distancebetween Dev and Ops -- SRE
  • 23.
  • 24.
  • 25.
    Serverless and containerevolution in the cloud
  • 26.
    26 Control Ease /Abstraction Virtual Machine (VM) Containers PAAS Serverless Cloud Spectrum
  • 27.
    27 Control Ease /Abstraction Virtual Machine (VM) Containers PAAS Serverless Serverless Containers Cloud Spectrum - the sweet spot
  • 28.
    @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
  • 29.
    @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
  • 30.
  • 31.
  • 32.
    @geshan 32 Performance comparison Cloud Run Vs GoogleCloud functions 10 Requests/sec for 30 seconds with vegeta Cloud Run Cloud Functions
  • 33.
    @geshan 33 Thanks! Any questions? THEICONIC is hiring. I blog at Geshan.com.np and you can follow me @geshan , this slide is at bit.ly/zero-to-url-gcr
  • 34.
    @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