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
- Defining what constitutes a distributed system.
- Addressing common challenges: latency, consistency, and availability.
- Overview of system components and communication models.
Scalability Principles
- Distinguishing between vertical and horizontal scaling.
- Implementing load balancing and elasticity.
- Scaling storage, compute resources, and I/O operations.
Architectural Patterns
- Exploring client-server and multi-tier architectures.
- Understanding service-oriented and microservice architectures.
- Delving into event-driven architecture and message queues.
CAP Theorem and Consistency Models
- Explaining the CAP theorem.
- Comparing strong consistency with eventual consistency.
- Deciding between consistency and availability.
Data Distribution and Storage Strategies
- Techniques for partitioning and sharding.
- Replication strategies and quorum-based reads/writes.
- Utilizing distributed databases and key-value stores.
Communication and Coordination in Distributed Systems
- Protocols such as REST, gRPC, and message brokers (e.g., Kafka, RabbitMQ).
- Managing leader election and distributed consensus.
- Using Zookeeper or etcd for system coordination.
Fault Tolerance and Reliability
- Designing for failure and implementing graceful degradation.
- Implementing retry mechanisms, timeouts, and circuit breakers.
- Enhancing monitoring, observability, and applying chaos engineering.
Cloud-Native and Modern Implementation Practices
- Working with containers, orchestration platforms, and Kubernetes.
- Emphasizing statelessness and immutability.
- Adhering to best practices for distributed system security.
Summary and Next Steps
Requirements
- A solid understanding of fundamental networking and system design concepts.
- Practical experience with general software development practices.
- Familiarity with cloud computing principles 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.