7システムアーキテクチャ
- 7.1高可用システムの実現方式
システムを止めない設計の考え方を学びます。故障パターン(物理障害・論理障害・メンテナンス停止)とSPoF(単一障害点)の排除、MTBF・MTTR・稼働率・SLA・RPO・RTOという指標の意味と違い、冗長化・クラスタ(Pacemaker・Corosync)・ロードバランシング・地理的分散による回復性の実現方法を押さえます。
- 7.2キャパシティプランニングとスケーラビリティ
将来の負荷増大に備えるキャパシティプランの考え方と、負荷への対応方式であるスケールアップ・ダウン(垂直)とスケールアウト・イン(水平)の違いを学びます。スケールアウトを機能させる前提となるステートレス構成(DB・セッションの外部化)、構成管理ツールや仮想マシンイメージによるマシン再構成の自動化、ロードバランサ・DNSラウンドロビンによる分散を押さえます。
- 7.3クラウドサービス上のシステム構成
IaaS(Infrastructure as a Service)を使ったシステム構成の考え方を学びます。エフェメラルストレージと永続化ストレージの違い、固定IPとフローティングIP、テナントネットワークの分離、ファイアウォール・セキュリティグループによる通信制御、オブジェクトストレージ、メッセージングシステム・キュー、オートスケーラーによる自動的な台数調整を押さえます。
- 7.4典型的なシステムアーキテクチャ
実務で繰り返し登場する定番構成を学びます。LAMP・LAPP(Linux+Apache+MySQL/MariaDB または PostgreSQL+PHP/Perl/Python)の構成要素、Web3層モデル(Webサーバー・APサーバー・DBサーバーの役割分担)、ロードバランサとHA構成・DBレプリケーション・スケールアウトを組み合わせた冗長構成、プロキシサーバー・キャッシュ・CDNによる高速化、メッセージングキューによる非同期データ処理を押さえます。

