Swiftがオープンソースとして公開されてLinuxサポートがされてから数年経ち、サーバーサイドSwiftの導入・運用事例が増えてきました。その間にもSwiftはアップデートされ続けていて、Swiftのバージョンを複数の開発・運用マシンで揃えることのコストが高くなってきています。このコストを削減するためにDockerを用いると、Swiftのバージョンを固定したコンテナ型の仮想化環境を用意できるので、マシンのローカルのSwiftのバージョン依存することなく開発することができます。また、Dockerは完全仮想化を行うわけではないのでディスク使用量は少なく、仮想環境の作成や起動は速いという特徴があります。このトークではSwiftに最適なDockerコンテナを紹介します。
Swiftが動くDockerコンテナの各OSの性能比較
会社で英語のサービスを作っていますが英語苦手です。
Linuxに於けるSwift
MacでなくLinuxならサーバーサイドが現実的です。しかし常に安定した環境を用意するのは困難なので解決策にDockerがあります。
Swiftが動くDockerコンテナでどのような環境が良いか調べました。
ビルド環境です。LSTのUbuntuを使い、DockerSwiftImageを使いました
Vaporがよく使われるものの一つなのでVaporイメージを選びました。Kituraにすればよかったでしょうか。
サーバー環境です
こちらで負荷テスト
ベースのOSで殆ど変わりはなかった。
Imageのサイズで比較
Imageを軽量化した実行用のImageを用意したほうが良い
現在は16.04がベースが良いが、もうすぐ18.04が出るのでそちらがよいということになると思います。