Webアプリ開発教室の実現方法を検討する
-
目標
-
ゲストが継続してWebアプリの開発を学習できる場を用意する
-
サーバサイドでphpが動き、PostgreSQLを使えるようにする
-
TODO (順次追加、移動、分割、統合、階層化を行う)
-
要件をリストアップする
-
100人分のスペースを用意し、同時に10人が利用できる。1か月で自動削除。
-
利用者分のファイルの保存先を用意。一人あたり1MBあれば十分。
-
PostgreSQLのdatabaseを自由に作成できる。一人あたり10MBあれば十分。
-
システムおよび他人のファイルを読み書きできない。
-
dockerを使った実現方法を検討する
-
コンテナの作成、起動、停止をコントロールパネルから行う。
-
100人分のコンテナを用意するのに必要なディスクスペースを確保。
-
10個のコンテナを同時に稼働させるが愛のメモリを確保。
-
利用方法、利用頻度で継続利用の方法を変える。
-
ちょっと使ってみたい。
-
モールへ参加しないが継続して使いたい。
-
dockerの数を減らす方法を検討する
-
コンテナは同時利用の数だけ用意する。
-
利用者毎にdb領域、php領域を割り当て、コンテナを起動するときに割り当てる。
-
利用は一回1時間とか1日とかとする。コンテナが空いていれば続けてまた使える。
-
一人のディスク使用量を200MBに抑えれば100人分でも20GBに収まる。
-
2週間利用実績がなければ自動で削除。
-
phpソース、dbダンプを取り出せ、再セットすることができる。
-
クッキーにユーザ判別キーを保存、別マシンでも使いたい人のために、キーを取り出して表示し、再セットする機能を用意。
-
実装に向けて予備実験や下準備を行う
-
サーバを用意して、再構築を考慮しながら環境を整える。
-
イメージを用意する。
-
コントロールパネルを実装する。
-
教材との連携を用意する。
-
専用VPSを使った場合も同様に使えるようにする。
-
当教室の特徴を明確にする
-
アプリ開発だけでなく、継続して運用することまでを対象とする。
-
徹底した自動化により、システムのユーザによる自前開発、自前運用を目的とする
-
気軽に試して見るところから始められるようにする
-
ユーザ登録が要らない
-
サーバを用意する必要がない
-
ブラウザだけで楽しめる
-
データベースも使える
-
課題・考察記録
-
状態