Building Microservices with Spring Boot LiveLessons (Video Training)

Video description

6+ Hours of Video Instruction

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.

Description

In this video training, Josh Long and Phil Webb demonstrate how and why Spring and Spring Boot offer the best way to build modern microservice systems. They look at the technologies and use-cases common to cloud-native microservice style applications as part of a larger framework, and then specifically address microservice implementation patterns.

The source code repository for this LiveLesson is located at https://github.com/livelessons-spring/building-microservices.

About the Instructors

Josh Long is the Spring Developer Advocate at Pivotal. He is a lead author, or co-author, on five books on Spring for Apress and O'Reilly, a frequent speaker at conferences worldwide, a JavaOne rockstar, and also the instructor on the first two Spring LiveLessons videos. He is a contributor to various Spring projects (including Spring Boot) and an all-around Spring fan. When he's not distracting and annoying his co-presenter Mr. Webb (that poor soul!), Josh is always on the hunt for a good cup of coffee.
You can follow Josh on Twitter: @starbuxman

Phil Webb is the co-creator of Spring Boot and a core contributor to the Spring Framework. He has been working with open source for many years and regularly talks at conferences and Java User groups. When he’s not developing code, Phil is kept busy by his young son. Phil is fortunate enough to be employed by Pivotal to work full-time on Spring.
You can follow Phil on Twitter: @phillip_webb

Skill Level

Intermediate

What You Will Learn

Understand the patterns typical of modern application architectures
Understand how Spring Boot ties together various parts of the Spring platform to make getting results a snap, on par with the agility you might otherwise expect from a Node.js or Ruby on Rails
Learn how to build microservices with Spring Cloud

Who Should Take This Course

Existing and new Spring users
Java developers working with: SQL, NoSQL, mobile, web applications, highly concurrent service backends, etc.

Course Requirements

Basic Java familiarity. The course uses Java 8, though Spring Boot and most Spring projects support Java 6.

Table of Contents

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 6: Dealing with Integration and Batch Processing expands upon microservice communication by covering integration patterns, messaging, and batch processing.

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.

Lesson 10: Securing Microservices with Spring Security provides compressive coverage of how to secure your microservices. It covers some advanced topics including: OAuth, “single sign on,” and SSL.

Summary

About LiveLessons Video Training

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons

Table of contents

  1. Introduction
    1. Building Microservices with Spring Boot LiveLessons: Introduction
  2. Lesson 1: "Bootstrapping" (Spring Boot 101)
    1. Learning Objectives
    2. 1.1 Introduce Spring Boot
    3. 1.2 Write Groovy-based Spring CLI applications
    4. 1.3 Bootstrap with the Spring Initializr
    5. 1.4 Build with Maven
    6. 1.5 Build with Gradle
    7. 1.6 Work with starter POMs
    8. 1.7 Create runnable "fat" JARs
    9. 1.8 Understand auto-configuration
    10. Summary
  3. Lesson 2: Using "Twelve-Factor App" Style Configuration
    1. Learning Objectives
    2. 2.1 Understand "Twelve-Factor App" configuration
    3. 2.2 Ask questions about an application's environment
    4. 2.3 Read external configuration
    5. 2.4 Map properties to POJOs
    6. 2.5 Take it easy with relaxed binding
    7. 2.6 Support multiple environments using Spring profiles
    8. 2.7 Centralize configuration with the journaled, secure Spring Cloud Configuration Server
    9. 2.8 Refresh configuration without restarting your application
    10. Summary
  4. Lesson 3: Reaching for The Clouds
    1. Learning Objectives
    2. 3.1 Embrace "The Cloud"
    3. 3.2 Compare IaaS and PaaS
    4. 3.3 Deploy your apps to Heroku and Cloud Foundry
    5. 3.4 Containerize your applications with Docker
    6. 3.5 Consume services in "The Cloud"
    7. 3.6 Optimize for "The Cloud" using Spring Session and Spring Cloud AWS
    8. Summary
  5. Lesson 4: Working with Data
    1. Learning Objectives
    2. 4.1 Contextualize your microservice data
    3. 4.2 Understand Spring Data
    4. 4.3 Work with relational databases
    5. 4.4 Evolve your database using Flyway
    6. 4.5 Use Redis distributed data structures
    7. 4.6 Store data with MongoDB
    8. 4.7 Search data using Elasticsearch
    9. 4.8 Expose Spring Data repositories over REST
    10. Summary
  6. Lesson 5: Giving Your Microservice a REST
    1. Learning Objectives
    2. 5.1 Understand REST
    3. 5.2 Understand status codes
    4. 5.3 Understand content negotiation
    5. 5.4 Understand HTTP Clients
    6. 5.5 Use hypermedia
    7. 5.6 Handle errors
    8. 5.7 Version your API
    9. 5.8 Use Differential Synchronization and JSON PATCH
    10. Summary
  7. Lesson 6: Dealing with Integration and Batch Processing
    1. Learning Objectives
    2. 6.1 Go beyond HTTP REST microservices
    3. 6.2 Understand "Enterprise Application Integration Patterns"
    4. 6.3 Batch data processing with Spring Batch
    5. 6.4 Use CQRS to connect microservices
    6. Summary
  8. Lesson 7: Creating Operations-Friendly Microservices
    1. Learning Objectives
    2. 7.1 Understand the implications of agile methodologies on operations
    3. 7.2 Gain insight via logging
    4. 7.3 Introduce the Spring Boot Actuator
    5. 7.4 Monitor microservices
    6. 7.5 Diagnose errors
    7. 7.6 Measure anything and everything with metrics
    8. 7.7 Extend the Spring Boot Actuator
    9. Summary
  9. Lesson 8: Choreographing Microservices
    1. Learning Objectives
    2. 8.1 Understand deployment and scaling techniques
    3. 8.2 Discover and register services with Eureka and Consul
    4. 8.3 Route on the client with Ribbon
    5. 8.4 Prevent failure cascades using Hystrix
    6. 8.5 Isolate failures using circuit breakers
    7. 8.6 Connect web clients to backend services with Zuul
    8. Summary
  10. Lesson 9: Developing Web Applications
    1. Learning Objectives
    2. 9.1 Understand web applications in the microservice world
    3. 9.2 Serve resources from a Spring Boot application
    4. 9.3 Use templating technologies such as Thymeleaf
    5. 9.4 Resolve and transform resources
    6. Summary
  11. Lesson 10: Securing Microservices with Spring Security
    1. Learning Objectives
    2. 10.1 Understand security
    3. 10.2 Understand Spring security
    4. 10.3 Use SSL/TLS and x509 mutual authentication
    5. 10.4 Understand the problems with passwords and certificates
    6. 10.5 Use OAuth and single sign-on
    7. Summary
  12. Summary
    1. Building Microservices with Spring Boot LiveLessons: Summary

Product information

  • Title: Building Microservices with Spring Boot LiveLessons (Video Training)
  • Author(s):
  • Release date: May 2015
  • Publisher(s): Pearson
  • ISBN: 013419246X