SlideShare uma empresa Scribd logo
1 de 117
Baixar para ler offline
まだお祈りデプロイで 
消耗してるの? 
〜~ChatOpsによるデプロイ⾃自動化の話〜~ 
by papix (GaiaX Co. Ltd.)
papix (GaiaX Co. Ltd.) 
RD Div. Service Gr. 
• Infrastructure Engineer 
• Recruitment Officer 
• Perl Dragon 
• Perl Community Specialist 
• “Perl Entrance” headmaster 
 
papix 
_̲_̲papix_̲_̲ 
takayuki.fukumoto.92 
PAPIX 
Masteries 
http://masteries.papix.net/ 
_̲_̲papix_̲_̲ 
papics (Free materials)
突然ですが…
僕は怠惰です
怠惰って悪い事?
否!!!
プログラマの 
三⼤大美徳 
by Larry Wall 
(Perlの開発者)
怠惰 
〜~効率率率や再利利⽤用性の重視〜~
短気 
〜~処理理速度度の追求〜~
傲慢 
〜~品質にかける⾃自尊⼼心〜~
そう!
怠惰でいいんです!!
そんな私の 
最近の⽬目標は…
出社の⾃自動化!
考えてもみて下さい!
朝起きて…
飯⾷食って…
着替えたら…
⾃自分を⾃自動的に 
会社へデプロイ!!!
_⼈人⼈人⼈人⼈人⼈人⼈人⼈人_ 
> 最⾼高の世界観 < 
 ̄^Y^Y^Y^Y^ ̄
閑話休題
我々エンジニアは,
⽇日々怠惰になる為に 
頑張っている訳です
「⾯面倒なことは全部 
プログラムに任せてしまおう!」
その為に, ⽇日々 
コードを書いている訳です
エンジニアが 
⽣生きる中で…
と, ⾔言いたくなる 
ような事…
ありませんか!?
例例えばデプロイ
サーバに⼊入って…
サービス⽌止めて…
ミドルウェア⽌止めて…
サービス更更新して…
ミドルウェア⽴立立ち上げて…
サービス⽴立立ち上げて…
「頼む, 動いてくれェーッ!!!!!」
こういうの, 
何て⾔言うか知ってますか?
_⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人_ 
> お祈りデプロイ < 
 ̄^Y^Y^Y^Y^Y^ ̄
流流⽯石にここまでアレな例例は 
GaiaXではありませんが…
あ, でも…
先⽇日, 社内ツールの 
デプロイをした時…
⼿手順書通りにコトが進まず,
⾮非常に冷冷や汗を 
かきました
夢だったら良良かったんですが…
そこで考えました
「デプロイを全て 
⾃自動化してやろう」
「そして定期的に, 
Stagingサーバに 
デプロイしよう」
「そうすれば本番デプロイも 
安⼼心して取り組めるぞ!」
…⽅方針は決まりました
いいから 
⾃自動化だ 
 
!
デプロイ⾃自動化
いろいろなツールがあります 
• Capistorano (Ruby) 
• Fabric (Python) 
• Cinnamon (Perl)
お⼿手軽に試すなら 
構成管理理ツールでも良良さそう 
• Chef (Ruby) 
• Ansible (Python)
今回はAnsibleを使いました
理理由 
• 新⼈人研修で使っていて慣れていたから 
• 既にサーバの構成管理理にAnsibleを使っていたから
こうして平和が訪れました…
でも…
デプロイする時は, 
毎回コマンドを叩かないと 
いけませんよね
折⾓角なら, デプロイ実⾏行行も 
⾃自動化したくないですか?
コードをpushして…
CIが回って…
テストが全部通ったら…
Stagingサーバに⾃自動デプロイ!
こうすれば…
エンジニアはコードを書き, 
pushするだけでOK! 
※担当してるサービスは社内インフラが多いので, 
本番へのリリースは⼿手動でコマンド叩いています
やってみるか!
いくつかの⽅方法があります 
• CIが提供する機能で⾃自動デプロイ 
• CIツールがデプロイコマンドを叩く 
• Botがデプロイコマンドを叩く
Botがデプロイコマンドを叩く
BotによるChatでのOperation
ChatOps
昨年年辺り, Githubの 
Hubotを利利⽤用した事例例で 
有名になる
Kaizen Platformや 
nanapiでも 
導⼊入が進んでいるそうです
(╹◡╹) 
GaiaChan
「GaiaXでもChatOpsを 
取り⼊入れてみたい!」
「まずはその基盤を作ろう!」
しかし, HipChat向けの 
よしななBotツールがない… 
※GaiaXのエンジニアはチャットツールとして 
HipChatを使う事が多いです
…という事で,  
チーム配属後, 開発開始!
開発の余暇時間を使って, 
1ヶ⽉月で完成!!!
デモ
…と⾔言ったな
資料料全然終わりそうに 
デモできそうに 
 
ないので 
 
ないです〜~
すまん (´́・ω・`̀) 
 
GaiaChanのデモを⾒見見たい⽅方は 
後で声かけて下さい! お⾒見見せします!
そんなこんなで出来上がった 
GaiaChanを…
勝⼿手にチームに導⼊入!
チームの反響は!?
よし! ならば…
引き続き, 
CIの導⼊入をスタート
Wercker
CIといえば…
Jenkinsおじさんは?
管 理理 
「社内で介護できないので…」
Werckerを選んだ理理由 
• CIを社内で管理理しないでよい(外部サービス) 
• 現在, (private repo含めて)無料料で使える 
• 何より, Github/Bitbucketの両⽅方で使える 
※GaiaXではGitリポジトリ管理理にBitbucketを使っています
そんなこんなで 
Werckerをチームに導⼊入しました
そして次は…
GaiaChanとWerckerの連携!
こんな流流れが実現しました
1. エンジニアがコードを 
Bitbucketにpush
2. Werckerがpushを検知, 
テストを⾃自動実⾏行行
3. Werckerがテスト結果を 
HipChatに通知
4. 通知を受け, GaiaChanが 
⾃自動的にデプロイを命令令
5. 命令令を受けたGaiaChanは 
⾃自分(がいるサーバ)に 
デプロイスクリプトを実⾏行行
① 
③ 
④ 
⑤
DBマイグレーションとか 
課題は⼭山積みだけど…
ひとまず動くように 
なったぞ!!!!!
効果
常にデプロイが動く 
• Appの変更更でデプロイが失敗したら気がつく 
• 「いつもStgで通ってるし本番でもいけるよね」 
という精神的な安⼼心感
デプロイ記録がログに残る 
• チャットがログストレージになる 
• 「XXの機能, デプロイしたんで確認お願いします! 」 
とチャットでお願いすることができる
✌(ʻ‘ωʼ’✌ )三✌(ʻ‘ωʼ’)✌三( ✌ʻ‘ωʼ’)✌ 楽しい! 
• 現在会社にない技術, 仕組みを作るのは楽しい 
• ⾃自分が作ったツールで, 周りを楽にしていく達成感 
• こういう取り組みを推進し, 応援する流流れが 
あるのは, エンジニアとして最⾼高の環境
ご静聴ありがとうございました!

Mais conteúdo relacionado

Mais procurados

Rubyによるお手軽分散処理
Rubyによるお手軽分散処理Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
 

Mais procurados (20)

Matz presentation for Fukuoka Ruby Days 2010
Matz presentation for Fukuoka Ruby Days 2010Matz presentation for Fukuoka Ruby Days 2010
Matz presentation for Fukuoka Ruby Days 2010
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
KubeFlowでどこまでいける?
KubeFlowでどこまでいける?KubeFlowでどこまでいける?
KubeFlowでどこまでいける?
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私
 
Drupal補完計画
Drupal補完計画Drupal補完計画
Drupal補完計画
 
Live配信のワークフロー takusuta tech conf #1
Live配信のワークフロー takusuta tech conf #1 Live配信のワークフロー takusuta tech conf #1
Live配信のワークフロー takusuta tech conf #1
 
Babelで先取り次世代javascript
Babelで先取り次世代javascriptBabelで先取り次世代javascript
Babelで先取り次世代javascript
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
JAMstackは眠らない
JAMstackは眠らないJAMstackは眠らない
JAMstackは眠らない
 
AWS Auroraよもやま話
AWS Auroraよもやま話AWS Auroraよもやま話
AWS Auroraよもやま話
 
introduction of WalB
introduction of WalBintroduction of WalB
introduction of WalB
 
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
 
GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウド
 
Pykonjp2014
Pykonjp2014Pykonjp2014
Pykonjp2014
 

Semelhante a 採用LT「まだお祈りデプロイで消耗してるの?」

Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
 
20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove
Takao Oyobe
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
 

Semelhante a 採用LT「まだお祈りデプロイで消耗してるの?」 (20)

非同期系統の基礎
非同期系統の基礎非同期系統の基礎
非同期系統の基礎
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
 
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
 
Pandas / Dask / Vaex
Pandas / Dask / VaexPandas / Dask / Vaex
Pandas / Dask / Vaex
 
YAPC::Asia2015
YAPC::Asia2015YAPC::Asia2015
YAPC::Asia2015
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
apasec001-kawai
apasec001-kawaiapasec001-kawai
apasec001-kawai
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
 
20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 

Último

Último (11)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

採用LT「まだお祈りデプロイで消耗してるの?」