さくらのエンジニアが高専でクラウドを教える日 〜高専連携と出前授業のご紹介〜
はじめに
さくらのナレッジ編集部の法林です。
さくらインターネットは、国立高等専門学校機構(高専)との間でDXの推進およびデジタル分野の人材育成と教育に関する包括連携協定を締結し、それに基づく数々の活動を行っています。この活動を当社では「高専連携」と呼んでいますが、この記事では高専連携としてどのようなことを行っているのか、それから活動の一環として各地の高専で出前授業を行っているのですが、その様子をご紹介します。
高専連携とは
冒頭にも書きましたように、さくらインターネットは高専機構との間でDXの推進およびデジタル分野の人材育成と教育に関する包括連携協定を締結しました。これが2023年3月のことです。下記のニュースリリースを読むと、さくらインターネットと高専機構が相互に人材・技術・資源等を活用することで社会貢献を図り、ひいては産業発展を目指すことを目的としていることや、活動内容としては、さくらインターネットの社員が高専の授業の講師を務めることや、高専生の研修環境としてさくらインターネットのサービスを提供することなどが記されています。
本協定に基づく活動を推進するために、さくらインターネットでは「高専支援プロジェクト」を設立し、さまざまな取り組みを行っています。初年度となる2023年度は、当社のES本部に所属する前佛雅人が高知工業高等専門学校(高知高専)の客員准教授に就任し、同校にてさくらのクラウドをはじめとするクラウド関連の講義/実習を4回にわたって行いました。
この他の活動実績としては、リモートによる石狩データセンター見学会の実施、さくらのクラウドをはじめとする計算資源の提供、高専人会や高専カンファレンスなど高専関連イベントへの登壇などが挙げられます。
これらの実績を踏まえて、2024年度は活動範囲を拡大して展開しています。出前授業も2023年度は4校での実施でしたが、2024年度は全部で15校での実施を予定しています。もちろん前佛1人でこんなに対応できるはずもないので、多くの社員が交代で講師を務めています。社員にとっても自分が担当している業務やサービスを学生に向けて伝える機会はそう多くないので、貴重な経験になると思います。
高専連携に関しては、当社がビジネスパーソン向けに展開しているウェブメディア「さくマガ」に多数の記事がありますので以下に掲げます。より詳しく知りたい方はそちらをご覧ください。
- さくらインターネットと高専機構が包括連携協定を締結 記者発表会レポート
- さくらインターネットの「高専支援プロジェクト」――高知高専の客員准教授に就任した社員のIT教育にかける想い
- より実践的な機会の提供を。高知高専×さくらの担当者が語るIT教育の目指すべき姿
- いま高専生に伝えたい。さくらインターネット若手社員が語る「就活」や「キャリア」
- 石川高専OBの若手社員が語る、DX人材になるために必要なスキルとは?
出前授業の内容
それでは、各地の高専で実施している出前授業の内容を見てみましょう。
当社では高専連携を始めるにあたり、高専支援において当社が提供できるコンテンツのメニュー化を行いました。出前授業はその中の1つですが、2024年度にメニューの体系化を行い、学生の皆さんが社会に出たときに自らクラウドを活用できるようになることを目指した「クラウド授業ロードマップ」を作成しました。
上図はロードマップの全体像です。クラウド授業と謳っていますが、内容としては「A.情報社会とモラル」「B.デジタル技術の基礎」といった領域に見られるように、情報技術を扱う心構えやITインフラの基礎知識といったところからスタートしています。そして後半の「C.クラウド基礎」「D.クラウド活用」でクラウドを学ぶという構成になっています。
このクラウド授業ロードマップを実際に講義/演習する科目に分割したのが上図です。「B.デジタル技術の基礎」を見ると、コンピュータやサーバの話、インターネットやISPの話に加えて、セキュリティ、Linuxのコマンド操作など、一通りのことが学べる内容になっていることがわかります。「D.クラウド活用」が実際にクラウドを学ぶところですが、こちらはインターネットに公開するWebアプリケーション基盤を題材に各種クラウドリソースを学ぶ科目に始まり、アーキテクチャ設計、コンテナ、開発手法、デプロイといった科目が用意されています。
各校における授業は、高専から「授業をして欲しい」という問い合わせがあると、ロードマップの全体像や科目一覧などをまとめた資料を使って説明を行い、その上で高専側の要望を聞きながらカリキュラムを協議し決定しています。つまり各校ごとに個別にカリキュラムを組むので当然ながら教える科目は学校ごとに異なりますが、各校ごとにイチから教材を作るわけではなく、前述の科目一覧の中から選択するようなイメージで考えていただくとよいかと思います。
阿南高専での授業
ここからは実際に高専で行っている授業の模様をご紹介します。
今回ご紹介するのは、徳島県にある阿南工業高等専門学校(阿南高専)での授業です。阿南高専では全部で12コマの授業を行いました。これは全国の高専の中でも最多の部類に入るコマ数です。科目としては以下のものを実施しました。
- [B08]Linuxの基本操作を学ぶ(1)
- [B09]Linuxの基本操作を学ぶ(2)
- [C01]クラウド基礎
- [D01]サーバとスイッチ
- [D02]VPCルータ(ルータとFW)
- [D03]ロードバランサ
- [D04]DBアプライアンス
- [D05]ウェブアクセラレータ(CDN)
- [D06]バックアップと監視、オートスケール
- [D07]Webアプリケーション基盤開発
- [D12]コンテナとDocker
- [D13]開発手法とGitHub
2024年12月16日(月)に阿南高専を訪問し、授業を取材してきました。この日は「[D04]DBアプライアンス」「[D05]ウェブアクセラレータ(CDN)」の2コマの授業が行われました。各コマは90分です。
DBアプライアンス
1コマ目は「[D04]DBアプライアンス」の授業です。講師を務めたのはテクニカルソリューション本部の本部長である松田貴志です。自己紹介では本人がファンであるB'zの話や徳島観光などの話題を披露した後、本題であるデータベースの話に入っていきました。
この講義における到達目標は「データベースの基礎概念と活用方法を理解し、リレーショナルデータベースを実際に操作するスキルを身につける」です。授業の内容を以下に示します。
- データベースとは?データベースの種類とDBMS
- リレーショナルデータベース(RDB)
- さくらのクラウド データベースアプライアンス
- データベースアプライアンスハンズオン
- サンプルデータベースを使っていろいろなSQL操作を試す
前半の3つが座学で、データベースの概念、当社での利用事例、RDBにおけるデータの表現方法、SQLによる操作などの話がありました。データベースアプライアンスはさくらのクラウドの製品の1つで、データベースのインストールやセットアップ作業が不要で即座に利用できるものです。
しかし、講師が延々と話すだけでは授業を聴講している学生は退屈です。しかもこの授業は昼休みが終わった直後のコマなので眠くもなります。そこで時折グループワークの時間を設け、課題を与えて学生同士で話し合って回答を考えてもらいました。例えば「データベースが利用されているサービスやアプリの例と、どんなデータを扱っているかを考える」とか「データベースを利用することで解決できそうな学校の課題を考えてみる」といった課題です。話し合った後はグループごとに回答を発表します。前者に対してはAmazon(商品情報)、LINE(友達の情報)、Instagram(写真)といった回答があり、後者に対しては学校の備品を管理したい、自習スペースの空き状況を把握したいなどの回答がありました。
後半の2つはハンズオンです。学生1人に1つ、さくらのクラウドのアカウントを提供し、上図のような構成のシステムを構築していきます。作業手順の概略を以下に示します。
- スイッチの作成
- データベースアプライアンスを作成しスイッチと接続
- サーバを作成(SQLクライアントとして使う)
- サーバにNICを追加しスイッチと接続
- サーバにログイン
- SQLクライアントをインストール
- SQLクライアントでデータベースアプライアンスに接続して操作
- サンプルデータベースを使っていろいろなSQL操作を試す
講師席に座った松田がさくらのクラウドのコントロールパネル画面を見せながら操作を行い、学生の皆さんはそれと教材を見ながら自分のPCで同様の操作を行っていきました。
データベースアプライアンスの作成においてはデータベースエンジンとしてPostgreSQLとMariaDBを選択できますが、今回のハンズオンではMariaDBを使用しました。SQLクライアントとして使うサーバはUbuntuを使っています。サーバへのNICの追加とIPアドレスの設定は手作業でやると多少面倒なのですが、このハンズオンでは「IPアドレス設定スクリプト」というスタートアップスクリプトを利用することで作業を簡単にしていました。
その後、サーバにログインし、コマンドラインでの操作を行っていきます。今回の授業では演習用端末に用意されているPowerShellを使用していました。サーバにログインしたらaptコマンドでmysql-clientをインストールした後、mysqlコマンドでデータベースアプライアンスに接続し、show文やselect文などのSQLコマンドを実行して動作を確認します。
データベースが動いていることを確認できたら、MySQL公式サイトからデータベースのサンプルデータをダウンロードし、データベースアプライアンスに読み込みます(今回はemployee dataを使用)。その後、読み込んだデータに存在するテーブル一覧の表示、テーブルの内容表示、条件を指定しての検索、テーブルの結合(join)、データの追加といった操作を実習しました。
最後に授業の内容を理解しているかどうかを確かめる小テストを行い、1コマ目の授業を終了しました。90分と聞いていたので結構長い印象を持っていましたが、実際に聴講してみるとあっという間に時間が過ぎていきました。
ウェブアクセラレータ(CDN)
休憩をはさんで2コマ目はウェブアクセラレータ(CDN)の授業です。こちらの授業はインターネットサービス本部でウェブアクセラレータの開発に携わっている山本真史が担当しました。山本は徳島県の出身で、阿南高専を受験するも失敗して別の高校に進学したというエピソードが紹介されました。阿南高専を訪問するのはその受験のとき以来だそうで、つまりは受験で落ちた地元の学校に先生として凱旋したことになります。
こちらの授業は以下のような構成で進行していきました。データベースアプライアンスの授業と同様に、前半が座学で後半は実習という形式です。
- CDNとは
- ウェブアクセラレータの紹介
- 実際に触ってみよう
座学では、CDN(Contents Delivery Network)の考え方、コンテンツ配信やキャッシュ制御の仕組み、導入のメリットやデメリットなどの話がありました。運用中のCDNトラフィックのグラフも提示されました。ちなみに学生の皆さんにCDNの利用経験を尋ねてみましたが、使ったことがある人はさすがにいませんでした。
また、こちらの授業でも一方通行の講義だけでなく、学生の皆さんにグループで考えてもらう課題が出されました。例えば「CDNはどんなサービスで使われているか」という質問があり、学生からはTikTok、NetFlix、Spotify、ZOZOTOWN、ファンクラブのウェブサイトなどの回答がありました。
ウェブアクセラレータの紹介では、高速・安価を特徴とする国内向けCDNサービスであること、サイト/ドメイン/オリジンといった用語の解説、動作の仕組みの解説などがありました。キャッシュの制御に関しては、Cache-Controlヘッダの話やWebサーバ(Apache/nginxなど)の設定例などにも踏み込んで話がありました。また、CDNを利用するデメリットの1つに情報漏洩(キャッシュ事故)のリスクがある点を挙げ、これについては学生の皆さんにもどんな事故が起こり得るかグループワークで考えてもらったりしました。
そして後半の「実際に触ってみよう」では、上図のような構成のシステムを用意し、学生の皆さんにウェブアクセラレータのコントロールパネルを操作してもらって設定やキャッシュ制御などを体験していただきました。作業手順の概略を以下に示します。
- ウェブアクセラレータのコントロールパネルにログイン
- サイトの追加(オリジンサーバの追加)
- サイトの有効化
- オリジンサーバにアクセスし、非常に重いページ(サイズの大きな画像が含まれるページ)を表示
- ウェブアクセラレータにて設定した、ウェブアクセラレータ経由で閲覧するURLにアクセス
- 4と同じページを表示
- ブラウザの開発者ツールを用いて、画像がキャッシュされたものであるかどうかを確認
また、wrkというHTTP通信のベンチマークツールを使って、オリジンサーバとウェブアクセラレータで設定したサイトにそれぞれ大量にアクセスして応答速度などを測定するデモも行いました。これは学生全員が手元のPCで実行すると学校のネットワークが輻輳してしまうので、山本が用意したサーバ上で実演しました。実行後はウェブアクセラレータのコントロールパネルでキャッシュヒット率や転送量を確認しました。
こちらの授業も最後に小テストを行い、学生の皆さんが理解できているかどうか確認して授業を終えました。学生の皆さんが今すぐにCDNを使うことはないかもしれませんが、社会に出てからウェブサービスなどを開発する立場になったときに、ここで聴いたことが役立ってくれたらと思いました。
おわりに
この記事では、さくらインターネットが取り組んでいる高専連携、ならびに「クラウド授業ロードマップ」の紹介と、実際に高専で行っている授業の模様をご紹介しました。スタートした当初は前佛が1人で講師を務めていましたが、2024年度は10人以上の社員が教壇に立つなど、社内でも活動が広がりつつあります。出前授業は現在も各地の高専で続いており、さらに今年の2月からは日本を飛び出してモンゴルの高専でも出前授業を実施する予定になっています(リモートでの講義が多くなるようですが一部の科目は現地に行くそうです)。
こうした活動を通して日本の(さらには世界の)IT人材育成に貢献していくとともに、これらの授業を受講した学生の皆さんが社会に出てからクラウドを活用することで、より良いIT社会を築いてくれることを願っています。
最後になりましたが、本記事の制作にあたり、取材にご協力いただきました阿南高専の吉田先生、太田先生、平山先生、ならびに学生の皆さんに厚くお礼を申し上げます。ありがとうございました。