Master of Microservices Development Online Course
About Master of Microservices Development
Microservices is an architectural approach in which an application is built from small, loosely connected, and independently deployable services. Each service is designed to handle a specific business function and can be developed, deployed, and scaled on its own.
This course covers how to design microservices architecture using proven patterns, principles, and best practices, with a focus on achieving high availability, scalability, low latency, and network resilience.
Who is this Course for?
This course is ideal for individuals seeking to become proficient in software architecture, explicitly focusing on understanding microservices architecture through real-world cases. It is also designed for those who aim to pass system design architecture interviews successfully. This course is prepared to keep in mind beginners, but familiarity with the basics of software architecture is desirable.
Course Curriculum
Module 1: Microservices
- Course Introduction
- Understand E-Commerce Domain
- Monolithic Architecture
- Layered (N-Layer) Architecture
- Clean Architecture
- Scalability - Vertical Scaling - Horizontal Scaling
- Modular Monolithic Architecture
- Microservices Architecture
- Decomposition of Microservices Architecture
- Microservices Communications - The Basics
- Microservices Communication Patterns - API Gateways
- Microservices Asynchronous Message-Based Communication
- (Optional) Kafka and RabbitMQ Architectures
- Scale the Microservices Architecture Design
- Microservices Data Management - Choosing Right Database
- Microservices Data Management - Commands and Queries
- Microservices Distributed Transactions
- Event-Driven Microservices Architectures
- Microservices Distributed Caching
- Microservices Deployments with Containers and Orchestrators
- Microservices Resilience, Observability, and Monitoring
- Demo: E-Commerce Implementation of Microservices Architecture
- Serverless Microservices Architecture
Module 2: Kubernetes and Docker
- Introduction
- Docker Architecture and Dockerfiles
- Docker Images and Containers
- Docker Networks – Making Containers Talk!
- Storage with Docker
- Docker Compose
- Container Orchestration with Docker Swarm
- Introduction to Kubernetes
- Understanding Container Orchestration with Pods
- Kubernetes Workloads
- Networking and Storage with Kubernetes
- Advanced Orchestration with Kubernetes
- Managed Kubernetes as a Service on the Cloud
- Serverless Kubernetes
- Conclusion
Module 3: ElasticSearch
- Getting Started with ElasticSearch
- Dichotomy of ElasticSearch
- Get Going with Documents and Indices
- Querying with RESTful API
- Power Your Searches with DSL
- What ElasticSearch is NOT
- Getting More with ElasticStack
- Apache Log Analysis
- Advanced ElasticSearch Queries
- ElasticSearch versus Apache Solr
Module 4: Jenkins
- Introduction
- Getting started with Jenkins
- Configuring Jenkins
- Jenkins Pipeline
- Jenkins Blue Ocean
- Jenkins in Docker
- Jenkins Plugins
- Conclusion