Cloud Native Java

"Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry"

I’m mixed about this book and wouldn’t recommend it when starting out with Java and Spring.

It contains all the right directions but misses out on providing enough depth on any of them. The high-level structure seems right, but the flow within each section feels unorganized. It doesn’t provide enough explanations, background and theory to be a good fundamental book to get started; yet it also isn’t hands-on enough to serve as go-to reference. It tries to fill this weird middle ground, which in my opinion isn’t very valuable.

Some of the technologies used have fallen out of fashion since the book was published. Also, the deployment and runtime environment is focused on Cloud Foundry, which isn’t a surprise given the book’s subtitle but of limited value if you’re not using Cloud Foundry.

For a book that is literally titled “Cloud Native Java”, I’d have expected more environment-agnostic material. A more suitable title for the contents of this book would have been “Running Spring on Cloud Foundry using Netflix OSS Components”.

I enjoyed the examples built on Spring abstractions (e.g. Spring Data, Spring Integration, Spring Batch, Spring Security). They continue to be relevant despite the book being 5 years old at time of this writing. Although the comment above still applies: it is only scratching the surface and isn’t a comprehensive book on Spring.

Table of contents:

  • I. Basics
      1. The Cloud Native Application
      1. Bootcamp: Introducing Spring Boot and Cloud Foundry
      1. Twelve-Factor Application Style Configuration
      1. Testing
      1. The Forklifted Application
  • II. Web Services
      1. REST APIs
      1. Routing
      1. Edge Services
  • III. Data Integration
      1. Managing Data
      1. Messaging
      1. Batch Processes and Tasks
      1. Data Integration
  • IV. Production
      1. The Observable System
      1. Service Brokers
      1. Continuous Delivery
  • V. Appendix
    • A. Using Spring Boot with Java EE

See all books in the bookshelf.