Building Microservices with Spring Boot LiveLessons

The term "microservices" has gained significant traction over the last few years. Describing a specific style of distributed software architecture, microservices are small, independently deployable units that work together to form a complete system. Microservices live on the web, live in the cloud, and work with all manner of data (SQL, NoSQL, In-Memory). They are production-ready services driven by ever-changing demands and scale.Java developers looking to adopt microservices need to consider the practical aspects of application development. How can services be developed quickly? How can a broad range of technologies be supported? How can a consistent programming model be kept? For many companies, the answer is Spring Boot and the wider Spring ecosystem.Introduction

Lesson 1: "Bootstrapping" (Spring Boot 101) provides an introduction to Spring Boot, including how to "bootstrap" a new application, what features Spring Boot provides, and some peeking under the hood to show how things actually work.

Lesson 2: Using "Twelve-Factor App" Style Configuration covers some of the principals behind microservices, discusses "The Twelve Factor App" methodology, and looks at how you can externally configure your Spring Boot microservice applications.

Lesson 3: Reaching for The Clouds discusses what it means to be "cloud native," and it shows you how easy it is to run Spring Boot microservices in the cloud. The lesson demonstrates how well Spring Boot works with Heroku, Cloud Foundry, and Docker. It also covers some other cloud services you might want to consume.

These first three lessons give you a solid foundation of how to use Spring Boot to write microservices, and what it takes to get them running in the cloud. The remaining lessons look at the technologies needed to write functioning applications.

Lesson 4: Working with Data shows you how to work with data. The lesson covers classic relational databases, newer NoSQL technologies like Redis and MongoDB, and talks about how these technologies fit with microservices.

Lesson 5: Giving Your Microservice a REST provides detailed information about REST architecture, which has become the backbone of microservice communication. The lesson covers not only basic REST principals, but also more advanced techniques such as HATEOAS.

Lesson 7: Creating Operations-Friendly Microservices looks at what it means to actually run microservices. This lesson is all about "operations." It discusses some of the great features built into Spring Boot, such as monitoring, metrics, and diagnostic tools.

Lesson 8: Choreographing Microservices moves beyond the basics of microservices and covers the real problems you need to solve when you start to coordinate disparate parts of your system. The lesson covers some microservice patterns and tools-such as circuit breakers, edge servers, and service discovery-that are critical in real systems.

Lesson 9: Developing Web Applications covers web application development. The lesson obviously can't cover all web development techniques, but it does discuss what it means to consume microservices from a web application, along with the web development features that are built into Spring Boot.