Chapter 7. Project 3: Fact Service with Spring Boot, Cloud Run, and Cloud SQL

In previous chapters, you embraced cloud native development. You made full use of the convenience of serverless Cloud Functions and then Cloud Run. You used the Go programming language, which, due to its relatively light footprint and fast startup time, is ideal for Cloud Run and autoscaling in particular. However, this chapter includes a more traditional use case: a long-running REST API service that persists data to a relational database. If you are coming to the cloud from an enterprise environment, this type of service is likely your bread and butter.

Often, cloud native assumes you are starting from a blank slate. However, even if you are working on a green field project, you will typically inherit constraints such as the languages and frameworks your team is used to. In this case, you are going to use Java and Spring Boot, but you will see how you still have options for making this a cloud native application.

On the first cloud native project I worked on, we were using Amazon Web Services. One team dove straight in, using the recently released serverless AWS Lambda and switching to Node.js as their programming language. All of this was completely new to them, and they were learning on the job. They soon ran into trouble. If you don’t have to change everything at once, often that is a better strategy.

For the next project, you are going to build the core of the Skills Mapper system, a REST API that ...

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.