使われており、今回はそのデプロイ方法について紹介します。アプリケーションをデプロイするときには、まだまだベストプラクティスがある状況ではありません。どのように無停止でデプロイするか、どのようにコンテナと通信するかといった問題があります。ツールを検証しましたが、クックパッドの環境において使いやすそうなものはなく、最終的に自前でデプロイのしくみを作ることにしました。周辺のツールは様々な新しいものが出てきている最中です。今はまだベストなものが無いけれども、近いうちによりよいものが出てくるかもしれません。そのため、できるだけ単純なしくみにしておくことで、後から別のしくみに移行しやすいようなものにしようと意識しました。設定を更新する形にしています。全体の構成は下図のようになっています。デプロイは以下の流れで進みます。デプロイするとします。アプリケーションのデプロイ方法としてはわりと一般的な方法かと思います。いえ、この中でいくつか考えなければならない問題があります。一つのホストに複数のコンテナを立てられるようになっており、リクエストをどのコンテナにプロキシするかはバーチャルホストで行っています。コンテナ間の通信方法として、2つの方法を用意しています。ドメインソケットが見えるため、そこへプロキシする方法です。コンテナのネットワークを分離でき、オーバーヘッドが小さく、ポートが被る問題に悩まなくてよいため、基本的にはこの方法を使うようにしてもらっています。オプションを渡し、そこで指定したポートへとプロキシする方法です。イメージが公開されているソフトウェアをそのま利用するとき等に使います。足したものを使うようにしています。雑な割り当て方法ですが、これでもほとんどの場合でうまく動きます。コンテナに設定値を外から与えたい場合、環境変数が最も楽な方法です。問題はその環境変数をどのように管理し、どのように与えるかです。読み込ませる、というようにしています。読み書きできないファイルもコンテナ内から閲覧できてしまう等の問題があります。許可する、という形にしています。デプロイがホスト側で完結するので、何かのオペレーションでデプロイが必要になったときに、コマンド一つで再デプロイできるのも利点です。経由でこのデプロイスクリプトを実行しています。今後このしくみでデプロイ自体はうまくできているものの、全体で見ると完全には自動化できていない部分があります。タグを使っており、このタグは運用者が設定しています。どのアプリケーションをどのホストにデプロイするかを運用者が指定している状況です。よって得られたポータビリティを活かして、必要なメモリ量やコンテナ数などを設定すれば適当なホストにデプロイされるようになるとよさそうです。動的にコンテナ数を変えると自動的にスケールイン・スケールアウトしてほしいです。いいのか、あるいは自前で何か作ったほうがいいのか、色々と検討中です。アプリケーションをデプロイしているか紹介しました。アプリケーションのデプロイ方法についての具体的な話はあまり見ないので、一つの参考になればと思います。機械学習チームの林田(@chie8842)です。開催しました技術広報を担当している外村です。使ったセキュリティログ検索基盤の構築サービス特性にあった検索システムの設計戦略クックパッド採用説明会「クックパッドはサービスの作り手を採用したいんです。/*}*/スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。