LoginSignup
1

More than 3 years have passed since last update.

posted at

updated at

Aidemy Premium Planで提供する仮想環境の仕組み

概要

Aidemy Premium Planで受講生が使っている機械学習向けの仮想環境「Fastpyter」の仕組みについて説明します。
本記事ではソースコード等は一切出てきません。

Fastpyterって?

Aidemy Premium Planで受講生が使っている機械学習向けの仮想環境です。
機械学習向けのスペックを持ち、機械学習でよく利用されるpythonのパッケージの大部分と、jupyter notebookがインストールされています。
また、 各受講者ごとに個別のデータを保持することができます。

システムの概要

資料ベース.jpg
この図をベースに説明します。

  1. まずユーザーはインターネット上に公開されたフロントサーバーにアクセスします。
  2. フロントサーバーで認証を行います。
  3. 認証されたユーザーであれば、パブリックIPを持たない各自のVMにアクセスします。

Fastpyterの基本は、この3ステップで成り立っています。

VMの制御

各個人が利用するVMのスペックは機械学習向けということもありとてもいい性能のものを利用しています。
そのため、インフラに詳しい方はお気づきかもしれませんが、維持費もものすごくかかってしまうのです。
(ずっと起動したままの場合月々およそ75,000円かかってしまいます。)

なので費用を抑えるため、必要な時だけVMを立ち上げ、不要になったらVMを削除する、という制御を行っています。
これはAzure Active Directoryを利用して実現しています。

VM消したらデータはどうなるの?

さて、必要ないときはVMを削除するとなると、データの保存方法を考えなければなりません。
Fastpyterでは、起動時に各受講者専用の仮想ディスクドライブをマウントし、VMを削除してもそのディスクだけは削除せずに残しておくことで各受講者ごとのでデータを保持しています。

実物で例えると、毎回パソコンを組み立てて起動して外付けハードディスクを接続して、シャットダウンして外付けハードディスクを取り外してパソコンを分解する。そのようなイメージが近いです。

今後の展望

Kubernetesに移行したい。
現在Fastpyterが抱えている1番の課題はVMの作成・削除の時間の長さです。Kubernetesのようなコンテナ技術を利用することで、VM作成・削除をより高速化してより快適な学習環境を提供できるようにしていきたいです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1