Cloud Native Java

Authored by Josh Long.

“Cloud Native Java,” authored by Josh Long, translated by Zhang Ruofei and Song Jingchao, published by Publishing House of Electronics Industry in July 2017.

image
Cover of the book Cloud Native Java
image
Jimmy Song with Josh Long

Photo taken on November 3, 2018, in Beijing

Book Introduction

What distinguishes traditional enterprises from companies like Amazon, Netflix, and Etsy? These companies have perfected cloud-native development methods that enable them to stay ahead and lead the competition. This practical guide shows Java/JVM developers how to build software faster and better using Spring Boot, Spring Cloud, and Cloud Foundry.

Many organizations have already ventured into cloud computing, test-driven development, microservices, and continuous integration and delivery. Authors Josh Long and Kenny Bastani will take you deep into these tools and practices, helping you transform traditional applications into true cloud-native ones.

The book consists of four major parts:

  • Foundation: Understand the motivation behind cloud-native thinking; configure and test Spring Boot applications; migrate your traditional applications to the cloud
  • Microservices: Build HTTP and RESTful services using Spring; route requests in distributed systems; establish edge services closer to data
  • Data Integration: Manage data using Spring Data and integrate distributed services with Spring-supported event-driven, message-centric architectures
  • Production: Make your system observable; use service proxies to connect stateful services; understand the important ideas behind continuous delivery

If you’re building cloud-native applications, this book will serve as your essential guide to using the Java ecosystem. It covers everything—building resilient services, managing data flows (via REST and asynchronous events), testing, deployment, and observability.

—Daniel Bryant, Software Developer and CTO at SpectoLabs

Whether you’re just starting out on your cloud-native journey or nearing your cloud-native goals, everyone involved will benefit from the insights and experiences shared in this Cloud Native Java book.

—Dr. Dave Syer, Contributor to the Spring Framework, and Co-founder of Spring Boot and Spring Cloud

About the Authors

Josh Long is a Spring Developer Advocate, an editor at InfoQ.com’s Java queue, and the primary author of several books, including the second edition of Spring Recipes (published by Apress). Josh has spoken at many international industry conferences, including TheServiceSide Java Symposium, SpringOne, OSCON, JavaZone, and Devoxx, among others. When he’s not writing code for SpringSource, he’s either at a Java User Group meeting or in a coffee shop. Josh loves solutions that push technology forward. His interests include scalability, BPM, grid computing, mobile computing, and so-called “smart” systems. You can browse his blogs at http://blog.springsource.org or http://joshlong.com.

Kenny Bastani is a Spring Developer Advocate at Pivotal. As an open-source contributor and blogger, Kenny focuses on graph databases, microservices, and attracting a passionate group of software developers. Kenny is also a regular attendee at industry conferences such as OSCON, SpringOne Platform, and GOTO. He maintains a personal blog about software architecture and provides tutorials and open-source reference examples for building event-driven microservices and serverless architectures.

Table of Contents

Foreword (James Watters) xvii

Foreword (Rod Johnson) xix

Preface xxi

Part I Foundations

  • Chapter 1 Cloud-Native Applications 3
  • Chapter 2 Bootcamp: Spring Boot and Cloud Foundry 21
  • Chapter 3 Configuration, as Twelve-Factor Style 67
  • Chapter 4 Testing 85
  • Chapter 5 Migrating Legacy Applications 115

Part II Web Services

  • Chapter 6 REST API 137
  • Chapter 7 Routing 179
  • Chapter 8 Edge Services 197

Part III Data Integration

  • Chapter 9 Data Management 251
  • Chapter 10 Messaging Systems 303
  • Chapter 11 Batch Processing and Tasks 325
  • Chapter 12 Data Integration 363

Part IV Production

  • Chapter 13 Observable Systems 411
  • Chapter 14 Service Proxies 469
  • Chapter 15 Continuous Delivery 497

Part V Appendix

Appendix A Using Spring Boot in Java EE 527

Read More