Learn the essentials of the Spring Boot microframework for developing modern, cloud-ready JVM applications and microservices across a variety of environments. With this practical book, you'll learn everything you need to know to get started working with Spring Boot.A modern cloud-native architecture looks very different from the architectures inspired by the economics of scale ten years ago. Now that the cloud is the default for everyone--and not just trailblazers like Google, Amazon, Twitter, and Netflix--Spring Boot and Spring Cloud offer the best tools to commoditize the architecture of the cloud. This book shows you how to leverage Spring Boot to build modular, highly-scalable applications.
Most books out there about Java web applications, Spring, Spring Boot, etc are awfully abstract to the point of uselessness. They sort of assume the developer will be a small cog on a big organization that provides a lot of the necessary services and resources so, they don't go into details. This book is different. This book assumes you are building a modern application on a modern cloud hosting and that you'll be dealing with all aspects of it. I found this book really useful. If you are used to the pragmatism of the Rails world and wants to get things done with Java, this is the book for you.
Having said that, I found these problems:
- It promotes 12 factor apps and then proceeds to mix permanent configuration with credentials in one single file not even mentioning how to avoid committing credentials to your source code repo. I wrote about that here: https://pupeno.com/2017/08/27/setting... - It completely ignores the problem of maintaining a production schema. It briefly mentions that you can have a schema in a single file that Spring Boot will read and moves on. This is one of those problems that if you get wrong you'll have a lot of production issues. There are simple to integrate solutions for Spring Boot, such as Flyway: https://flywaydb.org/ It would have taken 2 pages to cover it. - It makes everything about microservices. Microservices are a necessary evil. They solve a problem that grows geometrically at the expense of creating another that grows linearly but starts at a higher point. It only makes sense to use microservices when that first problem is huge. Yet, this book constantly pushes for microservices. - It only covers OAuth when it comes to authentication. I can't be too critical of that as it probably makes sense to most apps out there, just not mine.
My biggest problem with this book is very introductory level of the content. It feels almost like "abstract" or "index" of a sort. It points you to all the right directions, but leave you to explore them in depth by yourself. So if you have already worked with Spring Boot and Spring Cloud you will get almost nothing new from the book.
Having said that, for a new developer, who is indeed new to the topic, this book provides very nice overview of the field and puts your face into right direction.