Building Microservices in Java with Spring Boot

Course Description

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. <br> 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.
2 days
Contact us for pricing
Contact us for dates
Contact us for dates

Prerequisites

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

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.

Bootstrapping

Introduce Spring Boot
Write Groovy-based Spring CLI applications
Bootstrap with the Spring Initializr
Build with Maven and Gradle
Work with starter POMs
Create runnable fat JARs
Understand auto-configuration

Using (Twelve-Factor App) Style Configuration

Understand Twelve-Factor App configuration
Ask questions about an application's environment
Read external configuration
Map properties to POJOs/Relaxed binding
Support multiple environments using Spring profiles
Configuration with the journaled, secure Spring Cloud Configuration Server

The Cloud

The Cloud / Compare IaaS and PaaS
Deploy your apps to Heroku and Cloud Foundry
Containerize your applications with Docker
Consume services in The Cloud
Optimize for The Cloud using Spring Session and Spring Cloud AWS

Working with Data

Contextualize your microservice data
Understand Spring Data
Work with relational databases
Evolve your database using Flyway
Use Redis distributed data structures
Store data with MongoDB
Search data using Elasticsearch
Expose Spring Data repositories over REST

Microservice and REST

Understand REST
Understand status codes
Understand content negotiation
Understand HTTP Clients
Use hypermedia
Handle errors
Version your API
Use Differential Synchronization and JSON PATCH

Dealing with Integration and Batch Processing

HTTP REST microservices
Understand Enterprise Application Integration Patterns
Batch data processing with Spring Batch
Use CQRS to connect microservices

Creating Operations-Friendly Microservices

Understand the implications of agile methodologies on operations
Gain insight via logging
Introduce the Spring Boot Actuator
Monitor microservices
Diagnose errors
Measure anything and everything with metrics
Extend the Spring Boot Actuator

Choreographing Microservices

Deployment and scaling techniques
Discover and register services with Eureka and Consul
Route on the client with Ribbon
Prevent failure cascades using Hystrix
Isolate failures using circuit breakers
Connect web clients to backend services with Zuul

Developing Web Applications

Understand web applications in the microservice world
Serve resources from a Spring Boot application
Use templating technologies such as Thymeleaf
Resolve and transform resources

Securing Microservices with Spring Security

Using Spring security
Use SSL/TLS and x509 mutual authentication
Understand the problems with passwords and certificates
Use OAuth and single sign-on

SpringSpring FrameworkSpring MVC