Distributing the application as a monolith versus a microservice
In Part 1, Creating a Backend with Quarkus, we implemented an HTTP API and the core business logic for a task manager application. Then, in Chapter 7, Bootstrapping the React Project, we created the React application that acts as a frontend and main user interface for the task manager. With the currently decoupled project structure, it would be relatively easy to deploy the application in a distributed, microservice fashion, as separate components. Alternatively, we could apply some minor changes to integrate the frontend into the backend and distribute the task manager as a monolith. Let’s learn what the advantages of exposing the application as separate microservices would be.
Advantages of a microservice architecture
Exposing the task manager as separate microservices would be quite easy with the current project structure. We’d need to package both the Java Quarkus-based backend and the Javascript...