SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Video accessible from your Account page after purchase.
Register your product to gain access to bonus material or receive a coupon.
7+ 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, Spring Cloud, 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.
Skill Level
What You Will Learn
Who Should Take This Course
Course Requirements
Table of Contents
Introduction
Lesson 1: “Bootstrapping” (Spring Boot 101)Lesson 2: Using “Twelve-Factor App” Style Configuration
Lesson 3: Reaching for The Clouds
Lesson 4: Working with Data
Lesson 5: Giving Your Microservice a REST
Lesson 6: Data Synchronization and Processing
Lesson 7: Creating Operations-Friendly Microservices
Lesson 8: Edge Services and Routing
Lesson 9: Operations at Scale
Lesson 10: Developing Web Applications
Lesson 11: Securing Microservices with Spring Security
Lesson 12: Testing Microservices
Lesson 13: Extending Spring Boot
Lesson 14: IDE and Tooling Support
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
Introduction
Before You Begin (Understanding Spring Concepts)
Before Spring Boot You Need Spring
Before You Begin (Upgrading Spring Boot Applications)
Upgrading Spring Boot Applications
Deprecations and Warnings
Recent Spring refinements
Summary
Lesson 1: “Bootstrapping” (Spring Boot 101)
Learning Objectives
1.1 Introduce Spring Boot
1.2 Write Groovy-based Spring CLI applications
1.3 Bootstrap with the Spring Initializr
1.4 Build with Maven
1.5 Build with Gradle
1.6 Work with starter POMs
1.7 Create runnable “fat” JARs
1.8 Understand auto-configuration
Summary
Lesson 2: Using “Twelve-Factor App” Style Configuration
Learning Objectives
2.1 Understand “Twelve-Factor App” configuration
2.2 Ask questions about an application’s environment
2.3 Read external configuration
2.4 Map properties to POJOs
2.5 Take it easy with relaxed binding
2.6 Support multiple environments using Spring profiles
2.7 Centralize configuration with the journaled, secure Spring Cloud Configuration Server
2.8 Refresh configuration without restarting your application
Summary
Lesson 3: Reaching for The Clouds
Learning Objectives
3.1 Embrace “The Cloud”
3.2 Compare IaaS and PaaS
3.3 Deploy your apps to Heroku and Cloud Foundry
3.4 Containerize your applications with Docker
3.5 Consume services in “The Cloud”
3.6 Optimize for “The Cloud” using Spring Session and Spring Cloud AWS
Summary
Lesson 4: Working with Data
Learning Objectives
4.1 Contextualize your microservice data
4.2 Understand Spring Data
4.3 Work with relational databases
4.4 Evolve your database using Flyway
4.5 Use Redis distributed data structures
4.6 Store data with MongoDB
4.7 Search data using Elasticsearch
4.8 Expose Spring Data repositories over REST
Summary
Lesson 5: Giving Your Microservice a REST
Learning Objectives
5.1 Understand REST
5.2 Understand status codes
5.3 Understand content negotiation
5.4 Understand HTTP Clients
5.5 Use hypermedia
5.6 Handle errors
5.7 Version your API
5.8 Use Differential Synchronization and JSON PATCH
Summary
Lesson 6: Data Synchronization and Processing
Learning Objectives
6.1 Batch processing with Spring Batch
6.2 Integrating services with Spring Integration
6.3 Composing integration streams with Spring Cloud Stream
6.4 Orchestrating streams with Spring Cloud Dataflow (DSL, Shell)
Summary
Lesson 7: Creating Operations-Friendly Microservices
Learning Objectives
7.1 Understand the implications of agile methodologies on operations
7.2 Gain insight via logging
7.3 Introduce the Spring Boot Actuator
7.4 Monitor microservices
7.5 Diagnose errors
7.6 Measure anything and everything with metrics
7.7 Extend the Spring Boot Actuator
Summary
Lesson 8: Edge Services and Routing
Learning Objectives
8.1 Understanding client side load balancing (Ribbon) and service registration (Eureka)
8.2 Building Smart edge services (microproxies and api gateways)
8.3 Adding Resilience with circuit breakers
Summary
Lesson 9: Operations at Scale
Learning Objectives
9.1 Distributed Logging
9.2 Hystrix Dashboard
9.3 Distributed tracing with Zipkin
9.4 APM
Summary
Lesson 10: Developing Web Applications
Learning Objectives
10.1 Understand web applications in the microservice world
10.2 Serve resources from a Spring Boot application
10.3 Use templating technologies such as Thymeleaf
10.4 Resolve and transform resources
Summary
Lesson 11: Securing Microservices with Spring Security
Learning Objectives
11.1 Understand security
11.2 Understand HTTP Basic
11.3 Understand x509
11.4 Understand OAuth
Summary
Lesson 12: Testing Microservices
Learning Objectives
12.1 Testing microservices
12.2 Testing without Spring
12.3 Testing with Spring
12.4 Mocking beans
12.5 Testing application slices
12.6 Using @JsonTest
12.7 Using @DataJpaTest
12.8 Using @RestClientTest
12.9 Using @WebMvcTest
12.10 Understanding “slice” annotations
12.11 Using Wiremock
Summary
Lesson 13: Extending Spring Boot
Learning Objectives
13.1 Why extend Spring Boot?
13.2 Curated dependencies
13.3 Custom auto-configuration (Spring Factories)
13.4 Using ApplicationListeners
13.5 Using ApplicationContextInitializers
13.6 Writing a custom failure analyzer
Summary
Lesson 14: IDE and Tooling Support
Learning Objectives
14.1 Tooling Overview
14.2 Netbeans Support
14.3 Eclipse/STS Support
14.4 IntelliJ Support
14.5 Devtools
14.6 Property Meta-data
14.7 Forking start.spring.io
Summary
Summary