U30エンジニアだからこそ実現できた劇的ビフォーアフター #bcu30

Dd276c4366435466f92c96ffb09a1bbb?s=47 Hiroki Tanaka
April 21, 2018
3k

U30エンジニアだからこそ実現できた劇的ビフォーアフター #bcu30

Dd276c4366435466f92c96ffb09a1bbb?s=128

Hiroki Tanaka

April 21, 2018
Tweet

Transcript

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

    リードエンジニア 田中宏紀
  2. ©2018 Ateam Lifestyle Inc. 自己紹介/経歴紹介 所属 : エイチームライフスタイル    技術開発部    リードエンジニア

    名前 : 田中宏紀 a.k.a だびっつ Id : @dabits 経歴 : ・misocaの前身, 受託の開発    ・サン電子 BLのソシャゲ開発/運営    ・金融事業->ヘルスケア事業->技術開発部 趣味 : アニソンDJ
  3. ©2018 Ateam Lifestyle Inc. 会社紹介/事業紹介 ・株式会社エイチーム ・本社: 名古屋/ 東京・大阪・福岡オフィス ・エンターテインメント事業           EC事業

    ・ライフスタイルサポート事業
  4. ©2018 Ateam Lifestyle Inc.

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

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

  7. ©2018 Ateam Lifestyle Inc.

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

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

  10. ©2018 Ateam Lifestyle Inc. やってきたこと ・Excel手動集計,エンジニア都度集計  →Redash+Prestoで自動化 ・Redmineのチケット運用&コマンドでリリース  →Gitlab+Gitlab-CIで自動化 ・デザイン確認待ち中別環境作って開発

     →デザイン確認用環境をDocker+ECS+Gitlab-CI自動作成へ ・障害検出報告がメールのみで行われる文化  →Kibana+ElastAlert+Newrelic+Sentry+Chatworkへ
  11. ©2018 Ateam Lifestyle Inc. スライド枚数150枚超え

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

  13. ©2018 Ateam Lifestyle Inc. やってきたこと ・Excel手動集計,エンジニア都度集計  →Redash+Prestoで自動化 ・Redmineのチケット運用&コマンドでリリース  →Gitlab+Gitlab-CIで自動化 ・デザイン確認待ち中別環境作って開発

     →デザイン確認用環境をDocker+ECS+Gitlab-CI自動作成へ ・障害検出報告がメールのみで行われる文化  →Kibana+ElastAlert+Newrelic+Sentry+Chatworkへ
  14. ©2018 Ateam Lifestyle Inc.

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

  16. ©2018 Ateam Lifestyle Inc. ビフォー : 障害検出報告メール文化 ・太古の昔、障害検出フローがメールベースで整えられた ・時が数年経ち、事業・人数が増えると... デーモンログ

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

  18. ©2018 Ateam Lifestyle Inc. やっとれん

  19. ©2018 Ateam Lifestyle Inc. でも

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

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

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

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

    保存 APIで投稿 AWS Lambda イベントフック AWS S3 AWS SES
  24. ©2018 Ateam Lifestyle Inc. 匠の技1 : Mail2Chatworkを導入 ・アプリエラーログ通知をメールからチャット通知に変更 ・緊急対応=メール、気づいたら対応=チャットのフローへ

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

  26. ©2018 Ateam Lifestyle Inc. 匠の技2 : ElastAlertを準備 ・Yelp社製OSS ・Elasticsearchに定期的にクエリを投げて監視 ・しきい値に達したらAlertアクションを実施

    ログ集約 保存 定期的に監視 検出したら発報 Fluentd Elasticsearch ElastAlert
  27. ©2018 Ateam Lifestyle Inc. 匠の技2 : ElastAlertを導入 ・優先度高いエラーをメールで発報 ・優先高=ユーザに直ちに影響がある  ・5xx系エラー

     ・レスポンス遅延
  28. ©2018 Ateam Lifestyle Inc. 本当に対応すべき障害が 判るようになりました !重要! 軽め

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

    SDKがログを送信
  30. ©2018 Ateam Lifestyle Inc.

  31. ©2018 Ateam Lifestyle Inc.

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

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

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

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

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

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

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

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

  40. ©2018 Ateam Lifestyle Inc.

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

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

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

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

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

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

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

  48. ©2018 Ateam Lifestyle Inc.