For books that don’t provide the right solution, I expect them to provide inspiriation.
The discussion in this book is relatively superficial. The other problem of this book is that it lacks the in-depth discussions of the essential problems engineerings will be facing when building cloud-native applications. And the most interesting challenge for the engineers is to solve the problem with a given context. as every company is built differently, a solution works for one company might not work for another. I understand that it is very difficult to write such a book that fit for everyone’s use case. For one example, OAthu is a good choice for authentication, but what if your company already have it’s own authentication system, for example, Django’s authentication framework where each client is viewed as a user? The challenge for the engineers is to integrate the SpringBoot into the existing system. The major issue is: the infrastructure components in such an organization mostly have already been built. However, I don’t consider it as a good book for people who are exploring Spring Boot as an alternative solution for the engineering problems within a relatively established world. It discusses some of the essential problems you need to consider and solve when building cloud native applications, and it demonstrated that these problems can be solved easily with spring boot.
It is a good guide book for people who try to understand how to build a Java application with Spring Boot on the cloud. The well-organized examples and annotations make this book a handbook for people who need to solve exactly the same problem. It almost covers every aspect of the system that you need to build for a cloud application. It is fair to say that this book is very comprehensive. By integrating with Eureka, it helps you solve the middle tier routing problems. By integrating with OAuth, it provides robust authentication and authorization solution. Spring also utilize the well-built framework to solve the problems beyond the application logic. These abstractions help you focus on the application logic without worrying about the underlying details.
Spring makes such integration easy by providing you with the native abstraction frameworks to integrate with such systems, like Spring JPA for database access, Spring Data Cache for cache service access, and Spring Message Channel for streaming frameworks. You can also build a data-driven application with the Spring message channel framework or integrating with messaging brokers like Kafka, RabbitMQ. You can easily equip your framework with different persistence solutions: SQL database like MySQL and PostgreSQL, NoSQL database like MongoDB, cache services like Redis. The easy to use reminds of some good frameworks in the Python web world like Falsk. Spring Boot enables you to quickly build a REST application, you can have such an application up and running with half an hour. It does not solve every engineering problem you will be facing, but it provides easy integrations with the best framework on the problem domains. Spring Boot is such a framework that provides a simple service bootstrapping process as it covers most of the complicated configuration process in order to bring up a service. Cloud Native Java provides an overview of why people want to build cloud-native applications, and how to build them with Spring Boot and other frameworks.Ī cloud-native application focus on the application logic that solves the business and product problems, without worrying about the underlying infrastructures setup and operation.