Chapter 9. Project 5: API and User Interface with API Gateway and Cloud Storage

In previous chapters, you developed three separate Cloud Run services that collectively constitute the backend for the Skills Mapper application. While the benefit of this arrangement is that each service can be individually maintained and scaled, it has led to a somewhat fragmented system. Navigating this structure currently requires an understanding of which functionality is provided by each distinct service. To recap, these three services are:

Skill service

This service offers suggestions of skills that can be added to the fact service.

Fact service

This is responsible for maintaining the facts necessary for constructing a profile.

Profile service

This updates user profiles as the associated facts evolve.

One significant challenge that needs to be addressed is unauthenticated invocation. Currently, these Cloud Run services expose their APIs to the internet without any authentication, which makes them susceptible to attacks.

To secure the system and streamline its operation, unifying these services under a single, secure API is the subject of this chapter. Additionally, you will deploy a user interface, providing users with a secure and consolidated point of access to the Skills Mapper application’s functionality.

Note

The code for this chapter is in the user-interface folder of the GitHub repository.

Requirements

Let’s look at the requirements for this final project. The user story for ...

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.