01144470856 - 01102060500

info@eotss-academy.com

🌐 Distributed Systems

Wishlist Share
Share Course
Page Link
Share On Social Media

About Course

🌐 Distributed Systems

Course Code: 27016-COs-CS
Academy: Engineering Office for Technology and Software Services


🎯 Target Audience

  • Computer Science & Software Engineering Students

  • Software Developers interested in Distributed Architectures

  • Engineers in Cloud Computing and Network Infrastructure


🕒 Course Duration

  • 6 Weeks

  • 12 Sessions

  • 1.5 Hours per Session

  • Total: 18 Hours


Course Objectives

  • Understand the core concepts of distributed systems

  • Explore synchronization, fault tolerance, and consistency

  • Gain practical experience with tools like Docker, Kafka, MongoDB

  • Learn how to design, secure, and deploy scalable distributed applications


📚 Course Modules

🔹 Module 1: Introduction to Distributed Systems

  • What are Distributed Systems and Why They Matter

  • Advantages and Challenges of Distributed Systems

  • Real-World Examples: Google Cloud, Netflix, Blockchain

  • Centralized vs Distributed Architectures

🔹 Module 2: Communication Models

  • Synchronous vs Asynchronous Communication

  • Communication Protocols: RPC, REST, gRPC

  • Distributed Messaging Tools: RabbitMQ, Apache Kafka

  • Hands-on: Implementing Message Queues in a Sample System

🔹 Module 3: Synchronization & Consistency

  • Synchronization Issues and Race Conditions

  • Consistency Models: Strong, Eventual, Causal

  • Synchronization Algorithms: Lamport Timestamps, Vector Clocks

  • Hands-on: Managing Data Consistency in Distributed Environments

🔹 Module 4: Fault Tolerance

  • Types of Failures in Distributed Systems

  • Designing Fault-Tolerant Systems: Replication, Redundancy

  • Consensus Algorithms: Paxos, Raft

  • Hands-on: Replication Techniques with Sample Code

🔹 Module 5: Distributed Storage & Databases

  • Distributed File Systems: HDFS, Ceph

  • Distributed Databases: MongoDB, Cassandra

  • Understanding the CAP Theorem

  • Hands-on: Querying and Structuring Distributed Databases

🔹 Module 6: Distributed & Cloud Computing

  • Cloud Computing as a Subset of Distributed Systems

  • Introduction to Containers: Docker, Kubernetes

  • Building and Deploying Cloud-Native Apps

  • Hands-on: Deploying a Distributed System on Kubernetes

🔹 Module 7: Security in Distributed Systems

  • Security Challenges in Distributed Environments

  • Data Encryption and Authentication/Authorization

  • Security Protocols: OAuth, SSL/TLS

  • Hands-on: Securing APIs and Microservices in a Distributed Setup

🔹 Module 8: Final Projects & Real-World Applications

  • Build a Basic Distributed System with Integrated Tools

  • Develop Applications using Microservices Architecture

  • Analyze and Optimize System Performance

  • Final Project Presentation and Feedback


🛠 Tools & Platforms Used

  • Docker and Kubernetes – Container Management

  • RabbitMQ, Apache Kafka – Message Queuing

  • MongoDB, Cassandra – Distributed Databases

  • Wireshark – Network Traffic Analysis


📌 Prerequisites

  • Solid understanding of TCP/IP networking

  • Basic knowledge of databases and data structures

  • Programming experience (preferably Java or Python)


🏅 Deliverables

  • Course Completion Certificate

  • Full Source Code of Final Project

  • Deployment Documentation

  • Access to Simulation Labs and Tools

Show More

What Will You Learn?

  • ✅ What Will I Learn?
  • By the end of this course, you will be able to:
  • Understand the fundamental concepts of distributed systems: nodes, processes, and communication.
  • Explain different architectural models: client-server, peer-to-peer, multi-tier, and microservices.
  • Explore interprocess communication (IPC) mechanisms: sockets, RPC, RMI, and message queues.
  • Study synchronization techniques: logical clocks (e.g., Lamport, vector clocks), mutual exclusion, and election algorithms.
  • Understand consistency models: strict, causal, eventual consistency.
  • Apply fault tolerance mechanisms: redundancy, replication, checkpointing, and recovery.
  • Learn distributed algorithms: consensus (e.g., Paxos, Raft), leader election, and snapshot algorithms.
  • Analyze and implement distributed file systems (e.g., NFS, HDFS) and distributed databases.
  • Understand scalability, availability, and partition tolerance (CAP theorem).
  • Explore real-world applications: cloud computing, microservices, blockchain, and edge computing.

Course Content

🌐 Distributed Systems

  • 🔹 Module 1: Introduction to Distributed Systems
  • 🔹 Module 2: Communication Models
  • 🔹 Module 3: Synchronization & Consistency
  • 🔹 Module 4: Fault Tolerance
  • 🔹 Module 5: Distributed Storage & Databases
  • 🔹 Module 6: Distributed & Cloud Computing
  • 🔹 Module 7: Security in Distributed Systems
  • 🔹 Module 8: Final Projects & Real-World Applications

Student Ratings & Reviews

No Review Yet
No Review Yet
Open chat
💬 Need help?
Hello
Can we help you?