Microservices is the new approach to developing software which is cloud-native and offers many benefits of granularity, lightweight, and high reusability amongst applications with similar process. Microservices architecture focuses on breaking an application into smaller independent components thus offering scalability, ease in adding new features or resolving new issues.
* Please note that the course does not include hard copy book material.
Why should one take Certificate in Microservices Architecture
Companies are now moving from a monolithic to microservices architecture and early adopters have provided an unprecedented level of control and speed to their customers, and Netflix is a leading example.
Vskills Certificate in Microservices Architecture delves into the intricacies of the microservice’s architecture and multiple scenarios are presented for better grasping microservices usage. Serverless computing and DevOps are also covered to advance your understanding.
Vskills certificate is a proof of your skills and knowledge in understanding and application of microservices architecture.
Who will benefit from taking Certificate in Microservices Architecture?
Software Developers, Software Development Engineers, Team leads, Senior Software Engineers, IT managers benefit immensely by opting for Vskills Certificate in Microservices Architecture to gain an edge in the latest software development and stand out amongst their peers and are able to make progress in their respective careers.
Students taking the certification also gain by showcasing their understanding of microservices architecture and are able to increase their job opportunities.
Microservices Architecture Table of Contents
https://www.vskills.in/certification/microservices-architecture-table-of-contents
Microservices Architecture Interview Questions
https://www.vskills.in/interview-questions/microservices-architecture-interview-questions
Companies that hire Microservices Architecture Professionals
Microservices is the widely used and accepted architecture for software development, there is a huge demand for certified professionals all across the globe. Companies like Google, Flipkart, IBM, Accenture, Fiserv, Mindtree, Dell, Infosys, Tech Mahindra, etc. are looking for certified professionals.
Microservices Architecture Blogs
Checkout the latest online blogs on Microservices.
Microservices Architecture Jobs
Checkout the various job openings for Microservices Architecture, click here..
Microservices Architecture Internships
Vskills runs its flagship internship program where bright interns work with academic council, click to know more details..
Apply for Certificate in Microservices Architecture
By Net banking / Credit Card/Debit CardWe accept Visa/Master/Amex cards and all Indian Banks Debit Cards. There is no need to fill the application form in case you are paying online.
Please click Buy Now to proceed with online payments.
Buy Now
TABLE OF CONTENT
Course Introduction
- Introduction
- Architecture Design Journey - Evolution of Architectures
- Way of Learning - The Course Flow
- Choosing the Right Architecture for Your Application
- How to Follow the Course and Course Slides
Understand E-Commerce Domain
- First Problem: Sell Products Online
- Understand E-Commerce Domain - Use Cases - Functional Requirement
- Understand E-Commerce Domain - Non-Functional Requirements
Monolithic Architecture
- Introduction - Monolithic Architecture
- When to Use Monolithic Architecture
- Benefits of Monolithic Architecture
- Challenges of Monolithic Architecture
- Design Principles of Monolithic Architecture -- KISS, YAGNI, DRY
- Design the Architecture - E-Commerce App - KISS and YAGNI
- Design and Iterate Monolithic Architecture - E-Commerce Application
- Evaluate Monolithic Architecture - E-Commerce Application
- Problem: Code Becomes Too Complex over Time - Monolithic Architecture - E-Commerce
Layered (N-Layer) Architecture
- Layered (N-Layer) Architecture
- Design Principles - Separation of Concerns (SoC)
- Design principles - SOLID
- Design the Architecture - E-Commerce App - Layered Architecture
- Adapt Technology Stack - E-Commerce App - Layered Architecture
- Demo: Layered Monolithic Architecture Code Review - E-Commerce App
- Evaluate Layered Monolithic Architecture
- Problem: Highly Coupling Dependent Layers
Clean Architecture
- Introduction the Clean Architecture
- What Is Clean Architecture?
- The Dependency Rule
- Layers of Clean Architecture
- Benefits of Clean Architecture
- Design the Architecture - Clean Architecture - E-Commerce App
- Adapt Clean Architecture - E-Commerce App
- Demo: Clean Architecture Code Review - E-Commerce App
- Evaluate Clean Architecture
- Problem: Increased Traffic, Handle More Requests
Scalability - Vertical Scaling - Horizontal Scaling
- Introduction Scalability - Why We Need to Scale
- Scalability - Vertical Scaling - Horizontal Scaling
- Vertical Scaling - Scale Up
- Horizontal Scaling - Scale Out
- What Is Load Balancer? Use Load Balancer to Split the Load with Consistent Hashing
- Design the Architecture - Scalability - E-Commerce App
- Adapt the Architecture - Scalability - Load Balancer - E-Commerce App
- Evaluate: Clean Architecture with Scalability - Load Balancer - E-Commerce App
- Problem: Agility of New Features, Split Agile Teams
Modular Monolithic Architecture
- Introduction - Modular Monolithic Architecture
- What Is Modular Monolithic Architecture?
- Benefits of Modular Monolithic Architecture
- Challenges of Modular Monolithic Architecture
- When to Use Modular Monolithic Architecture
- Monolith First Approaches from Martin Fowler and Sam Newman
- Monolithic Architecture Vertical Considerations, Communications of Monolithic
- Transaction Management of Monolithic Architecture
- Deployments of Monolithic Architecture
- Design the Architecture - Modular Monolithic Architecture - E-Commerce App
- Evaluate: Complexity of Presentation UI Operations- Modular Monolithic Architect
- Problem: Improved customer experience with Separated UI and Omnichannel
- Headless Architecture and Separated Presentation with SPA
- Design the Architecture - Modular Monolithic Architecture with SPA - Separated UI
- Adapt the Architecture - Modular Monolithic Architecture with SPA - Separated UI
- DEMO: Modular Monolithic Architecture Code Review - E-Commerce App
- Evaluate: Modular Monolithic Architecture with SPA
- Problem: Agility of New Features, Split Agile Teams
Microservices Architecture
- Introduction - Microservices Architecture
- What Are Microservices?
- What Is Microservices Architecture?
- Microservices Characteristics
- Benefits of Microservices Architecture
- Challenges of Microservices Architecture
- When to Use Microservices Architecture - Best Practices
- When Not to Use Microservices - Anti-Patterns of Microservices
- Monolithic Versus Microservices Architecture Comparison
- The Database-Per-Service Pattern - Polyglot Persistence
- Design the Architecture - Microservices Architecture - First Iteration
- Adapt the Architecture - Microservices Architecture - First Iteration
- Evaluate: Microservices Architecture - First Iteration
- Problem: Break Down Application into Microservices
Decomposition of Microservices Architecture
- Introduction - Decomposition of Microservices Architecture
- Why Do We Need to Decompose? - The Scale Cube
- Microservices Decomposition Pattern - Decompose by Business Capability
- Microservices Decomposition Pattern - Decompose by Subdomain
- Bounded Context Pattern (Domain-Driven Design - DDD)
- Identify Bounded Context Boundaries for Each Microservices
- Using Domain Analysis to Model Microservices and Checklist after Decomposition
- Analysis E-Commerce Domain - Use Cases
- Analysis E-Commerce Domain - Nouns and Verbs
- Identifying and Decomposing Microservices for E-Commerce Domain
- Design and Adapt Microservices Architecture with Decomposition Patterns
- Evaluate and Problem Microservices Architecture and Client-Service Communication
Microservices Communications - The Basics
- Introduction - Microservices Communications - The Basics
- What Is Changed for Communications Between Monolithic to Microservices
- Microservices Communication Types - Synchronous or Asynchronous Communication
- Microservices Communication Styles Request-Driven or Event-Driven Architecture
- Microservices Synchronous Communications and Best Practices
- Designing HTTP-Based RESTful APIs for Microservices
- RESTful API Design for Microservices
- RESTful API Design for Single Microservices
- RESTful API Design for E-Commerce Microservices
- API Versioning in Microservices RESTful APIs
- Design Microservices Architecture with RESTful API Design
- Evaluate: Microservices Architecture with RESTful API Design
- Problem: Multiple Request (N+1) for Retrieving Relational Data
- Graph: QLA Query Language for APIs
- Graph: QL Core Concepts, Schemas, Queries, Mutations, and Resolvers
- Advantages and Disadvantages of GraphQL
- REST Versus GraphQL APIs
- Fetching Data with REST and GraphQL
- Design and Evaluate: Microservices Architecture with GraphQL API Design
- Problem: Inter-Service Communication Makes Heavy Load on Network Traffic
- gRPC: High Performance Remote Procedure Calls
- How gRPC Works
- Main Advantages of gRPC
- When to Use gRPC? Use Cases of gRPC
- gRPC Usage in Microservices Communication
- Design and Evaluate Microservices Architecture with gRPC API Design
- Problem: Chat with Support Agent to Answer Customer Queries
- WebSocket API Real-Time Two-Way Communications
- When to Use WebSocket API and Use Cases of WebSocket API
- Design and Evaluate Microservices Architecture with WebSocket API Design
- Problem: Direct Client-to-Service Communication
Microservices Communication Patterns - API Gateways
- Introduction: Microservices Communication Patterns - API Gateways
- Problems of Direct-to-Microservices Communication
- Why Should We Use API Gateway?
- The Solution - API Gateway Patterns
- Gateway Routing pattern
- Gateway Aggregation Pattern
- Gateway Offloading Pattern
- API Gateway Pattern
- Main Features of API Gateway Pattern
- A Request Flow of API Gateway Pattern
- Design and Evaluate: Microservices Architecture with API Gateway Design
- Problem: Client Apps Have Different UI Requirements
- Backends for Frontends Pattern-BFF
- Design and Evaluate: Microservices Architecture with Backends for Frontend Pattern
- Service-to-Service Communications Between Backend Internal Microservices
- Service-to-Service Communications Chain Queries
- Problem: Service-to-Service Communications Chain Queries
- Service Aggregator Pattern - Microservices Communications Design patterns
- Service Registry/Discovery Pattern - Microservices Communications Design pattern
- Design and Evaluate: Microservices Architecture with Service Aggregator, Registry
- Adapt the Architecture - Microservices Architecture - Second Iteration
- Problem: Long Running Operations Can't Handle Sync Communication
Microservices Asynchronous Message-Based Communication
- Introduction - Microservices Asynchronous Message-Based Communication
- Microservices Asynchronous Communication
- Benefits of Asynchronous Communication
- Challenges of Asynchronous Communication
- Asynchronous Message-Based Communication Types in Microservices Architecture
- Single-Receiver Message-Based Communication (One-to-One Model-Queue)
- Multiple-Receiver Message-Based Communication (One-to-Many Model-Topic)
- Design Principles - Dependency Inversion Principles (DIP)
- Fan-Out Publish/Subscribe Messaging Pattern
- Topic-Queue Chaining and Load Balancing Pattern
- Design Microservices Architecture with Fan-Out Publish/Subscribe Messaging
- Adapt: Microservices Architecture with Fan-Out Publish/Subscribe Messaging
- Evaluate: Microservices Architecture with Fan-Out Publish/Subscribe Messaging
- Problem: Databases Create Bottlenecks When Scaling
Kafka and RabbitMQ Architectures
- What Is Apache Kafka?
- Apache Kafka Benefits
- Apache Kafka Use Cases
- Kafka Components - Topic, Partitions, Offset, and Replication Factor
- Apache Kafka Cluster Architecture
- Apache Kafka Core APIs - Producer, Consumer, Streams, and Connect API
- What Is RabbitMQ?
- RabbitMQ Components - Producer, Queue, Consumer, Message, Exchange, Binding
- RabbitMQ Exchange Types - Direct, Fanout, Topic, and Headers
- RabbitMQ Architecture
Scale the Microservices Architecture Design
- Introduction - Scale the Microservices Architecture Design
- The Scale Cube
- Stateless and Stateful Application Horizontal Scaling
Microservices Data Management - Choosing Right Database
- Introduction - Microservices Data Management
- Polyglot Persistence Principle in Microservices
- Microservices Database Management Patterns and Principles
- Design Patterns - The Database-Per-Service Pattern
- The Shared Database Anti-Pattern and Polyglot Persistence
- Relational and NoSQL Databases - Document, Key-Value, Graph-Based, Column-Based
- NoSQL Databases Types - Document, Key-Value, Graph-Based, Column-Based Databases
- When to Use Relational Databases
- When to Use NoSQL Databases?
- Best Practices When Choosing Data Store - Use Right Tool for Right Job
- How to Choose a Database for Microservices
- CAP Theorem
- Problem: Single Database Server Performs Low Performance
- What Is Data Partitioning? And Why We Are Using Data Partitioning?
- Data Partitioning: Horizontal, Vertical, and Functional Data Partitioning
- Database Sharding Pattern
- Tinder System Design Example of Database Sharding Pattern
- Cassandra NoSQL Database - Peer-to-Peer Distributed Wide Column Database
- Design: Microservices Architecture with Database Sharding Pattern
- Adapt: Microservices Architecture with Database Sharding Pattern - Cassandra
- Evaluate: Microservices Architecture with Database Sharding Pattern - Cassandra
- Problem: Cross-Service Queries and Write Commands on Distributed Scaled Database
Microservices Data Management - Commands and Queries
- Introduction - Microservices Data Management - Commands and Queries
- Microservices Data Management - Cross-Service Queries
- Problem: Cross-Service Queries with Sync Response, Decouple Way, and Low Latency
- Materialized View Pattern
- CQRS - Command Query Responsibility Segregation Pattern
- CQRS - Benefits and Drawbacks
- Best Practices for CQRS and Instagram Database Architecture with CQRS
- How to Sync Read and Write Databases in CQRS?
- Event Sourcing Pattern
- CQRS with Event Sourcing Pattern
- Eventual Consistency Principle
- Design Instagram System Architecture
- Design Instagram Database Architecture
- Design Microservices Architecture with CQRS, Event Sourcing, Eventual Consistent
- Adapt Microservices Architecture with CQRS, Event Sourcing, Eventual Consistent
- Evaluate Microservices Architecture with CQRS, Event Sourcing, Eventual Consist
- Problem Manage Consistency Across Microservices in Distributed Transactions
Microservices Distributed Transactions
- Introduction - Microservices Distributed Transactions
- Transaction Fundamentals and ACID Principles
- Transaction Management of Monolithic Architecture
- Microservices Distributed Transactions
- Microservices Bounded Context for Transactional Boundaries
- Microservices Transactional Boundaries
- SAGA Pattern for Distributed Transactions
- SAGA Pattern - Choreography-Based SAGA Implementation
- SAGA Pattern - Orchestration-Based SAGA Implementation
- Compensating Transaction Pattern
- Problem: Dual Write Problem
- Transactional Outbox Pattern
- Transactional Outbox Pattern in Microservices
- Problem: Listen and Polling Outbox Table
- What Is CDC - Change Data Capture?
- CDC - Change Data Capture with Outbox Pattern
- Implementation of CDC and Outbox Pattern with Cloud Databases - CockroachDB
- Implementation of CDC and Outbox Pattern with Cloud Databases Azure CosmosDB
- Design: Microservices Architecture with SAGA, Outbox Pattern, and CDC
- Adapt Microservice Architecture with SAGA, Transactional Outbox, and CDC Pattern
- Evaluate Microservices Architecture with SAGA, Transactional Outbox, and CDC
- Problem: Handle Millions of Events Across Microservices
Event-Driven Microservices Architectures
- Introduction - Event-Driven Microservices Architectures
- Event-Driven Microservices Architecture
- Real-Time Processing and High-Volume Events in Event-Driven Microservices
- Event Hubs and Event Streaming in Event-Driven Microservices Architecture
- Real-World Examples of Event-Driven Microservices Architecture
- Design Event-Driven Microservices Architecture
- Adapt Event-Driven Microservices Architecture
- Evaluate Event-Driven Microservices Architecture
- Problem: Database Operations Are Expensive, Low Performance
Microservices Distributed Caching
- Introduction - Microservices Distributed Caching
- What is Caching?
- Types of Caching
- Distributed Caching in Microservices
- Cache Hit and Cache Miss
- Caching Strategies in Distributed Caching for Microservices
- Cache-Aside Pattern for Microservices
- Design Microservices Distributed Caching with Cache-Aside Pattern
- Adapt Microservices Distributed Caching with Cache-Aside Pattern
- Evaluate Microservices Distributed Caching with Cache-Aside Pattern
- Problem: Deploy Microservices at Any Time with Zero-Downtime and Flexible Scale
Microservices Deployments with Containers and Orchestrators
- Introduction - Microservices Deployments with Containers and Orchestrators
- What Are Containers?
- What Is Docker?
- Docker Containers, Images, and Registries
- Why Do We Use Them for Microservices Deployments?
- What Are Container Orchestrators?
- What Is Kubernetes and Why Do We Use Them for Microservices Deployments?
- Kubernetes Architecture
- Kubernetes Components
- Helm Charts with Kubernetes for Microservices Deployments
- Sidecar Pattern and How Does the Sidecar Pattern Work for Microservices Deploy
- Service Mesh Pattern and How the Service Mesh Pattern Work for Microservices
- DevOps and CI/CD Pipelines for Microservices Deployments
- CI/CD Pipeline Steps for Microservices Deployments
- CI/CD Tools for Microservices Deployments
- Deployment Strategies for Microservices Blue-Green, Rolling, and Canary Deploy
- Infrastructure as Code (IaC) and Usage in Microservices Deployments
- Design: Microservices Deployments with Containers and Orchestrators
- Adapt: Microservices Using Containers and Orchestrators
- Evaluate: Microservices with Using Containers and Orchestrators
- Problem: Fault Tolerance Microservices Able to Remain Operational for Any Fail
Microservices Resilience, Observability, and Monitoring
- Introduction - Microservices Resilience, Observability, and Monitoring
- What Is Microservices Resiliency?
- Microservices Resiliency Patterns
- Retry Pattern
- Circuit Breaker Pattern
- Circuit Breaker States
- Retry + Circuit Breaker Pattern
- Bulkhead Pattern
- Timeout Pattern
- Fallback Pattern
- Microservices Observability with Distributed Logging and Distributed Tracing
- Elastic Stack for Microservices Observability with Distributed Logging
- Microservices Distributed Tracing with OpenTelemetry Using Zipkin
- Microservices Health Checks: Liveness, Readiness, and Performance Checks
- Microservices Health Monitoring with Kubernetes, Prometheus, and Grafana
- Design Microservices Resilience, Observability, and Monitoring
- Adapt Microservices Resilience, Observability, and Monitoring
Demo: E-Commerce Implementation of Microservices Architecture
- Implementation of Microservices Architecture
- Demo Microservices Architecture Code Review - E-Commerce App
- Catalog Microservices Code Review - E-Commerce App
- Basket Microservices Code Review - E-Commerce App
- Discount Microservices Code Review - E-Commerce App
- Ordering Microservices Code Review - E-Commerce App
- API Gateways Microservices Code Review - E-Commerce App
- Client Applications Code Review - E-Commerce App
- Microservices Resilience, Observability, Monitoring Code Review - E-Commerce App
Serverless Microservices Architecture
- Introduction - Serverless Microservices
- AWS Serverless Microservices with Patterns and Best Practices
- AWS Lambda as a Microservice
- Mapping Microservice Architecture with AWS Serverless Services for Microservices
- Event-Driven Serverless Microservices Design with AWS Lambda