クラウド、ゲーム、SNS――私たちの毎日を支える「分散システム」のしくみを、ゼロから学ぶ
このコースはデルフト工科大学の「 Modern Distributed Systems (分散システム)」を翻訳し、日本語字幕をつけたものです。
オンライン会議、SNS、動画配信、クラウドサービス、オンラインゲーム、生成AI。
現代のITサービスは、膨大なコンピュータが連携して動く「分散システム」によって支えられています。
しかし、その裏側では、
- 大量アクセスでも止まらない仕組みをどう作るのか
- 世界中のデータをどう同期するのか
- 高速性・可用性・一貫性をどう両立するのか
本コースでは、こうした現代ITインフラの基盤である「分散システム」を、初学者にもわかりやすく体系的に学びます。
クラウド、エッジコンピューティング、ビッグデータ処理、オンラインゲーム、分散機械学習など、現代のITを支える技術の背景を理解しながら、
- 分散システムの基本原理
- 性能・可用性・スケーラビリティなどの考え方
- クラウド時代のアーキテクチャ設計
- 実社会で使われる技術とトレードオフ
単なる用語理解ではなく、「なぜその設計が必要なのか」「なぜ完璧なシステムは作れないのか」を理解しながら、現代ITインフラを“構造的に考える力”を養います。
本コースの構成
Part 1:基礎編 ― 分散システムの原理と設計思想(モジュール0〜3)
- まず、分散システムとは何か、その基本概念と現代社会における役割を学びます。
- そのうえで、CAP定理、時間同期、一貫性、レプリケーション、可用性、性能評価など、分散システム設計の中核となる考え方を体系的に理解します。
- 続いて、リソース管理、スケジューリング、システムアーキテクチャ、プログラミングモデルを学びます。
- さらに、クラウド、ビッグデータ、オンラインゲーム、メタバースなどを事例に、現代の大規模分散システムがどのように構築・運用されているかを探究します。
「クラウドや大規模システムの裏側を理解し、設計を考えられる人」へ。
それが本コースのゴールです。
未来のITインフラを理解する第一歩を、ここから始めてみませんか。
受講対象者
本コースは、以下のような方におすすめです。- クラウドやITインフラの仕組みを基礎から学びたい初心者の方
- サーバー、ネットワーク、クラウド、バックエンド技術に興味がある方
- AI、ビッグデータ、オンラインサービスを支える技術基盤を理解したい方
- ITエンジニアやインフラエンジニアを目指している学生・若手社会人
- 「スケーラビリティ」「可用性」「CAP定理」などの概念を体系的に理解したい方
- テクノロジーを“個別技術”ではなく“システム全体”として捉える視点を身につけたい方
前提知識
特別な専門知識は必須ではありません。ただし、本コースではクラウドやネットワーク、システム設計など、現代ITインフラを支える技術を扱うため、コンピュータやITへの関心がある方を対象としています。
プログラミング経験や情報系の基礎知識があると理解しやすい部分もありますが、概念や背景からていねいに解説するため、初学者でも段階的に学べる構成です。
学習目標
本コースを通じて、以下の力を身につけることを目指します。- 分散システムの基本原理と特徴を説明できるようになる
- 単一コンピュータと分散システムの違いを理解する
- 一貫性、可用性、スケーラビリティなどの主要概念を説明できるようになる
- CAP定理やPACELCなど、分散システム特有のトレードオフを理解する
- クラウド、ビッグデータ、オンラインゲームなどにおける分散技術の活用を理解する
- 分散システムのアーキテクチャやプログラミングモデルを比較・分析できるようになる
- 大規模ITインフラを“システム全体”として捉える視点を身につける
- 実際の要件に応じて、基本的な分散システム設計を考えられるようになる
学習内容
モジュール0-3が Part 1、モジュール4-6が Part 2です。モジュール0: 「分散システム」コースへようこそ
01) 0.1.1 「分散システム」コースへようこそ
02) 0.1.2 本コースの構成
03) 0.2.1 講師チームの紹介
モジュール1:イントロダクションと基礎
04) 1.1.1 モジュール1へようこそ
05) 1.2.1 分散システムの定義
06) 1.2.2 共有状態とネットワーク効果
07) 1.2.3 因果関係をめぐる葛藤
08) 1.2.4 CAP 定理
09) 1.2.5 時間同期
モジュール2:機能的要件
10) 2.1.1 モジュール2へようこそ
11) 2.2.1 機能要件と非機能要件の違い
12) 2.2.2 機能要件のフレームワーク
13) 2.2.3 分散システムにおける名前付けと通信
14) 2.2.4 協調 ― コンセンサスに焦点を当てて
15) 2.2.5 分散システムにおける複製(レプリケーション)
16) 2.2.6 分散システムにおける一貫性(コンシステンシ)
17) 2.2.7 オンラインゲーム、仮想環境、メタバースにおける一貫性
18) 2.2.8 一貫性を超えて:CAP から PACELCA へ
19) 2.3.1 モジュール2のまとめ
モジュール3:非機能的要件
20) 3.1.1 モジュール3へようこそ
21) 3.2.1 性能の重要性
22) 3.2.2 非機能要件の測定:メトリクス
23) 3.2.3 並列性とスピードアップ
24) 3.2.4 ベンチマーク
25) 3.2.5 ベンチマークにおける過ち
26) 3.2.6 性能の変動性
27) 3.3.1 モジュール3のまとめ
モジュール4:リソース管理とスケジューリング
28) 4.1.1 モジュール4へようこそ
29) 4.2.1 分散システムにおける短期・長期的アプローチ
30) 4.2.2 コンピュータシステムにおける伝統的なスケジューリング
31) 4.2.3 分散システムにおけるスケジューリング
32) 4.2.4 分散システムのワークロードにおけるジョブ構造
33) 4.2.5 分散システムにおけるスケジューリングアーキテクチャ
34) 4.2.6 分散システムにおけるメタスケジューリング
35) 4.3.1 モジュール4のまとめ
モジュール5:システムアーキテクチャとプログラミングモデル
36) 5.1.1 モジュール5へようこそ
37) 5.2.1 システムアーキテクチャとプログラミングモデル
38) 5.2.2 システムアーキテクチャ
39) 5.2.3 システムアーキテクチャとプログラミングモデルのトレードオフ
40) 5.2.4 プログラミングモデルとシステムアーキテクチャの親和性
41) 5.2.5 プログラミングモデルの例
42) 5.2.6 レイヤリング(階層化)
43) 5.3.1 モジュール5のまとめ
モジュール6:分散エコシステム ― すべてを統合する
44) 6.1.1 モジュール6へようこそ
45) 6.2.1 ITインフラを大規模化する課題
46) 6.2.2 分散エコシステムの理論
47) 6.2.3 トップダウンアプローチ:科学、工学、ビジネスにおける分散エコシステム
48) 6.2.4 事例による参照アーキテクチャ
49) 6.2.5 ボトムアップアプローチ:オンラインゲームとメタバースにおける分散エコシステム
50) 6.2.6 オンラインゲームの4つの技術的柱
51) 6.3.1 モジュール6のまとめ
- 分野
- IT、技術
- 前提となる知識
- とくになし
- 想定学習時間
- 3時間
- 修了認定テスト
修了証書発行 - なし
- オープンバッジ
発行 - なし
- 受講期間
- 期限なし
- 講座サンプル
講師
分散システム、クラウドコンピューティング、大規模データ処理、オンラインシステム研究の第一線で活躍する研究者・教育者によって構成されています。翻訳ボランティア
謝辞
本コースの日本語翻訳(Part1,Part2)は、下記のボランティアの方々の全面的なご協力によるものです。ここに厚く感謝申し上げます。
Ayaka Kamigaki様
Nguyen Thua Nho様、甲木利枝様
五島寛子様、髙田真弥様
馬場慶子様、三田仁様 (50音順)
権利関係
この講座はクリエイティブ・コモンズ・ライセンスの下で提供されています。
分散システム Part 2
関連コース
Tu Delft(デルフト工科大学)
オランダ最古の工科大学で、ヨーロッパでも非常に高い評価を受けている名門校。土木工学、建築、航空宇宙学などがとくに有名。大学のロゴはギリシャ神話にある「プロメテウスの炎」を表しています。https://www.tudelft.nl/

![[TU Delft] 分散システム Part 1](../img/delft_distribute1_courseCard.png)
![[TU Delft] エンジニアのためのプロジェクトマネジメント Part 1](../img/delft_PM1_courseCard.png)
![[TU Delft] エンジニアのためのプロジェクトマネジメント Part 2](../img/delft_PM2_courseCard.png)
![[TU Delft] ステークホルダー・コントロール](../img/delft_stake_courseCard.png)