Serverless Computing and Google
Cloud Function
Ahmad Faiyaz
Software Engineer - Machine Learning
Traveloka
What is serverless?
Definition
Serverless computing (or serverless for short), is an execution model where
the cloud provider (AWS, Azure, or Google Cloud) is responsible for
executing a piece of code by dynamically allocating the resources.
serverless is sometimes referred to as “Functions as a Service” or “FaaS”
Serverless options
● AWS Lambda
● Google Cloud Function
● Azure Function
Good thing about being serverless
1. Auto scaled
2. Easy and fast way to deploy a service
3. For many cases, serverless will be cheaper than having a
server from cost perspective
4. No management required so less operational cost
Some use cases
Basic use case
Event based ( Image Resizing )
Bad things about being serverless
1. Locked to vendor. Different cloud provider implements in different way
2. Not flexible local environment. (At least for google cloud function)
3. Cold start problem ( there are some ways around for that )
4. It can be expensive if you have a heavy load ( then consider server based
solution).
5. Hard to debug in some cases.
Google Cloud
Function
Good things about google cloud function
1. It already implements HTTP function, AWS lambda
doesn’t have that builtin.
2. It is already integrated with different GCP service for
triggering. (Eg: Google Cloud Storage, Google PubSub,
Google StackDriver ).
3. Very easy to deploy.
Bad things about Google Cloud Function
1. Still premature if you compare with AWS Lambda
2. Local development environment is not flexible
3. Supports only Node.js, python ( AWS supports a lot of languages, including
Java)
4. No firewall, or VPC implementation.
Demo
Pre requisites
● Google cloud account ( credit/debit card required )
● Google cloud function is free for first 2 million
invocations
Q&A

Serverless computing and Google Cloud Function

  • 1.
    Serverless Computing andGoogle Cloud Function Ahmad Faiyaz Software Engineer - Machine Learning Traveloka
  • 2.
    What is serverless? Definition Serverlesscomputing (or serverless for short), is an execution model where the cloud provider (AWS, Azure, or Google Cloud) is responsible for executing a piece of code by dynamically allocating the resources. serverless is sometimes referred to as “Functions as a Service” or “FaaS”
  • 3.
    Serverless options ● AWSLambda ● Google Cloud Function ● Azure Function
  • 4.
    Good thing aboutbeing serverless 1. Auto scaled 2. Easy and fast way to deploy a service 3. For many cases, serverless will be cheaper than having a server from cost perspective 4. No management required so less operational cost
  • 5.
  • 6.
  • 7.
    Event based (Image Resizing )
  • 8.
    Bad things aboutbeing serverless 1. Locked to vendor. Different cloud provider implements in different way 2. Not flexible local environment. (At least for google cloud function) 3. Cold start problem ( there are some ways around for that ) 4. It can be expensive if you have a heavy load ( then consider server based solution). 5. Hard to debug in some cases.
  • 9.
  • 10.
    Good things aboutgoogle cloud function 1. It already implements HTTP function, AWS lambda doesn’t have that builtin. 2. It is already integrated with different GCP service for triggering. (Eg: Google Cloud Storage, Google PubSub, Google StackDriver ). 3. Very easy to deploy.
  • 11.
    Bad things aboutGoogle Cloud Function 1. Still premature if you compare with AWS Lambda 2. Local development environment is not flexible 3. Supports only Node.js, python ( AWS supports a lot of languages, including Java) 4. No firewall, or VPC implementation.
  • 12.
    Demo Pre requisites ● Googlecloud account ( credit/debit card required ) ● Google cloud function is free for first 2 million invocations
  • 13.