puppet camp tokyo 2014: application release utlizing mcollective
DESCRIPTION
Presented at Puppet Camp Tokyo 2014: "Application Release Utlizing MCollective" by Misa Kondo, Voyage GroupTRANSCRIPT
Mcollectiveを利用したアプリケーションデプロイ
自己紹介
—名前 近藤美沙(Misa Kondo)—Twiter @_zoo—所属 株式会社adingo—業務 媒体者向け広告管理サービスの開発
サービス&システム紹介
株式会社adingoでは、媒体者向けに広告管理サービス、Fluctを提供しています。
広告配信システムが処理するリクエスト数
—200億imp/月—ピーク時には、4万件/分 bidding
Mcollectiveを利用する前の、配信システムのデプロイ方法
—Scriptで各サーバに対してデプロイを実施 `make -C #{SCRIPT} deploy`
—JenkinsのBuild Pipeline の活用
問題点
—Jenkins → X target hosts (X=1...1000 or more than)—並列化もできるが、Jenkinsの負荷が高い—サーバを増やす毎に設定追加が必要
Mcollectiveの仕組みを利用し、問題点を解決する
Mcollectiveの構成要素
Application Plugin on Client
Agent Plugin on Server
Agent DDL on Client and Server
How to use
mco release -s IN ALL -I /#{TARGET}/
問題点の解決
—McollectiveのPluginはPuppetでServerとClientに配置してるため、設定が不要
—並列化を行う仕組みを実装する必要がなくなった—デプロイ作業そのものは各Serverで行っているため、負荷が集中しない
Mcollectiveの利点
—複数のサーバに任意の処理を行う仕組みが提供されている
—Pluginには本当に実行したい処理だけをかける