クラウド入門
平成24年度シラバス
2012年1月13日
国立情報学研究所
トップエスイープロジェクト
代表者 本位田 真一
クラウド入門
横山
重俊、山崎 泰宏、田辺 良則、粂野
文洋
本講座では、クラウドコンピューティング環境上での分散アプリケーション開発手法を扱う。クラウド環境自体の学習も行うことで、その特性について理解を深め、
分散アプリケーション開発技術を実問題へ適用する際に必要な実践的能力を習得する。
NIIで構築した学習用クラウドを講義・演習用環境として活用することで実践的に分散アプリケーション開発を体験できる。さらには、分散アプリケーション開発で必要となるクラウドコンピューティング基盤の動きまでに触れる。
近年、大規模化するソフトウェアの開発および実行環境としてクラウドコンピューティング環境が活用される場面が増えてきている。特に処理性能のスケーラビリティや可用
性向上を目的としてクラウドコンピューティング環境での分散アプリケーションを開発する機会が今後益々増えてくると考えられる。このような要求に対して他のトップエス
イー講座シリーズで学習する技術による分散アプリケーションの設計・実装についての知見を活用し、実際のクラウドコンピューティング環境で実用的なアプリケーションフレームワークをアプリケーションの特性に合わせて用意し、習得、それらの各特徴を理解することが求められる。さらにアプリケーションレイヤだけでは解決できない問題についてはクラウドコンピューティング基盤
の特性を理解した基盤の選択、そのチューニングやさらにはOSSクラウド基盤の場合にはそれを改変する能力も求められる。
クラウド環境上で分散アプリケーションを開発する上で現在広く利用可能な実用的アプリケーションフレームワークについて学ぶ。
本講座は、クラウドコンピューティング基盤上に構築された各種分散アプリケーション開発フレームワークを用い、分散アプリケーションを構築することを通じて、それぞれのアプリケーションフレームワークの特徴やクラウドコンピューティング基盤自体が持つ特性を習得できる。その上で各アプリケーションフレームワークがそれぞれ得意とする実践的な課題について、実際に分散アプリケーションを構築し、運用し、評価することを通じて、クラウドコンピューティング環境上での分散アプリケーション開発についての実装から運用までをトータルに実施できる能力を身に付ける。本講座で扱う具体的なアプリケーションフレームワークはWeb三層モデル、Hadoop/Map-Reduce、MPIクラスタである。
本講座の受講生は、以下の項目を習得済みであることが望ましい。
(1)
システム基盤構築(シェルプログラミング経験があればさらに望ましい)
(2)
Javaプログラミング
(3)
並行プログラムに関する基礎的な理論
このうち、項目(3)はトップエスイー「基礎理論」講座で習得可能である。
概要
第1回: クラウドコンピューティング基盤
第2回: Web三層モデル(1)
第3回: Web三層モデル(2)
第4回: Web三層モデル(3)
第5回: Map-Reduce(1)
第6回: Map-Reduce(2)
第7回: MPI (分散モデル検証を例に)
詳細
第1回: クラウドコンピューティング概説
-
クラウドコンピューティングの特徴と分類
-
クラウドコンピューティング現状と事例
-
クラウド基盤について
-
クラウド基盤の活用方法
-
edubase Cloud の概要
-
edubase Cloud利用演習
第2回: Web三層モデル(1)
-
Webシステムの基礎
-
Webのスケーラビリティ
-
ネットワークの考え方
-
スケールアウトとシュリンクイン
第3回: Web三層モデル(2)
-
負荷の傾向分析
-
負荷とスケーラビリティ
第4回: Web三層モデル(3)
-
よく知られた負荷対策
-
Terracottaについて
-
Read/Write分散
第5回: Map-Reduce(1)
– Map-Reduce プログラミングパラダイム
– Hadoop を用いたプログラミング演習-1
第6回: Map-Reduce(2)
– Hadoop を用いたプログラミング演習-2
第7回: MPI(分散モデル検証を例に)– MPI概論
- クラウド上でのMPIアプリケーション実習
- 分散モデル検証とは
- DiVinE Cluster(クラウド)での実習
- クラウド上での検証に関する議論
本講座を受講することにより、実際のクラウドコンピューティング基盤上の分散アプリケーション開発、特に既存の分散アプリケーショフレームワークを適用可能なアプリケーション開発手法を
習得できる。その結果、開発現場において、クラウドコンピューティング基盤を活用することにより、スケーラビリティと可用性が高く信頼できるシステムを、効率的に開発することができるようになる。
・ eduase
Cloudおよび関連ツール
・ Terracotta/Grinder
・ Hadoopおよび関連ツール
・ DiVinE
演習課題レポート、プレゼン発表、出席日数を総合して評価する。
アプリケーションフレームワーク毎に適した演習を用意している。これらに順次取り組むことによって、実際の開発の際に適切なフレームワークを選択するのに必要な知識を体得する。
(Web)
- Terracotta
Inc.: The Definitive Guide to Terracotta:
Cluster the JVM for
Spring, Hibernate and POJO Scalability (Apress)
(Map-Reduce)
- Tom White著 (玉川、兼田訳) 「Hadoop」 (オライリー・ジャパン)
- Jimy
Lin, Chris Dyer: Data-Intensive Text Processing with MapReduce
(Morgan & Claypool)
- 太田, 下垣, 山下, 猿田, 藤井著 「Hadoop徹底入門」 (翔泳社)