Slide 1

Slide 1 text

©2018 Ateam Lifestyle Inc. U30エンジニアだからこそ実現できた 劇的ビフォーアフター 株式会社エイチーム ライフスタイルサポート事業本部 エイチームライフスタイル 技術開発部 リードエンジニア 田中宏紀

Slide 2

Slide 2 text

©2018 Ateam Lifestyle Inc. 自己紹介/経歴紹介 所属 : エイチームライフスタイル    技術開発部    リードエンジニア 名前 : 田中宏紀 a.k.a だびっつ Id : @dabits 経歴 : ・misocaの前身, 受託の開発    ・サン電子 BLのソシャゲ開発/運営    ・金融事業->ヘルスケア事業->技術開発部 趣味 : アニソンDJ

Slide 3

Slide 3 text

©2018 Ateam Lifestyle Inc. 会社紹介/事業紹介 ・株式会社エイチーム ・本社: 名古屋/ 東京・大阪・福岡オフィス ・エンターテインメント事業           EC事業 ・ライフスタイルサポート事業

Slide 4

Slide 4 text

©2018 Ateam Lifestyle Inc.

Slide 5

Slide 5 text

©2018 Ateam Lifestyle Inc. テーマ : U30・技術浸透・ビフォーアフター ・学生・新卒と話す機会が多かった ・エンジニア≒新しい技術が好き ・好きな技術を浸透させきれずもったいない人も

Slide 6

Slide 6 text

©2018 Ateam Lifestyle Inc. どういった手順を踏んで 浸透させたのかを事実ベースで

Slide 7

Slide 7 text

©2018 Ateam Lifestyle Inc.

Slide 8

Slide 8 text

©2018 Ateam Lifestyle Inc. 2017年7月〜2018年2月にやってきたこと

Slide 9

Slide 9 text

©2018 Ateam Lifestyle Inc. やってきたこと

Slide 10

Slide 10 text

©2018 Ateam Lifestyle Inc. やってきたこと ・Excel手動集計,エンジニア都度集計  →Redash+Prestoで自動化 ・Redmineのチケット運用&コマンドでリリース  →Gitlab+Gitlab-CIで自動化 ・デザイン確認待ち中別環境作って開発  →デザイン確認用環境をDocker+ECS+Gitlab-CI自動作成へ ・障害検出報告がメールのみで行われる文化  →Kibana+ElastAlert+Newrelic+Sentry+Chatworkへ

Slide 11

Slide 11 text

©2018 Ateam Lifestyle Inc. スライド枚数150枚超え

Slide 12

Slide 12 text

©2018 Ateam Lifestyle Inc. スライド枚数150枚超え

Slide 13

Slide 13 text

©2018 Ateam Lifestyle Inc. やってきたこと ・Excel手動集計,エンジニア都度集計  →Redash+Prestoで自動化 ・Redmineのチケット運用&コマンドでリリース  →Gitlab+Gitlab-CIで自動化 ・デザイン確認待ち中別環境作って開発  →デザイン確認用環境をDocker+ECS+Gitlab-CI自動作成へ ・障害検出報告がメールのみで行われる文化  →Kibana+ElastAlert+Newrelic+Sentry+Chatworkへ

Slide 14

Slide 14 text

©2018 Ateam Lifestyle Inc.

Slide 15

Slide 15 text

©2018 Ateam Lifestyle Inc. ここからビフォーアフター フォーマットで お送りします

Slide 16

Slide 16 text

©2018 Ateam Lifestyle Inc. ビフォー : 障害検出報告メール文化 ・太古の昔、障害検出フローがメールベースで整えられた ・時が数年経ち、事業・人数が増えると... デーモンログ アプリケーションログ収集 サーバメトリクス収集 内製ログ→メールスクリプト

Slide 17

Slide 17 text

©2018 Ateam Lifestyle Inc. ビフォー : 障害検出報告メール文化 ・サービス数分だけログが増えて鳴り止まないメール ・担当者が定まらず一丸で対応にあたるので疲弊 ・メンテされずスルーしてくださいが増えオオカミ少年化

Slide 18

Slide 18 text

©2018 Ateam Lifestyle Inc. やっとれん

Slide 19

Slide 19 text

©2018 Ateam Lifestyle Inc. でも

Slide 20

Slide 20 text

©2018 Ateam Lifestyle Inc. 長い期間フローが定着してしまっているので 急には変えづらい

Slide 21

Slide 21 text

©2018 Ateam Lifestyle Inc. どう乗り越えたか

Slide 22

Slide 22 text

©2018 Ateam Lifestyle Inc. リフォームの全貌を お見せしましょう

Slide 23

Slide 23 text

©2018 Ateam Lifestyle Inc. 匠の技1 : Mail2Chatworkを準備 ・内製のLambdaスクリプト ・メール送るとLambda経由でChatworkAPIに投げてくれる ・個別にチャットのToが送れるように拡張 保存 APIで投稿 AWS Lambda イベントフック AWS S3 AWS SES

Slide 24

Slide 24 text

©2018 Ateam Lifestyle Inc. 匠の技1 : Mail2Chatworkを導入 ・アプリエラーログ通知をメールからチャット通知に変更 ・緊急対応=メール、気づいたら対応=チャットのフローへ

Slide 25

Slide 25 text

©2018 Ateam Lifestyle Inc. とりあえず 緊急対応件数は減りました

Slide 26

Slide 26 text

©2018 Ateam Lifestyle Inc. 匠の技2 : ElastAlertを準備 ・Yelp社製OSS ・Elasticsearchに定期的にクエリを投げて監視 ・しきい値に達したらAlertアクションを実施 ログ集約 保存 定期的に監視 検出したら発報 Fluentd Elasticsearch ElastAlert

Slide 27

Slide 27 text

©2018 Ateam Lifestyle Inc. 匠の技2 : ElastAlertを導入 ・優先度高いエラーをメールで発報 ・優先高=ユーザに直ちに影響がある  ・5xx系エラー  ・レスポンス遅延

Slide 28

Slide 28 text

©2018 Ateam Lifestyle Inc. 本当に対応すべき障害が 判るようになりました !重要! 軽め

Slide 29

Slide 29 text

©2018 Ateam Lifestyle Inc. 匠の技3 : Sentryを準備 ・アプリに組み込むとエラーを収集してIssueにしてくれる ・新規・件数跳ねたエラーを通知してくれる 検出したら発報 SDKがログを送信

Slide 30

Slide 30 text

©2018 Ateam Lifestyle Inc.

Slide 31

Slide 31 text

©2018 Ateam Lifestyle Inc.

Slide 32

Slide 32 text

©2018 Ateam Lifestyle Inc. 匠の技3 : Sentryを導入 ・チャットに流していたアプリエラーを止めSentryへ移管 ・新規エラーと件数スパイクはメールで通知されるように

Slide 33

Slide 33 text

©2018 Ateam Lifestyle Inc. 本当に修正すべきバグが 判るようになりました !重要! 軽め

Slide 34

Slide 34 text

©2018 Ateam Lifestyle Inc. 匠の技4 : 通知先をチャットへ ・緊急対応の対象をメール→チャットへ変更するとアナウンス ・ElastAlert・Sentryからの通知を全てMail2Chatwork経由に

Slide 35

Slide 35 text

©2018 Ateam Lifestyle Inc. その結果...

Slide 36

Slide 36 text

©2018 Ateam Lifestyle Inc. アフター : 担当者が率先して気付き対応 ・影響がある事業の担当者にToが付くようになった ・自身の担当している事業の障害に気付きやすくなった

Slide 37

Slide 37 text

©2018 Ateam Lifestyle Inc. アフター : 返信やディスカッションが迅速に ・メールはレスポンス遅い、チャットは早い ・対応者への打ち返しが速くなった

Slide 38

Slide 38 text

©2018 Ateam Lifestyle Inc. アフター : 勤務時間外対応の判断が迅速に ・ElastAlertからの通知を基本的に対応要とする ・必要な情報は本文にほぼ記載

Slide 39

Slide 39 text

©2018 Ateam Lifestyle Inc. 無事にリフォーム完了

Slide 40

Slide 40 text

©2018 Ateam Lifestyle Inc.

Slide 41

Slide 41 text

©2018 Ateam Lifestyle Inc. 進めてみて 大切だと感じたところ

Slide 42

Slide 42 text

©2018 Ateam Lifestyle Inc. 大切だと感じたところ 1. 入れたい技術とニーズを結びつける  ・組織にはまらない技術はエゴになりがち    =浸透しにくい

Slide 43

Slide 43 text

©2018 Ateam Lifestyle Inc. 大切だと感じたところ 2. 定着できるペースを考えて進める  ・急に変えたり強行すると定着しない  ・期限は決めるけど長い目でみる

Slide 44

Slide 44 text

©2018 Ateam Lifestyle Inc. 大切だと感じたところ 3. 「新しいかどうか」より  「気持ちいいかどうか」で決める  ・新しくてもしんどい技術は長く続かない

Slide 45

Slide 45 text

©2018 Ateam Lifestyle Inc. 気持ちいい最新の技術を追えるのはU30だけ

Slide 46

Slide 46 text

©2018 Ateam Lifestyle Inc. 若いからこそのセンスを活かして 社内に技術の革命を起こそう!

Slide 47

Slide 47 text

©2018 Ateam Lifestyle Inc. ご清聴ありがとうございました

Slide 48

Slide 48 text

©2018 Ateam Lifestyle Inc.