Prerequisites
- Knowledge of Java programming
- Knowledge of latest versions of Spring Framework. Familiarity with concepts such as ApplicationContext, Profiles, RestTemplate, @Value, @Autowired, @Component, Java Configuration, etc.
- Basic familiarity with Maven. How to specify dependencies, and how to do a "mvn clean package"
Course Content
- Introduction to Microservices
- What are Microservices?
- Spring Boot
- Spring Cloud
- Spring Cloud Configuration - Centralized, Versioned Configuration
- Spring Cloud Configuration
- Spring Cloud Eureka - Service Discovery
- Spring Cloud Ribbon - Client-Side Load Balancing
- Spring Cloud Feign - Declarative REST Client
- Using-Declarative-REST-Clients
- Spring Cloud Hystrix - Circuit Breaker
- Using-Hystrix-Circuit-Breakers
- Spring Cloud Bus - Dynamic Configuration Changes
- Using-Spring-Cloud-Bus
- API Gateway - Purpose, and Spring Cloud Zuul
- API Gateway - Caching Options
- Version Control (GIT)
- Git Commands Overview
- GIT commands and github
- Introduction to docker
- Docker demo
- Docker Architecture
- Docker Images
- Docker Volumes
- Docker Hub
- Docker Compose
- Docker Machine
- Docker Machine Demo
- Introduction to Container Orchestration
- Kubernetes architecture overview
- Kubernetes Procedures
- Deploying container using Kubernetes
- Kubernetes demo