どっかああああちゃあああんんんん

前略

酸いも甘いもドカDocker。 最近、諸事情で機械学習がらみの個人プロジェクトにハマっていたのだが、そのアーキテクチャにDockerを導入した。そのアーキテクチャが以下。

f:id:yuyaito:20190612235504p:plain
アーキテクチャ

この構成だとMongoDB以外はセットアップが鬼楽だけど、今後キャッシュサーバーにRedisとかを導入することなど見越してDocker構成に切り替えた。導入過程でメリットデメリットあったので書いていく。

デメリット

難しい

Dockerの構成ファイル難しすぎじゃヴォケ!!とくにポート関連とかボリューム関連のお前! 幸いnode界隈には先人たちの知恵がネット上に落ちているのでなんとかなったが、ホットリローディング効かせるのとかめっちゃ時間かかったわ!!

重い

f:id:yuyaito:20190613000033p:plain
4GB
メモリ4GBって舐めとんのか!!! メモリ8GBのわしのmacbookは重くて何回もフリーズしてまうわ!!

メリット

環境依存が消える

おしゃ、PCのOS変えたで〜さて環境構築構築。。。

docker-compose up

え?終わり?神〜〜〜

マイクロサービスにつながる

さーてRedis入れて、Golang入れて。。。え、Redisはpython2依存でGoはpython3依存。。。?ひとつのサーバーインスタンスでバージョン管理しなきゃいけないの。。。?つら・・・。

Docker: コンテナに分ければいいんだよ!

なるほどお!

Kubernetes

さーてサービスも大きくなってきたことだし、スケーリングに耐えられるようにしなきゃ!えーと、AWS EBだと。。。え、コンテナ群をそのまま増やしてくだけなの!?それ非効率じゃない。。。?

Kuberstes: わたしがいます

くべちゃん。。。!(お金かかるから自分で動かしたくない)

結論

メモリ16GB以上だったら即導入すべき。8GBだったら導入してはならない。