Submit Search
Upload
Deploy to Lobi
•
1 like
•
6,061 views
Hiroaki Nagata
Follow
面白法人カヤックで運用しているLobiというサービスの、デプロイにまつわるはなし。 https://lobi.co/
Read less
Read more
Internet
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
チャットサービス運用の舞台裏
チャットサービス運用の舞台裏
Hiroaki Nagata
PHPで使うIPv6の実際
PHPで使うIPv6の実際
Tetsuji Koyama
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
Tetsuji Koyama
クラウド版も開発が進む LibreOfficeの最新動向と導入事例の紹介
クラウド版も開発が進む LibreOfficeの最新動向と導入事例の紹介
Shinji Enoki
【ITベンチャーを支えるテクノロジー】成長し続けるサービスを支える技術|ランサーズ株式会社
【ITベンチャーを支えるテクノロジー】成長し続けるサービスを支える技術|ランサーズ株式会社
leverages_event
What's LibreOffice Japanese Team / LibreOffice日本語チームってなんだろう?
What's LibreOffice Japanese Team / LibreOffice日本語チームってなんだろう?
Naruhiko Ogasawara
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
iCRAFT Corp. (アイクラフト株式会社)
LibreOfficeサポートビジネスを1年やってみました
LibreOfficeサポートビジネスを1年やってみました
iCRAFT Corp. (アイクラフト株式会社)
Recommended
チャットサービス運用の舞台裏
チャットサービス運用の舞台裏
Hiroaki Nagata
PHPで使うIPv6の実際
PHPで使うIPv6の実際
Tetsuji Koyama
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
Tetsuji Koyama
クラウド版も開発が進む LibreOfficeの最新動向と導入事例の紹介
クラウド版も開発が進む LibreOfficeの最新動向と導入事例の紹介
Shinji Enoki
【ITベンチャーを支えるテクノロジー】成長し続けるサービスを支える技術|ランサーズ株式会社
【ITベンチャーを支えるテクノロジー】成長し続けるサービスを支える技術|ランサーズ株式会社
leverages_event
What's LibreOffice Japanese Team / LibreOffice日本語チームってなんだろう?
What's LibreOffice Japanese Team / LibreOffice日本語チームってなんだろう?
Naruhiko Ogasawara
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
LibreOfficeとLibrePCについて in SIGGRAPH Asia 2015
iCRAFT Corp. (アイクラフト株式会社)
LibreOfficeサポートビジネスを1年やってみました
LibreOfficeサポートビジネスを1年やってみました
iCRAFT Corp. (アイクラフト株式会社)
オールアバウトのDevOpsとリリースフロー
オールアバウトのDevOpsとリリースフロー
Kazuto Ohara
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
sugimoto1022
OpenStack環境構築支援について
OpenStack環境構築支援について
Satoshi Konno
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
真一 藤川
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
DevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていること
Hiro Fukami
Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~
Yahoo!デベロッパーネットワーク
Nintendo Labo の子育て力
Nintendo Labo の子育て力
Masaru Shimbori
チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件
Tatsuya Sakai
Retty techcafe7 rettydevops
Retty techcafe7 rettydevops
Sunggyu Rhie
Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721
Norikazu Yura
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
Sho Yoshida
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
ナイル株式会社
#7はじめてのIT勉強会LT
#7はじめてのIT勉強会LT
Chinatsu Ozawa
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」
robotstart
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
LIFULL Co., Ltd.
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo!デベロッパーネットワーク
僕の視点で見たロリポップ!リブランディング〜開始からリリースまで〜
僕の視点で見たロリポップ!リブランディング〜開始からリリースまで〜
Keita Kawamoto
ATTEND biz サービス資料
ATTEND biz サービス資料
bizATTEND
More Related Content
Similar to Deploy to Lobi
オールアバウトのDevOpsとリリースフロー
オールアバウトのDevOpsとリリースフロー
Kazuto Ohara
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
sugimoto1022
OpenStack環境構築支援について
OpenStack環境構築支援について
Satoshi Konno
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
真一 藤川
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
DevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていること
Hiro Fukami
Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~
Yahoo!デベロッパーネットワーク
Nintendo Labo の子育て力
Nintendo Labo の子育て力
Masaru Shimbori
チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件
Tatsuya Sakai
Retty techcafe7 rettydevops
Retty techcafe7 rettydevops
Sunggyu Rhie
Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721
Norikazu Yura
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
Sho Yoshida
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
ナイル株式会社
#7はじめてのIT勉強会LT
#7はじめてのIT勉強会LT
Chinatsu Ozawa
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」
robotstart
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
LIFULL Co., Ltd.
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo!デベロッパーネットワーク
僕の視点で見たロリポップ!リブランディング〜開始からリリースまで〜
僕の視点で見たロリポップ!リブランディング〜開始からリリースまで〜
Keita Kawamoto
ATTEND biz サービス資料
ATTEND biz サービス資料
bizATTEND
Similar to Deploy to Lobi
(20)
オールアバウトのDevOpsとリリースフロー
オールアバウトのDevOpsとリリースフロー
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
OpenStack環境構築支援について
OpenStack環境構築支援について
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
DevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていること
Hadoop~Yahoo! JAPANの活用について~
Hadoop~Yahoo! JAPANの活用について~
Nintendo Labo の子育て力
Nintendo Labo の子育て力
チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件
Retty techcafe7 rettydevops
Retty techcafe7 rettydevops
Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
#7はじめてのIT勉強会LT
#7はじめてのIT勉強会LT
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT⑦
僕の視点で見たロリポップ!リブランディング〜開始からリリースまで〜
僕の視点で見たロリポップ!リブランディング〜開始からリリースまで〜
ATTEND biz サービス資料
ATTEND biz サービス資料
Deploy to Lobi
1.
DEPLOY TO LOBI @handlename KAYAC
Inc.
2.
WHO AM I? 長田洸明(ながたひろあき) @handlename 2010年新卒入社 Lobiのサーバーサイドエンジニア
3.
INDEX こんなことをはなします Lobiとはなんぞや デプロイの仕組みいまむかし デプロイするときにやっていること
4.
ABOUT LOBI Lobiとはなんぞや
5.
LOBI https://lobi.co/
6.
LOBI サービスについて チャットをメインコンテンツとしたSNS 2010年からサービス提供している iOS/Android/Web版 DAU等は非公開/サーバー数十~百台規模 Amazon Web Service上で稼働
7.
公開グループ数は50万弱 連携アプリは・・・
8.
LOBI 運用・開発チームについて チームメンバーは40名弱 サーバーサイドエンジニアは10名ほど 全てのサーバーサイドエンジニアにデプロイ権がある 毎日十数回のデプロイが発生
9.
入社から日が浅いメンバー・外部パートナーは除く 細かくデプロイして確認範囲を小さくする方針 デプロイ作業を日常化する→仕組み化される MEもデプロイしてる
10.
HISTORY OF DEPLOY
SYSTEM デプロイの仕組みいまむかし
11.
HISTORY 2010~git pull 2013~rsync 2015~stretcher
12.
GIT PULL $ git
pull origin master
13.
GIT PULL git repo
-> servers 2010年~ 小規模では便利だった 本番サーバーでgit pullするだけ いま何がデプロイされているのかが分かる
14.
GIT PULL しかし・・・ 規模が大きくなるとつらい 巨大な.gitディレクトリ 新規ホストでcloneが終わらない
15.
RSYNC $ rsync -avn
src server:/path/to/dst
16.
RSYNC deploy server ->
servers 2013年~ git pullに耐えられなくなった頃に乗り換え 本番環境に必要なファイルだけrsync 余計なファイルがないのでディスクに余裕 新規ホストのセットアップもつらくない
17.
のちにgnu parallelを使用 Archer使ってた
18.
しかし・・・ 更に規模が大きくなるとつらい デプロイサーバーの帯域が埋まる デプロイサーバーが死ぬと新規ホストが上がらない
19.
STRETCHER https://github.com/fujiwara/stretcher
20.
STRETCHER $ consul watch
-type event -name deploy stretcher 2015年~ rsyncに耐えられなくなった頃に乗り換え consul/serfのイベントを利用したデプロイツール refs AWS CodeDeploy, mamiya
21.
STRETCHER daemontools serviceとして exec setuidgid
app consul watch # consulで -type event # eventの発火を待つ -name deploy # 対象は"deploy"という名前のevent stretcher # eventが発火したらstretcherを起動
22.
STRETCHER consul eventでmanifest.ymlのURIが送られる stretcherはmanifest.ymlを見てデプロイ処理を実行
23.
MANIFEST.YML デプロイするべきtarballの場所 デプロイ先のパス デプロイの前処理・後処理 デプロイ成功・失敗時の処理
24.
MANIFEST.YML src: s3://path/to/tarball checksum: deea122cf66dd796ee46efb3cacd1e86d6a348af0a5cf5d61b88068f532917f6 dest:
/path/to/dest commands: pre: - ...(デプロイの前処理:クリーンアップとか) post: - ...(デプロイの後処理:アプリの再起動とか) success: - ...(成功時の処理) failure: - ...(失敗時の処理)
25.
STRETCHER IN LOBI manifest.ymlのテンプレートから生成 tarballはS3に保存 アプリの更新もプロビジョニングもstretcherで 前処理でデプロイ操作の通知 後処理でアプリケーションの再起動、など
26.
プロビジョニングにはchefを使用 stretcherにする前はchef serverを使っていた いまはstretcherでchef-soloを実行 ホスト一台で処理が完結する
27.
AROUND DEPLOY デプロイするときにやっていること
28.
AROUND DEPLOY Slack botでデプロイ前チェック・周知 Consul
KV Dashboardに状態を記録 Google Calendarにデプロイ履歴を記録 etc.
29.
SLACK BOT
30.
SLACK BOT nukoというbotがいる CI通過していないと教えてくれる 花金デプロイしようとするとめっちゃ怒る
31.
SLACK BOT
32.
SLACK BOT
33.
CONSUL KV DASHBOARD https://github.com/fujiwara/consul-kv-dashboard
34.
CONSUL KV DASHBOARD 各ホストのデプロイ状況を一覧 デプロイ処理に失敗したらアラート
35.
CONSUL KV DASHBOARD
36.
GOOGLE CALENDAR
37.
GOOGLE CALENDAR デプロイ作業時間を予定として記録 いつ誰が何をデプロイしたのかが分かる
38.
GOOGLE CALENDAR
39.
MORE Rundeckからデプロイ実行 デプロイロック 一台だけデプロイ Lambda functionのデプロイ DBスキーマ変更適用 ユニコーンが出たら etc.
40.
THANK YOU!!
41.
APPENDIX ファイル更新もchef実行もstretcherで!Lobiをデプロイ するときにやっていること- KAYAC engineers'
blog RedashとRundeckで安全・安心なサービス運用- KAYAC engineers' blog #10 Consulと連携するpull型デプロイツールstretcher - KAYAC engineers' blog LobiにおけるConsul活用事例- KAYAC engineers' blog
Download now