Chapter 5. Project 1: Tag Updater with Cloud Functions

In this initial project, you will write the first part of the Skills Mapper application. You will be introduced to some of the higher-level abstractions in Google Cloud and be shown how you can solve a real-world problem at a minimal cost.

You will learn how to solve the requirement in three ways:

  • Manually, using the gcloud CLI alone

  • Automated, using a Cloud Function and Cloud Scheduler

  • Fully automated, using the Cloud Function and Terraform to deploy

Note

The code for this chapter is in the tag-updater folder of the GitHub repository.

Requirements

Let’s dive into the requirements for this project.

User Story

The user story for this piece of functionality can be written as shown in Figure 5-1.

Figure 5-1. Project 1 user story

Elaborated Requirements

This project also has the following specific requirements:

  • The list of skills should include technologies, tools, and techniques, and be comprehensive and unambiguous.

  • Although new skills emerge frequently, it is not every day so limiting updates to weekly is sufficient.

  • The solution should be reliable, require minimal maintenance, and be low cost.

  • The resultant list of skills should be easy to consume by future services.

Solution

Maintaining a list of technical skills is a big undertaking. Fortunately, Stack Overflow is already doing that by maintaining ...

Get Cloud Native Development with Google Cloud now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.