Google Cloud’s serverless platform lets you write code your way without worrying about the underlying infrastructure. Deploy functions or apps as source code or as containers. Build full-stack serverless applications with Google Cloud’s storage, databases, machine learning, and more while using your favorite language, runtimes, frameworks, and libraries.

gcp-serverless-options.png

Serverless doesn’t mean there are no servers, instead, it takes the  workload of managing a server which removes the needs for handling the  configuring, provisioning, load balancing, sharding, scaling, and  infrastructure management, so you can focus on building great  applications.

serverless-intro.png

Serverless computing (also known as No-Ops) distributes majorly across operational and developer experiences, thus ensuring:

  • There are no servers to manage or provision
  • Bills are optimized to what you use
  • Focus on Code
  • Scale-up fast
  • Scale down
serverless-more-than-faas.png

Function as a Service (FaaS) and serverless are often used interchangeably, however serverless has more to offer than FaaS. FaaS platforms take a function from developers, build it into an app, and deploy it in the cloud. Serverless is much more than just FaaS.

GCP Serverless Compute Options

Google Cloud provides serverless compute options that can fit into your kind of application. These options span across Event-based applications, HTTP applications and also Containerized applications.

Cloud Functions

Google Cloud Functions is a lightweight compute solution for  developers to create single-purpose, stand-alone functions that respond  to cloud events without the need to manage a server or runtime  environment. Common Cloud Functions use cases could be Data processing, Webhooks,  Lightweight APIs, Mobile backend, IoT.

cf-triggers.png

Cloud Functions allows you to trigger your code from Google Cloud  Platform, Firebase, and Google Assistant, or call it directly from any  web, mobile, or backend application via HTTP.

Cloud Functions supports code written in JavaScript (Node.js),  Python, and Go. There are no new languages, tools, or frameworks to  learn. All you need to do is bring code — including native libraries you  bring to the platform.

Cloud Functions provides a connective layer of logic that lets you  write code to connect and extend cloud services. Listen and respond to a  file upload to Cloud Storage, a log change, or an incoming message on a  Cloud Pub/Sub topic.

Learn more about  Cloud Functions.

App Engine

App Engine is a fully managed, serverless platform for developing and  hosting web applications at scale. You can choose from several popular  languages, libraries, and frameworks to develop your apps, then let App  Engine take care of provisioning servers and scaling your app instances  based on demand.

runtimes-cf-gae.png

Quickly build and deploy applications using many of the popular  languages like Java, PHP, Node.js, Python, C#, .Net, Ruby and Go or  bring your own language runtimes and frameworks if you choose.

Application Versioning in App Engine allows you easily host different  versions of your app, easily create development, test, staging, and  production environments.

Traffic Splitting in App Engine enables incoming requests to  different app versions, A/B test and do incremental feature rollouts.

App Engine also provides security to your applications by defining  access rules with App Engine firewall and leverage managed SSL/TLS  certificates by default on your custom domain at no additional cost.

Learn more about App Engine

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.

cr-knative.png

Cloud Run is built on the Knative open-source project, enabling the  portability of your workloads across platforms. Knative offers features like scale-to-zero, autoscaling, in-cluster  builds, and eventing framework for cloud-native applications on  Kubernetes.

Cloud Run (fully managed) allows you to deploy stateless containers without having to worry about the underlying infrastructure. Your workloads are automatically scaled up or down to zero depending on the traffic to your app. You only pay when your app is running, billed to  the nearest 100th millisecond.

Cloud Run for Anthos (on-premises) abstracts away complex Kubernetes concepts, allowing developers to easily leverage the benefits of Kubernetes and serverless together. It provides access to custom machine  types, additional networking support, and Cloud Accelerators.

Cloud Run automatically scales up or down from zero to N depending on traffic. It also allows for custom domain mappings and provides SSL for  free.

Learn more about Cloud Run

DevOps and Monitoring with serverless

Google Cloud integrate other products into deploying a serverless application and also in monitoring logs.

Deployment to serverless environments such as Cloud Function and App Engine uses Cloud Build in the background and monitoring logs for serverless applications also leverages on Stackdriver.

DevOps with Serverless.png

Cloud Build is a service that lets you easily create continuous  integration and delivery (CI/CD) pipelines for your serverless  applications.

Stackdriver is a monitoring service that aggregates metrics, logs,  and events for your serverless applications running on Google Cloud or  on-premises.

summary.png

Useful Links