puppet camp tokyo 2014: application release utlizing mcollective

17
Mcollectiveを利用したアプ リケーションデプロイ

Upload: puppet-labs

Post on 10-May-2015

446 views

Category:

Software


0 download

DESCRIPTION

Presented at Puppet Camp Tokyo 2014: "Application Release Utlizing MCollective" by Misa Kondo, Voyage Group

TRANSCRIPT

Page 1: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Mcollectiveを利用したアプリケーションデプロイ

Page 2: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

自己紹介

—名前 近藤美沙(Misa Kondo)—Twiter @_zoo—所属 株式会社adingo—業務 媒体者向け広告管理サービスの開発

Page 3: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

サービス&システム紹介

株式会社adingoでは、媒体者向けに広告管理サービス、Fluctを提供しています。

Page 4: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

広告配信システムが処理するリクエスト数

—200億imp/月—ピーク時には、4万件/分 bidding

Page 5: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective
Page 6: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Mcollectiveを利用する前の、配信システムのデプロイ方法

—Scriptで各サーバに対してデプロイを実施 `make -C #{SCRIPT} deploy`

—JenkinsのBuild Pipeline の活用

Page 7: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

問題点

—Jenkins → X target hosts (X=1...1000 or more than)—並列化もできるが、Jenkinsの負荷が高い—サーバを増やす毎に設定追加が必要

Page 8: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Mcollectiveの仕組みを利用し、問題点を解決する

Page 9: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Mcollectiveの構成要素

Page 10: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective
Page 11: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective
Page 12: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Application Plugin on Client

Page 13: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Agent Plugin on Server

Page 14: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Agent DDL on Client and Server

Page 15: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

How to use

mco release -s IN ALL -I /#{TARGET}/

Page 16: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

問題点の解決

—McollectiveのPluginはPuppetでServerとClientに配置してるため、設定が不要

—並列化を行う仕組みを実装する必要がなくなった—デプロイ作業そのものは各Serverで行っているため、負荷が集中しない

Page 17: Puppet Camp Tokyo 2014: Application Release Utlizing MCollective

Mcollectiveの利点

—複数のサーバに任意の処理を行う仕組みが提供されている

—Pluginには本当に実行したい処理だけをかける