Docker イメージの最適化問題
そりゃまあね。
綺麗に作られた Docker イメージはベースとアプリケーション固有部分が分離していて転送が最適化されるみたいな話はあるんですが、それはそうとして頻繁にベースごと吹き飛ばされるという環境で生活している人は多いのではないかと思う。
このような情勢のもとではいろいろ頑張って最適化したところでダメなときはダメだしみたいな話になってくる。
というわけでなのでこのへんあんまり神経質にやる必要はないと思う。普通に書けばまあ普通にある程度キャッシュされますよ以上のことを考えなくていいんじゃないかな。そういうところ神経質に気にしたい人は Docker 使わないほうがいいと思う。ただまあこのへんコストの判断基準をどこに置くかなので最終的には殺し合いになります、
golang:latest でビルドしたバイナリを alpine-glibc に突っ込むぐらいのビルドパイプラインだと複雑さはかなり低いと思うのでそれはありかなと思うけど、
ChimpoKnights とかあんなん維持するのにそんなに金払いたくないから alpine-glibc に Go のバイナリ一個載せるみたいなチマチマしたことやってるけど、これが仕事だったら絶対こんなことしないな
— イスラム原理主義者@天皇陛下生誕委員会 (@ssig33) December 22, 2016
という話です。ちなみに @ChimpoKnights さんは AWS Lambda と AWS CodeBuild で動いています。