コンテンツに移動

クラウドで実践的な経験を積むニューヨーク市立大学シティカレッジの学生たち

ニューヨーク市立大学シティカレッジでは、仮想化やコンテナなどのオープンソース技術の授業のために、限られたリソースを割り当てて新しいインフラストラクチャを構築する代わりに、Google Cloud の採用を決めました。現在、学生たちはコンピュータ サイエンス分野でのキャリアを開始する前に、価値ある実践的な訓練を受けています。

コンピュータ サイエンス(CS)の学部では、職場で実際に使われている最新技術(今日ではクラウドおよび仮想化などの関連技術)の教育と訓練を提供する必要があります。しかし、多くの大学にはこうした技術に対応する新しいインフラストラクチャを構築するためのリソースが備わっていないうえ、変化のスピードがあまりにも速いために最新のプラットフォームやツール、言語に対応し続けるのはほぼ不可能です。

ニューヨーク市立大学シティカレッジ(CCNY)の教員は、現在の教科書やその他の教材で十分に扱われていない仮想化やコンテナなどのクラウド技術について、学生が実践的な経験を積めるようにしたいと考えていました。そのためには、予算に見合う現実的な方法でコンピューティングの最新技術に対応できる新しい手段が必要です。

「多くの CS カリキュラムでは、コアとなるデータ構造、アルゴリズム、オペレーティング システムの扱い方が理論的で、時代にそぐわない傾向があります」と話すのは、CCNY コンピュータ サイエンス非常勤準教授の Peter Barnett 氏。「学生の意識を外に向けさせることが重要で、幅広い経験を持つコンピュータ サイエンティストを育成するには、先見性のある教育を提供する必要があるのです。」

Google Cloud による包括的な CS 教育の構築

Barnett 氏は、Zahn Innovation Center(スタートアップ研修、指導プログラム、プロボノ サービス、ラピッド プロトタイピング施設を提供する CCNY 所属のインキュベーター)のエグゼクティブ ディレクターである Lindsay Siegel 氏から Google Cloud(Google Cloud)教育助成金について紹介されました。

Google Cloud を初めて導入したクラスで、Barnett 氏はクラウド プラットフォームが従来のオペレーティング システムやアプリケーション サーバーの機能をどのように実行できるのかについて考えさせる課題を出しました。学生は、使用しているのがコンテナなのか仮想マシンなのか、あるいはどのサーバーや分散マシンのクラスタを使用しているかを知るにはどうすればよいか、という疑問について突き詰めて考える必要がありました。

学生は Google Cloud か別のクラウド サービス プロバイダのどちらかを選択することができましたが、Google Cloud を選んだ学生の多くは、チュートリアルがわかりやすいため、データの読み込みやアプリケーションの構築に取り掛かりやすいと感じたそうです。プロジェクトの途中で壁にぶつかった学生は、Google Cloud チームや CCNY の教授陣からサポートを受けることができました。

この課題では、Google App Engine を使ってコンテナの仕組みを調べた学生もいれば、Google Compute Engine でアプリを構築するためのチュートリアルを利用した学生もいましたが、すべての学生が Linux コマンドを使って仮想マシン(VM)やコンテナ環境を使用する方法について理解し、SQL コマンドでデータベース バックエンドの操作を試みました。

エンジニアとしての考え方を養う

学生たちは、クラウド プラットフォームを存分に試すことで、クラウドについて概念的に捉えるとともに、クラウドでも実際のハードウェアを使用していることを理解するようになりました。また、記事を読み、チュートリアルを視聴し、コンテナ内外でできることを調べました。さらに、メモリと CPU の使用量に着目し、仮想ストレージが提供される仕組みや、IP アドレスが取得される方法について学びました。

なかでも、Nissan、James、Michaelの 3 人は、サンプル アプリケーションを作成するという課題以上のことに挑戦しました。「この 3 人は自分たちのレポジトリを読み込み、独自のアプリケーションを構築したのです。それがうまくいったので、彼らは作業環境としての Google の動作に良い印象を持ったようです」と Barnett 氏は述べています。

理由と方法を理解する

疑問をとことん追究できる環境にいる学生は、研究テーマについてより深く理解することができます。いくつかの課題に取り組む過程で、学生は英国と米国でアプリケーションの応答時間が異なることに気付きました。これにより、物理的なコンピューティング リソースの所在地について、さらに考慮することが必要になりました。ある学生は、Google Cloud の MySQL データベースを自分のクラウド プロジェクトに実装し、システム ファイルの格納場所について理解するための調査を行いました。

Barnett 氏は、一番関心のあるクラウド技術について学習するようクラスの学生に促しました。すると、一部の学生は Kubernetes を使ってコンテナ管理について研究し、他の学生たちは MongoDB の負荷分散の実験を行いましたが、演習の後、各グループが研究結果を発表し、全員がさまざまな環境について理解を深めることができました。

「そのうち物理サーバーで作業する学生はいなくなるでしょう。クラウドは未来ではなく、すでに現実となっているのです。」

Peter Barnett, コンピュータ サイエンス非常勤准教授, ニューヨーク市立大学シティ校

デモを超える取り組み

現在、Barnett 氏が担当する CCNY の卒業課題総括コースの学生は、Google Cloud を使用して科学的、社会的、起業的に重要な可能性を持つ本格的なソフトウェア プロジェクトのバックエンド部分に取り組んでいます。

このコースの 5 チームの研究テーマはそれぞれ「機械学習の利用による手書き文字の光学式文字認識技術の向上」、「エクササイズの正しいフォームの形成と維持におけるトレーナー、理学療法士、クライアントの補助」、「コンテンツ分析と機械学習を組み合わせた特許検索技術の向上」、「視覚に障がいがある人々の移動を補助する駅や公共施設の屋内マッピング」、「ユーザーのフィードバックに応じて変化する AI を利用した擬似ランダム音楽の生成」です。

これらのプロジェクトのほぼすべてで、コンテンツ分析と機械学習の形で AI が利用されており、Machine Learning Engine や BigQuery といった Google Cloud の一連の強力な API もプロジェクトに役立っています。また、Google for Education チームも、各チームの開発とテストを支援するため、Google Cloud について多くのサポートを無料で提供しました。これらのプロジェクトは現在も進行中です。

生きた経験を提供する

学生が将来コンピュータ サイエンス分野で成功するためには、今日の職場で使用されているツールの理論と実用法について学ぶ必要があります。Google Cloud のようなクラウド サービスであれば、CCNY は莫大な先行投資をせずに最先端の開発ツールと大規模なクラウド インフラストラクチャへのアクセスを手に入れ、学生たちは Python、Ruby、Sinatra、Google Cloud などのさまざまな言語やクラウド プラットフォームを使った作業方法について学習することが可能になります。これらのツールと言語は、限られたリソースのために多様な技術を提供することができない多くの学校にとっては手の届かないものです。しかし、Google Cloud なら、あらゆる学生や学部のニーズに応じて拡張可能な最新のコンピューティング環境へのアクセスを手頃な費用で実現できます。

「クラウド環境は、オペレーティング システムの新しい形です」と語る Barnett 氏。「物理サーバーで作業する学生は、そのうちいなくなるでしょう。クラウドは未来ではなく、すでに現実となっているのです。」

こちらから、最新情報、分析情報、各種リソースなどの配信にご登録ください。