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 […]
Evaluation – Profile Service with Pub/Sub and Firestore
Let’s evaluate the solution in terms of cost. Overall, this is a low-cost solution; it is taking good advantage of cloud native services. The costs are broken down as follows. Firestore Firestore is a relatively cheap way to store data, as you are not paying for compute resources and are only storing small amounts of […]
Configuring Service Accounts – Profile Service with Pub/Sub and Firestore
In general, if something isn’t working in Google Cloud, a good first step is to check for missing permissions on a service account, especially if you are using a service account other than the default. You can do this by going to the IAM & Admin section of the console and checking the permissions for […]
Sending Events to Pub/Sub – Profile Service with Pub/Sub and Firestore
Google Pub/Sub is a robust, fully managed service that enables real-time messaging between applications. However, when integrating Pub/Sub into your Spring applications, you might not want to deal with the specifics of the Pub/Sub API directly. This is where the Spring Cloud GCP library comes into play. Spring Cloud GCP provides a channel adapter for […]
Deploying to Cloud Run Connecting to Cloud SQL – Fact Service with Spring Boot, Cloud Run, and Cloud SQL
To deploy for real, the fact service needs to connect to the Cloud SQL PostgreSQL database. There are several options for connecting to a Cloud SQL database from Cloud Run. In this case, as you are using the Spring Cloud GCP starter for Cloud SQL to connect to a Cloud SQL database using the Cloud […]
Tip – Fact Service with Spring Boot, Cloud Run, and Cloud SQL
It may surprise you to learn that the size of your disk space can directly affect the number of input/output operations per second (IOPS) your system can handle. IOPS is a common performance measurement used to benchmark computer storage devices like hard disk drives (HDD), solid-state drives (SSD), and storage area networks. The more IOPS […]
Implementation – Fact Service with Spring Boot, Cloud Run, and Cloud SQL
Let’s get hands-on and implement this project. Creating a New Spring Boot Project To create a new Spring Boot project, you can use the Spring Initializr. This is a web application that allows you to create a new Spring Boot project with several initial dependencies. You will use the following dependencies: This is a great […]
Identity Platform – Fact Service with Spring Boot, Cloud Run, and Cloud SQL
In this service, a fact is made up by relating a person to a skill via a level of interest or proficiency. A skill is represented by a Stack Overflow tag you retrieved in Chapter 5 and made searchable in Chapter 6. However, you need a way of capturing the person it is associated with, […]
Solution – Fact Service with Spring Boot, Cloud Run, and Cloud SQL
When choosing how to implement this requirement, you need to answer several questions: Where to run the compute? For this service, you have a long-running process, so it is not suitable for Cloud Functions. You will be using Java and Spring Boot in a container, so the startup time will be several seconds when using […]
Getting Ready for Deployment – Skill Service with Cloud Run
Before getting hands-on, make sure you have a gcloud CLI either on your local machine or in Cloud Shell, and ensure you are using the same Google Cloud project as in Chapter 5, using the command: gcloudconfiggetproject You can set a PROJECT_ID environment variable again to make it easier to copy and paste commands: exportPROJECT_ID=$(gcloudconfigget-valueproject) […]