Microservice Architecture
Duration
24
hours
Location
Online
Language
English
Code
ARC-015
-
€
650
*
Training for 7-8 or more people?
Customize trainings
for your specific needs
Description
![certificate](/theme/courses-2023/partials/catalog.item/detail/src/images/certificate-lt.png)
After completing the course, a certificate
is issued on the Luxoft Training form
is issued on the Luxoft Training form
Objectives
- Provide an overview of MSA and its relationships with other system architectures
- Provide an overview of designing MSA systems
- Practice skills of designing MSA systems.
- Introduce students to the most popular MSA patterns
Target Audience
- Software Architects
- DevOps professionals
- Lead Developers
- Development Managers
Prerequisites
- Experience in software system development
- Experience in architecture development or taking part in Key Concepts of Software Architecture
- Knowledge of DDD or passing the course Domain Driven Design
Roadmap
- Architectural styles (2h)
Notion of monolith, SOA, MSA. Comparison and selection. - MSA decomposition patterns (2h)
The optimal microservice size. Splitting into services by business capabilities. Splitting into services by problem domains. Domain identification practices. Decomposition by technical and organizational aspects. - Development organization for MSA (1h)
Team organization for MSA. Code repository organization for MSA. - Integration of microservices (3h)
Communication patterns. Synchronous and asynchronous communication mechanisms. Orchestration and choreography. Main protocols and technologies (REST, gRPC, GraphQL, Kafka, RabbitMQ, etc.). Communication with external systems (API Gateway, BFF).
Reactive systems. Event-driven architectures. Command query segregation. - Data handling in MSA (3h)
Data handling patterns. Event sourcing. Reference data in MSA. Single source of truth in MSA. - Microservice deployment (2h) Deployment pipeline pattern. Deployment patterns. Using Docker and Kubernetes. Using ISTIO mesh. Serverless deployment. Deployment strategies (blue-green, canary, etc.).
- Strategies of migration from monolith to MSA (2h) Strategies of shifting from monolith to microservices. Strangler monolith. Strangle patterns. Microservice link to monolith. Database migration.
- Main MSA patterns (9h)
- Modifiability
High coupling problem resolution. Versioning of interfaces and events. Types of contracts. Changing event model. Query organization patterns. Microservice chassis. Service mesh - Scalability
Load balancers patterns. Discovery services and patterns. - Performance
Performance patterns in MSA (Bulkheads, Graceful Degradation, etc.) - Consistency
Consistency problems in MSA. CAP theorem. Solving consistency problems. Two-phase commits. SAGA Pattern. Decreasing the consistency level. - Reliability
Fault tolerance mechanisms. Circuit Breaker, Throttling, Dependent Timeouts, and other patterns. - Security
Security mechanisms in MSA. Authentication. Authorization. Perimeter defense. Communication channel defense. Main protocols and patterns (OAUTH2, JWT, Gatekeeper, Valet Key, etc.) - Testability
Testing pyramid and quadrant. Specifics of microservice testing.
Unit testing. Integration testing. Component testing. E2E testing. MSA testing patterns. - Ease of maintenance Observability. Observation patterns (distributed tracing, log aggregation, etc.). Monitoring and logging. Microservice configuration. Configuration externalizing. System support.
- Modifiability
Schedule and prices
11:00-14:00
Code:
ARC-015
Location:
Online
Duration:
24 hours
Language:
English
Time:
11:00-14:00
€
650
*