Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
U30エンジニアだからこそ実現できた劇的ビフォーアフター #bcu30
Search
Hiroki Tanaka
April 21, 2018
1
4.2k
U30エンジニアだからこそ実現できた劇的ビフォーアフター #bcu30
Hiroki Tanaka
April 21, 2018
Tweet
Share
More Decks by Hiroki Tanaka
See All by Hiroki Tanaka
ISUCONボツ技かるた / ISUCON Reject Karuta
dabits
0
64
DockerCIビルドを一歩先へ Buildkitを運用前提で試食してみた / Docker ci with buildkit
dabits
0
130
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
A Modern Web Designer's Workflow
chriscoyier
693
190k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Navigating Team Friction
lara
183
14k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Fireside Chat
paigeccino
34
3k
Become a Pro
speakerdeck
PRO
25
5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Building Applications with DynamoDB
mza
90
6.1k
Unsuck your backbone
ammeep
668
57k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
©2018 Ateam Lifestyle Inc. U30エンジニアだからこそ実現できた 劇的ビフォーアフター 株式会社エイチーム ライフスタイルサポート事業本部 エイチームライフスタイル 技術開発部
リードエンジニア 田中宏紀
©2018 Ateam Lifestyle Inc. 自己紹介/経歴紹介 所属 : エイチームライフスタイル 技術開発部 リードエンジニア
名前 : 田中宏紀 a.k.a だびっつ Id : @dabits 経歴 : ・misocaの前身, 受託の開発 ・サン電子 BLのソシャゲ開発/運営 ・金融事業->ヘルスケア事業->技術開発部 趣味 : アニソンDJ
©2018 Ateam Lifestyle Inc. 会社紹介/事業紹介 ・株式会社エイチーム ・本社: 名古屋/ 東京・大阪・福岡オフィス ・エンターテインメント事業 EC事業
・ライフスタイルサポート事業
©2018 Ateam Lifestyle Inc.
©2018 Ateam Lifestyle Inc. テーマ : U30・技術浸透・ビフォーアフター ・学生・新卒と話す機会が多かった ・エンジニア≒新しい技術が好き ・好きな技術を浸透させきれずもったいない人も
©2018 Ateam Lifestyle Inc. どういった手順を踏んで 浸透させたのかを事実ベースで
©2018 Ateam Lifestyle Inc.
©2018 Ateam Lifestyle Inc. 2017年7月〜2018年2月にやってきたこと
©2018 Ateam Lifestyle Inc. やってきたこと
©2018 Ateam Lifestyle Inc. やってきたこと ・Excel手動集計,エンジニア都度集計 →Redash+Prestoで自動化 ・Redmineのチケット運用&コマンドでリリース →Gitlab+Gitlab-CIで自動化 ・デザイン確認待ち中別環境作って開発
→デザイン確認用環境をDocker+ECS+Gitlab-CI自動作成へ ・障害検出報告がメールのみで行われる文化 →Kibana+ElastAlert+Newrelic+Sentry+Chatworkへ
©2018 Ateam Lifestyle Inc. スライド枚数150枚超え
©2018 Ateam Lifestyle Inc. スライド枚数150枚超え
©2018 Ateam Lifestyle Inc. やってきたこと ・Excel手動集計,エンジニア都度集計 →Redash+Prestoで自動化 ・Redmineのチケット運用&コマンドでリリース →Gitlab+Gitlab-CIで自動化 ・デザイン確認待ち中別環境作って開発
→デザイン確認用環境をDocker+ECS+Gitlab-CI自動作成へ ・障害検出報告がメールのみで行われる文化 →Kibana+ElastAlert+Newrelic+Sentry+Chatworkへ
©2018 Ateam Lifestyle Inc.
©2018 Ateam Lifestyle Inc. ここからビフォーアフター フォーマットで お送りします
©2018 Ateam Lifestyle Inc. ビフォー : 障害検出報告メール文化 ・太古の昔、障害検出フローがメールベースで整えられた ・時が数年経ち、事業・人数が増えると... デーモンログ
アプリケーションログ収集 サーバメトリクス収集 内製ログ→メールスクリプト
©2018 Ateam Lifestyle Inc. ビフォー : 障害検出報告メール文化 ・サービス数分だけログが増えて鳴り止まないメール ・担当者が定まらず一丸で対応にあたるので疲弊 ・メンテされずスルーしてくださいが増えオオカミ少年化
©2018 Ateam Lifestyle Inc. やっとれん
©2018 Ateam Lifestyle Inc. でも
©2018 Ateam Lifestyle Inc. 長い期間フローが定着してしまっているので 急には変えづらい
©2018 Ateam Lifestyle Inc. どう乗り越えたか
©2018 Ateam Lifestyle Inc. リフォームの全貌を お見せしましょう
©2018 Ateam Lifestyle Inc. 匠の技1 : Mail2Chatworkを準備 ・内製のLambdaスクリプト ・メール送るとLambda経由でChatworkAPIに投げてくれる ・個別にチャットのToが送れるように拡張
保存 APIで投稿 AWS Lambda イベントフック AWS S3 AWS SES
©2018 Ateam Lifestyle Inc. 匠の技1 : Mail2Chatworkを導入 ・アプリエラーログ通知をメールからチャット通知に変更 ・緊急対応=メール、気づいたら対応=チャットのフローへ
©2018 Ateam Lifestyle Inc. とりあえず 緊急対応件数は減りました
©2018 Ateam Lifestyle Inc. 匠の技2 : ElastAlertを準備 ・Yelp社製OSS ・Elasticsearchに定期的にクエリを投げて監視 ・しきい値に達したらAlertアクションを実施
ログ集約 保存 定期的に監視 検出したら発報 Fluentd Elasticsearch ElastAlert
©2018 Ateam Lifestyle Inc. 匠の技2 : ElastAlertを導入 ・優先度高いエラーをメールで発報 ・優先高=ユーザに直ちに影響がある ・5xx系エラー
・レスポンス遅延
©2018 Ateam Lifestyle Inc. 本当に対応すべき障害が 判るようになりました !重要! 軽め
©2018 Ateam Lifestyle Inc. 匠の技3 : Sentryを準備 ・アプリに組み込むとエラーを収集してIssueにしてくれる ・新規・件数跳ねたエラーを通知してくれる 検出したら発報
SDKがログを送信
©2018 Ateam Lifestyle Inc.
©2018 Ateam Lifestyle Inc.
©2018 Ateam Lifestyle Inc. 匠の技3 : Sentryを導入 ・チャットに流していたアプリエラーを止めSentryへ移管 ・新規エラーと件数スパイクはメールで通知されるように
©2018 Ateam Lifestyle Inc. 本当に修正すべきバグが 判るようになりました !重要! 軽め
©2018 Ateam Lifestyle Inc. 匠の技4 : 通知先をチャットへ ・緊急対応の対象をメール→チャットへ変更するとアナウンス ・ElastAlert・Sentryからの通知を全てMail2Chatwork経由に
©2018 Ateam Lifestyle Inc. その結果...
©2018 Ateam Lifestyle Inc. アフター : 担当者が率先して気付き対応 ・影響がある事業の担当者にToが付くようになった ・自身の担当している事業の障害に気付きやすくなった
©2018 Ateam Lifestyle Inc. アフター : 返信やディスカッションが迅速に ・メールはレスポンス遅い、チャットは早い ・対応者への打ち返しが速くなった
©2018 Ateam Lifestyle Inc. アフター : 勤務時間外対応の判断が迅速に ・ElastAlertからの通知を基本的に対応要とする ・必要な情報は本文にほぼ記載
©2018 Ateam Lifestyle Inc. 無事にリフォーム完了
©2018 Ateam Lifestyle Inc.
©2018 Ateam Lifestyle Inc. 進めてみて 大切だと感じたところ
©2018 Ateam Lifestyle Inc. 大切だと感じたところ 1. 入れたい技術とニーズを結びつける ・組織にはまらない技術はエゴになりがち =浸透しにくい
©2018 Ateam Lifestyle Inc. 大切だと感じたところ 2. 定着できるペースを考えて進める ・急に変えたり強行すると定着しない ・期限は決めるけど長い目でみる
©2018 Ateam Lifestyle Inc. 大切だと感じたところ 3. 「新しいかどうか」より 「気持ちいいかどうか」で決める ・新しくてもしんどい技術は長く続かない
©2018 Ateam Lifestyle Inc. 気持ちいい最新の技術を追えるのはU30だけ
©2018 Ateam Lifestyle Inc. 若いからこそのセンスを活かして 社内に技術の革命を起こそう!
©2018 Ateam Lifestyle Inc. ご清聴ありがとうございました
©2018 Ateam Lifestyle Inc.