Course description
Microservice architecture (MSA) has recently become one of the most popular architectural approaches, because it provides numerous benefits at different stages of the product life cycle. In particular, MSA allows you to improve reaction time when it comes to business requirements.
Yet, in the process of MSA system development, architects face many challenges which often force those who are new to this field to roll back. Some of them include:
- Errors in decomposition may make the development much more difficult
- Performance decreases due to serious network delays
- Distributed data storage prevents us from using transactional consistency
- A large number of components communicating over the network reduce the system’s reliability
- It gets difficult to ensure security
Not to mention that testing and maintenance of a distributed system requires additional efforts. This course will help you understand the advantages and disadvantages of MSA so you can decide on the feasibility of using MSA depending on business needs and team capabilities.
We cover the major challenges related to implementing microservice architecture and provide you with strategies, mechanisms, and patterns to solve them. We’ll also be looking at the most popular tools (such as Kubernetes, Istio, Histryx, Kibana, and many others) used in Microservice architecture.
Upcoming start dates
Who should attend?
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
Training content
- 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.
Certification / Credits
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
Quick stats about Luxoft Training Center?
More than 200 training courses
Conducted over 1,500 training sessions
Customized training solutions for business
Contact this provider
Luxoft Training Center
Luxoft Training Center — an essential part of the global technology leader, Luxoft, a DXC Technology Company. We play a pivotal role in propelling B2B businesses forward by delivering customized training solutions. Emphasizing the significance of learning and employee development,...