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.