Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction to Distributed Systems
- Definition of a distributed system
- Common challenges: latency, consistency, availability
- Overview of system components and communication models
Principles of Scalability
- Vertical versus horizontal scaling
- Load balancing and elasticity
- Scaling storage, compute resources, and I/O operations
Architectural Patterns
- Client-server and multi-tier architectures
- Service-oriented and microservice architectures
- Event-driven architecture and message queues
The CAP Theorem and Consistency Models
- Explanation of the CAP theorem
- Strong versus eventual consistency
- Strategies for choosing between consistency and availability
Data Distribution and Storage Strategies
- Partitioning and sharding techniques
- Replication strategies and quorum reads/writes
- Distributed databases and key-value stores
Communication and Coordination in Distributed Systems
- REST, gRPC, and message brokers (e.g., Kafka, RabbitMQ)
- Leader election and distributed consensus mechanisms
- Utilizing Zookeeper or etcd for coordination
Fault Tolerance and Reliability
- Designing for failure and implementing graceful degradation
- Retry mechanisms, timeouts, and circuit breakers
- Monitoring, observability, and chaos engineering
Cloud-Native and Modern Implementation Practices
- Containers, orchestration, and Kubernetes
- Statelessness and immutability principles
- Best practices for securing distributed systems
Summary and Next Steps
Requirements
- A foundational understanding of networking and system design concepts
- Practical experience with standard software development practices
- Familiarity with cloud computing and API design is advantageous
Target Audience
- Software architects and technical leads
- Backend engineers and DevOps professionals
- System designers focused on building scalable cloud applications
21 Hours
Testimonials (3)
Prepared project on which we could work from the start without wasting time to set up files not needed in exercises. Readiness to answer all questions that came up from participants.
Robert Walczak - Hitachi Energy
Course - Systems Modeling with SysML and Enterprise Architect (EA)
The trainer's presentation and way of communicating.
Gianpiero Arico - Urmet Spa
Course - Embedded Linux Systems Architecture
Practise exercises in EA.