Case study puppet

Preview:

DESCRIPTION

 

Citation preview

SonicGardenでの Puppet 活用事例

TIS / SonicGarden 安達 輝雄 id:interu

2010/12

Agenda

puppetとは

puppet と chefの違い

SonicGardenでの活用事例sample : SKIPaaS

まとめ

Puppetとは

Client - Server モデルの運用管理ツール

Ruby言語製(gem)

抽象化レイヤOS/Distributionの違いを吸収Windows/Linux/Unixに対応

■puppetの実装等に関する資料はこちら http://blog.sonicgarden.jp/2009/04/puppet.html

システム構成(pull型)

各Client から システム最新化のリクエスト

システム構成(push型)

Server から システム最新化の指示※指示の client からシステム最新化のリクエスト

Sample code

httpdパッケージのインストール

httpdの起動

httpd設定ファイルの更新

利用企業

puppet lab の HPより抜粋

vs Chef (strong point)

導入が簡単Only Ruby/Rubygems/puppet

対応プラットフォームが豊富

Support Windows

公開module(puppet forge)の仕組み119 found. (12/2)

管理UI(puppet dashboard)

別アプリ(rails)

セキュリティ機能がしっかりSSL, ACL

vs Chef (weak point)

Only Puppet DSLv2.6.xから Ruby DSL support

Support REST API

v2.6.xから対応

Unit test ができないRuby DSLで定義したものはunit test対応

SonicGardenでの活用事例

SKIPのSaaS提供 : SKIPaaSでpuppetを活用

SKIPaaSの概要お客様毎に仮想環境(EC2)

アプリレベルのカスタマイズに対応

textの設定ファイルでカスタマイズできる構成

セキュリティ強化機能をオプション提供Web Serverでのアクセス制御ウィルススキャンアクセスログの提供

SKIPaaS運用課題

環境構築に半日全環境のバージョンアップが大変環境ごとのカスタマイズ設定の管理が大変手作業が多く時折ミスが発生手順書の管理が煩雑

 以下の実現を目指す!環境構築/メンテンナンスに要する時間の削減環境毎の設定情報の一元管理(可視化)

課題解決方法の検討

候補1EC2のAMI(OSテンプレート) + Initializeスクリプト

候補2運用管理ツールの導入

候補3

アプリ改修

運用構成

カスタマイズ可能な設定(お客様毎)

system設定(permission/owner)のチェック/更新M/W設定の配置/更新アプリケーションリリース(独自scripts)cron設定のチェック/更新 各種daemon再起動

導入効果

環境構築/管理、バージョンアップの時間短縮構築/管理台数が多いほど効果絶大

クラウド環境でのテスト容易性

テストで失敗したら環境を捨て再テストEC2のAMIを活用することでより効率的に

M/W設定の構成/バージョン管理

アプリと同じようにM/Wの設定等も全て(Git/SVN)管理属人化した情報の可視化

まとめ

システム運用管理ツール(puppet/chef)の導入複数台のサーバ管理が楽にDRYに(作業ミス/忘れも削減可能)M/W設定もバージョン管理moduleの活用が可能

これからはpuppet + MCollective

Recommended