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

What this book covers

Chapter 1, Introducing App Engine, provides a high-level overview of App Engine, the first serverless platform released by Google back in 2008 (yes, over a decade ago). The chapter provides you with an understanding of what App Engine is, before going into the details of the supporting components.

Chapter 2, Developing with App Engine, gives you an overview of what is possible with App Engine. In this chapter, we illustrate the critical elements of the platform to show how easy it is to have even the most basic application effortlessly achieve scale and resilience without requiring additional maintenance.

Chapter 3, Introducing Lightweight Functions, discusses the value of moving to functions that have a single purpose. Reducing the size of an application footprint makes it easier to debug and run against a workload. During this chapter, we also introduce the concept of Google Cloud Functions, which take this concept to deliver serverless workloads on Google Cloud.

Chapter 4, Developing Cloud Functions, introduces the topic of using Cloud Functions on Google Cloud. In this chapter, we focus on the critical elements of how to build, deploy, and maintain serverless apps. To supplement this chapter, we discuss the Functions Framework, which enables local development to simulate the cloud, and cover the HTTP protocol for new web developers.

Chapter 5, Exploring Functions as a Service, works through a series of examples to build a service. In this chapter, we start to utilize Google APIs and various resources to integrate with our Cloud Functions. During this chapter, we see how event processing can minimize the development of code.

Chapter 6, Cloud Functions Labs, creates a series of examples to show real-world use cases for Cloud Functions. During this chapter, we will demonstrate how to build web components to respond to events. Also, we'll look into how to secure Cloud Functions through service accounts.

Chapter 7, Introducing Cloud Run, moves the discussion on to a new subject – Cloud Run. In this chapter, we cover some critical fundamentals of working with microservices and containers. In addition, we also introduce the topics of Knative, gVisor, and how they relate to Cloud Run.

Chapter 8, Developing with Cloud Run, discusses the Cloud Run interface on Google Cloud as well as using it to build sophisticated systems such as a REST API. We also take our first look at increasing developer productivity by automating some tasks using the Google Cloud developer toolset.

Chapter 9, Developing with Cloud Run for Anthos, introduces the concept of Cloud Run for Anthos, which means we reference Kubernetes for the first time. This chapter is critically important from the perspective of understanding the platforms of the future and how Cloud Run provides support for multiple environments.

Chapter 10, Cloud Run Labs, explains how to use Cloud Run and then how to integrate a serverless workload on Google Kubernetes Engine. Furthermore, we take a look at how to perform CI together with the Cloud Run product.

Chapter 11, Building a PDF Conversion Service, introduces the first of two use cases for Cloud Run on Google Cloud. In this example, we learn how to integrate an open source application and deploy it as a container. Also, we utilize event notification for Google Cloud Storage to minimize the development of additional code.

Chapter 12, Consuming Third-Party Data via a REST API, continues our exploration of Cloud Run on Google Cloud. In this second example, we learn how to build multiple services for a proof of concept application. The application demonstrates several techniques and how to integrate services such as Cloud Pub/Sub, Cloud Build, and Container Registry. By the end of the exercise, you will have experience of how to consume JSON and build a scalable solution around data management and propagation.