Google Cloud Platform: Going Serverless

In my previous blog post, I discussed setting up your Google Cloud account. In this post, I want to look at the various serverless options available on Google Cloud. Google Cloud provides several different choices for you to build, develop, and deploy your serverless functions and applications. These products allow you focus on development without having to worry about the underlying infrastructure. That means capacity planning, configuration, management, maintenance, operating or scaling of containers, virtual machines, or physical servers is all managed by Google.

Let’s get started looking at the different serverless options available to you on the Google Cloud Platform.

App Engine

Google Cloud App Engine Logo

  • App Engine is a fully managed, serverless platform for developing and hosting your web applications. App engine is highly scalable and allows you to choose from several languages and frameworks to develop your application.
  • Possible App Engine use-cases include hosting the front and backends of web and mobile applications.
  • App Engine supports two different type of environments:

App Engine Standard Environment

  • The App Engine standard environment is based on container instances running on Google’s infrastructure. These containers are preconfigured with one of several available runtimes.
  • Language support includes Go, Python, PHP, Java, Node.js and Ruby.

App Engine Flexible Environment

  • App Engine flexible environment instances are managed virtual machines, which means that you can take advantage of custom libraries, use SSH for debugging, and deploy your own Docker containers. Google’s management services ensure that all of your project’s virtual machine instances are co-located for optimal performance.
  • Language support includes Go, Python, PHP, Java, Node.js, .NET and Ruby.

You can learn more about Google Cloud App Engine here.

Cloud Functions

Google Cloud Cloud Function Logo

  • You can think of Cloud Functions as the glue that connects third-party and Google Cloud Services. Cloud Functions allow you to create single-purpose, stand-alone functions (event-driven code) that respond to cloud events without the need to manage servers or a runtime environment.
  • Possible Cloud Function use-cases include data and file processing, webhooks, lightweight APIs, mobile backends, and IoT.
  • Language support includes Go, Python, Java, Node.js, .NET and Ruby.
  • You can learn more about Cloud Functions here.

Cloud Run

Google Cloud Cloud Run logo

  • Cloud Run is a managed compute platform that enables you to run and scale your containerized applications. Cloud Run is serverless so it abstracts away all infrastructure management. Cloud Run is built on the Knative open-source project, enabling you to move your workloads freely across platforms.
  • Possible Cloud Run use-cases include containerized web or microservice applications.
  • Cloud Run is a managed container service, which enables you to use the programming language of your choice.
  • You can learn more about Cloud Run here.

Cloud Run for Anthos

  • Cloud Run for Anthos provides a serverless development platform that runs on Google Kubernetes Engine. This allows you to abstract away complex Kubernetes concepts and leverage the benefits of Kubernetes and serverless together. Cloud Run for Anthos also provides access to custom machine types, additional networking support, and Cloud Accelerators.
  • Some common Cloud Run for Anthos use-cases could be running web applications at the edge and modernizing existing legacy applications.
  • Just like Cloud Run, you can use the programming language of your choice.
  • You can learn more about Cloud Run for Anthos here.

Workflows

Google Cloud Workflow icon

  • You can use Workflows to create serverless workflows that link a series of serverless tasks together in the order you define. Workflows requires no infrastructure management and scales based on demand.
  • Some common Workflow use-cases could be connecting various Google Cloud services and external HTTP APIs such as connecting two public Cloud Functions.
  • You can learn more about Workflows here.

Cloud Build

Google Cloud Build Icon

  • Cloud Build is Google’s serverless continuous integration and delivery (CI/CD)  platform. You can build, test, and deploy your applications across multiple environments including virtual machine, serverless, Kubernetes, or Firebase. Cloud Build scales in response to load, so you don’t need to provision servers or plan for additional capacity.
  • Cloud Build automatically performs package vulnerability scanning for Ubuntu, Debian, and Alpine packages.

Summary

In this blog post we looked at the various serverless products offered by Google Cloud as well as common use cases for each service. In my next post we’ll start looking at each service individually and how you can get started using them.

Thank you for reading!