Course Outline
Introduction to Distributed Systems
- What is a distributed system?
- Common challenges: latency, consistency, availability
- Overview of system components and communication models
Scalability Principles
- Vertical vs. horizontal scaling
- Load balancing and elasticity
- Scaling storage, compute, and I/O
Architectural Patterns
- Client-server and multi-tier architectures
- Service-oriented and microservice architectures
- Event-driven architecture and message queues
CAP Theorem and Consistency Models
- CAP theorem explained
- Strong vs. eventual consistency
- Choosing between consistency and availability
Data Distribution and Storage Strategies
- Partitioning and sharding
- Replication strategies and quorum reads/writes
- Distributed databases and key-value stores
Communication and Coordination in Distributed Systems
- REST, gRPC, message brokers (e.g., Kafka, RabbitMQ)
- Leader election and distributed consensus
- Using Zookeeper or etcd for coordination
Fault Tolerance and Reliability
- Designing for failure and 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
- Best practices for distributed system security
Summary and Next Steps
Requirements
- An understanding of basic networking and system design concepts
- Experience with general software development practices
- Familiarity with cloud computing and API design is helpful
Audience
- Software architects and technical leads
- Backend engineers and DevOps professionals
- System designers building scalable cloud applications
Testimonials (5)
Maybe more exercises could be better for lerning but the time was to little
Gianpiero Arico' - Urmet Spa
Course - Embedded Linux Systems Architecture
Practise exercises in EA.
Pawel - Krajowa Szkola Skarbowosci
Course - UML in Enterprise Architect (workshops)
-Knowledge of the teacher in the subject was really good. He was able to explain very nicely and was able to answer all the questions at that moment. -To be able to know what all the tool is capable of was really good. -The structure he showed, like using scenarios and traceability would be really helpful in my day-to-day work.
Harsha Jain - Scania CV AB
Course - Introduction to Enterprise Architect
Great knowledge.
Marie - Forsvarets forkningsinstitutt
Course - Systems Modeling with SysML and Enterprise Architect (EA)
The theory felt quite complete, we handled all important subjects. It was very nice we could zoom in on our use-case Achievements, which helped us with understanding the theory.