技術を理解するとは

はじめまして。中島です。

初回の記事では、技術の理解という内容について書いてみます。

私は大学の非常勤講師として、「クラウド基盤構築」という講義を担当しています。
1コマ105分の全14回の講義です。そういえば、私が学生のころは1コマ90分の全15回でした。ということは、今の学生は単位を取るために費やす時間が昔よりも2時間多くかかっていることになりますね。

講義のプログラムと教科書は以下から誰でも入手可能です(演習環境は大学内からしか利用できませんので、そのままでは動きませんのでご注意ください)
https://sites.google.com/site/cloudlecture/home

この講義ではOpenStackを題材にしています。前半8回がLinuxに関する講義で、後半6回がOpenStackになっており、講義と演習を交互に行っていきます。
元々は全15回の講義でしたので、Linux 8回、OpenStack7回でしたが、講義時間と回数の変更に伴い、今の割当てになっています。

6回の講義でOpenStackの内部構造等が理解できるのか、というと実際のところはかなり厳しいです。
しかし、前半のLinuxの内容がある程度理解できていないと、そもそもOpenStackに触ることも出来ません。
これは、OpenStackがLinuxの上に成り立っていることを意味しており、技術の進化の上では健全ではありますが、実際に教えるとなると前提知識が多くなり、本題に至るまでに時間がかかるというのが難しいところです。

受講する学生は情報工学を専攻していますが、Linuxやネットワークといった基盤技術に関する知識にはかなり個人差があり、当たり前のように使える学生もいれば、「viって何?」という学生もいます(これは専攻分野による差が大きく、能力差というわけではありません)

ということで、Linuxは全く使ったことがない、という学生も受講することを想定し、この講義ではOpenStackで使われるLinuxの基礎から入り、その延長でOpenStackを学んぶ構成になっています。

そこで重要となるのがゴールの設定です。限られた時間で何をゴールとして講義を行うかです。
そして、この講義では「クラウド基盤とはどのように構成されているのか?」というテーマで、その基礎原理と思想について理解することをゴールとして設定しました。
細かなOpenStackの使い方、詳細な内部構造については概要のみに留めて、講義では細かな事には殆ど触れていません。

この講義を受けても、OpenStackを構築・運用できるようにはなりませんが、OpenStackはどこで、何のために使われているのか、そのために従来の技術(Linux技術)をどのような形で使わせ(れ)ているのか、という根源的な部分を理解する事が出来ます。

言うなれば、この講義は演習の中で具体的な技術を体験しながら、「なぜ、どうして、何ができるのか、そもそも何故必要なのか?」という抽象度の高い内容を理解するために組み立てられた講義であると言えます。

1つの技術を理解するには、その技術を構成する個別の要素について深化して理解していくことも重要ですが、抽象度の高い視点から技術を俯瞰して理解していくこともまた重要なのです。
なぜならば、本質的にITというものは抽象化の層を積み重ねることで進歩を続けている分野であり、有効な抽象化を行うにはボトムアップではなく、1つ上の視点から物事を考える必要があるからです。

ということで、次回以降も「技術」というものに対する考え方について書いていきたいと思います。

Pocket

コメント