Book Image

Hands-On Serverless Computing with Google Cloud

By : Richard Rose
Book Image

Hands-On Serverless Computing with Google Cloud

By: Richard Rose

Overview of this book

Google Cloud's serverless platform allows organizations to scale fully managed solutions without worrying about the underlying infrastructure. With this book, you will learn how to design, develop, and deploy full stack serverless apps on Google Cloud. The book starts with a quick overview of the Google Cloud console, its features, user interface (UI), and capabilities. After getting to grips with the Google Cloud interface and its features, you will explore the core aspects of serverless products such as Cloud Run, Cloud Functions and App Engine. You will also learn essential features such as version control, containerization, and identity and access management with the help of real-world use cases. Later, you will understand how to incorporate continuous integration and continuous deployment (CI/CD) techniques for serverless applications. Toward the concluding chapters, you will get to grips with how key technologies such as Knative enable Cloud Run to be hosted on multiple platforms including Kubernetes and VMware. By the end of this book, you will have become proficient in confidently developing, managing, and deploying containerized applications on Google Cloud.
Table of Contents (19 chapters)
1
Section 1: App Engine
4
Section 2: Google Cloud Functions
9
Section 3: Google Cloud Run
14
Section 4: Building a Serverless Workload

CI on GKE

As we have already seen, getting Cloud Run on GKE up and running takes a lot of work in comparison to Cloud Run. Besides that, we also need to iterate against the development cycle to ensure the build, testing, and deployment processes are performed consistently.

Fortunately, there is a mechanism available to help out with the development life cycle. Cloud Build is used to automate development tasks and can easily be extended to automate many of the tasks associated with developing code. Making the transition to working with containers provides many benefits, but does add the additional layer of effort necessary to ensure the images reflect the latest changes. A typical life cycle may look something like the following:

  1. Amend the code.
  2. Build the code.
  3. Test the code.
  4. Push the code to version control.

Additionally, there may be different environments, tools, and processes...