エンジニアのサブルーチン

あまり注目されない組み込みのシステムエンジニアをやっています。エンジニア業界のこととか、勉強したこととかを不定期に更新していきます。

個人アプリ開発記録1

作りたいもの

自己学習型Chatbotをユーザーが手軽に学習、公開でき、それを手軽に遊んでもらえるサービスを作りたい。

システム構成図

構想初期

f:id:code_sugar:20191123020800p:plain

問題点
  • メッセージを送信するたび、apiサーバーから実行ファイルを起動し、S3からcsvファイルを持ってこないといけないので、処理が重い。
  • オーバーヘッドが大きい


学習データはcsvファイルで格納するが、ファイルサイズが4gb、5gbになると想定すると、メッセージを送信するたびにファイルパスを参照して実行ファイルを起動する方法は望ましくない

構想途中経過

f:id:code_sugar:20191123020809p:plain

 実際に利用してみないとわからないことは多いが、問題点はDockerで全て解消できるはず。FlaskAPIをコンテナ化して、それを各ユーザーが起動して使用する流れ。

問題点
  • docker run すると指定したイメージを自身のdockerホスト上からimageを探し、なければダウンロードするらしい。dockerホストとは本番環境だとec2の仮想マシン上のことをさすのかな?ここら辺がよくわかっておらず、開発が難航している。