前回「「第21回 AWS User Group - Japan 東京勉強会」に参加してきました」からちょうど一ヶ月、今回も半蔵門直結のSAPビルで開催された AWS User Group の勉強会に参加してきました。
「第22回 AWS User Group - Japan 東京勉強会」(2014.6.20) #jawsug
前回もそうでしたが、会場は人でいっぱい満員御礼でした。
参加者の多さでみる限り、AWS, Swift, Docker関連の勉強会はどこも人気のようですね。
NulabとAWSと私(仮)
ヌーラボ 中村氏
SLIDE: http://www.slideshare.net/ikikko/nulabaws
- 自動化は一日にしてならず
- 自動化プロセスにもPDCAや改善は必要
- プロダクション環境(メンバーだけが触れるbeta環境を含む)とステージング環境がある
- beta環境はリリース回数が多い(新機能を試したりするので)
- データは実データを使ってる
- リカバリが容易なのでリスクが少ない
- 自動化が効果的
- beta環境については、Agile Japan 2014 にて
- サーバ構成には Ansible を使ってる
- ワークフロー
- AMIの作成タイミングは、2つ。結構良いプラクティスかも
- Ansibleの構成管理を変更したとき
- 毎週日曜朝に定期実行(最新の実行環境/ミドルウェアに追随)
- リポジトリとしてのS3
- 成果物や認証情報なども格納
- テスト用リソースが不足したら、EC2インスタンスを使う
- Javaアプリは環境依存の問題が少ないので、環境まるまる入れ替えることは少ない
- ミドルウェア入れ替えレベルの場合のみ
- hubot(チャットツール)への通知
- botにリクエストを出すと、デプロイしてくれるなど
- Backlog, typetalk使ってる
- typetalkに何でも集約している
運用自動化時代のドキュメンテーション
運用設計ラボ 波田野氏
SLIDE: http://www.slideshare.net/opelab/20140620-jawsugtokyodocumentation
KAIZEN platform における運用自動化
KAIZEN platform 伊藤氏
SLIDE: https://speakerdeck.com/naoya/kaizen-platform-inc-niokeruyun-yong-zi-dong-hua
- ABテストツール「planBCD」
- フルAWS
- 「3度同じことを繰り返すときは自動化」という行動指針がある
- Chef + serverspec でサーバ構成自動化
- CircleCI を使ってインフラCI
- Chefレシピを GitHubにpushすると、CircleCI が自動で検知して、EC2を vagrant up
- 現在、CircleCI + Dockerで高速化に着手中
- ブランチ戦略
- masterからproductionへのデプロイタスクは、Pull Requestを使ってデプロイ
- デプロイPull Requestはチャット(hubot)で自動化
- リリース時のチェックリストをhubotが自動作成
- デプロイ前後は、End-to-Endテストで自動化
- CasperJS(UIを含めたチェック), BrowserStack(クロスブラウザチェック)
- もちろん CircleCIで回す
- テストの実行命令はチャットで
- 監視とモニタリング
- sensu + Mackerel (w/ CloudWatch)
- アラートは、PagerDuty
- 担当に電話してくれる
- その他
- 自動化を専門にしているチームがある
- 自動化よりも「形式知化」が重要。「誰でも実行できるようにする」
Sensu on AWS
Amazon 吉羽龍太郎氏 @ryuzee
SLIDE: https://speakerdeck.com/ryuzee/sensu-on-aws
- Chef実践入門は一人10冊
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)
- 作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴
- 出版社/メーカー: 技術評論社
- 発売日: 2014/05/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
- Sensu は、Ruby製オープンソースモニタリングフレームワーク
- Zabbixのようにオールインワンではない
- 簡素っぷりがたまらない
- RabbitMQが中心
- RabbitMQが死ぬと大変。可用性が重要
- API大事
- チェックスクリプトは、Client側に置く
- 開発言語は問わない(が、Rubyが簡単。便利なgemがある)
- Sensu Community Plugin に有用なプラグインがたくさん公開されている
- 監視する際の注意点
- SubscriberをServer側で設定(チェックの頻度とか)
- Dashboardはショボいので、Sensu Admin を使っている人が多い
- Handlerには好きな処理が書ける
- 例えば、Twillio, PagerDutyで電話掛けたりもできる
- Handler経由でGraphiteと連携したり
- AWSとの組み合わせ
- よくあるニーズ(1)
- CloudWatchのデータ保持期間を2週間以上にしたい
- 月額料金などのグラフをきれいにしたい
- AWSSDK + Sensu + Graphiteで解決!
- よくあるニーズ(3)
- サーバが起動したら自動で監視対象にしたい
- サーバが破棄されたら自動で監視対象から外したい
- OSの停止スクリプト+APIで解決!
- Sensu APIをコール
- curl -X DELETE http://xxx
ちょっといいSensuの話(仮)
cloudpack 山口氏
- 最近作った Sensu Plugin の話
- 雑感
- CloudWatchのAPIはクセが強い
- メモリがBytes単位でしか取れなかったり・・