Building Microservices in Java with Spring Boot

Request more details:

submit request
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.
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.
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