Duration: 4 days – 28 hrs
Overview
The course is designed by App modernization Subject Matter Experts to help you understand concepts of Microservices, understand monoethnic application, break the monolithic application into 3 microservices during the class hours. each microservice (MS) will be written in different language (MS1 in .net core, MS2 in python, MS3 in Java spring boot). expose the microservices with Kong API and then connect the microservices using messaging bus. You will also learn to containerize your app and run on Kubernetes
Objectives
- Understand the core concepts of Microservices
- Understand monolithic vs microservices
- Learn a live monolithic app and break it into 3 different microservices
- Write microservice number 1 in Python
- Write microservice number 2 in node.js
- Write microservice number 3 in java spring boot
- Expose all three microservices using kong-api
- Docker the microservices and create docker image
- Run the docker image on kubernetes platform
- Scale the application on kubernetes
- Understand implement service discovery
- Learn istio in app modernization
Audience
- Developers
Pre- requisites
- There is no prior technical knowledge required for this course. However, a fundamental understanding of Java and SQL will be an advantage
Course Content
Demystifying Microservices
- Microservice use cases
- Brief of Microservice Patterns
Just Enough Domain-Driven Design
- Ubiquitous Language
- Aggregate
- Bounded Context
- Mapping Aggregates and Bounded Contexts to Microservices
Micro services communication
- API Driven
- Message Brokers
- Event Driven
REST API 101
- REST Basics
- Create a Rest API in Spring boot [Hands On]
- POSTMAN [Hands On]
Monolith Overview
- Understanding the monolith application
- The Single-Process Monolith
- The Modular Monolith
- The Distributed Monolith
- Monoliths and Delivery Contention
- Advantages of Monoliths
Enabling Technology
- Log Aggregation and Distributed Tracing
- Containers and Kubernetes
- Streaming
- Public Cloud and Serverless
Building Container Images
- Introducing the Dockerfile
- Building container images [Hands on]
Decomposing Microservices
- Information Hiding
- Cohesion
- Coupling
- The Interplay of Coupling And Cohesion
- Types Of Coupling
- Domain Coupling
- Pass Through Coupling
- Common Coupling
- Content Coupling
Identifying and developing microservices with API and Message queues [Hands on]
- Spring Boot microservice
- Python Flask microservice
- .NET Core microservice
Containerizing Microservices with Docker
- Reviewing the microservice capability model
- The benefits of containers
- Microservices and containers
- Deploying microservices in Docker [Hands on]
Kubernetes Overview
- Container Orchestration [Hands on]
- Kubernetes Architecture
- The Case for Container Orchestration [Hands on]
- A Simplified View of Kubernetes Concepts
Microservice Extensions
- API gateway
- Kong
- Kong Ingress Controller [Hands on]
- Service Mesh [Hands on]
- Istio
- Istio features demo
- Observability with ISTIO [Hands on]
- Prometheus
- Grafana
- Jaeger
- Kiali
Micro services patterns
- Communication Patterns
- Saga
- Deployment Patterns
- Security Patterns
- Database Patterns
Microservices Way forward discussion