Upgrade to Pro — share decks privately, control downloads, hide ads and more …

My How to Trouble shooting

2c4c0593c25d9de5db9f347ecfa3a5d5?s=47 Keita 240
September 16, 2020
420

My How to Trouble shooting

2c4c0593c25d9de5db9f347ecfa3a5d5?s=128

Keita 240

September 16, 2020
Tweet

Transcript

  1. #RAKUSMeetup ©2020 RAKUS Co., Ltd. ©2020 RAKUS Co., Ltd. 4年間のレガシーシステム運用から

    学んだトラブル対策の取り組み方 2020.9.16 配配メール開発課 西尾 敬太
  2. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 自己紹介 Work 前職 ・客先常駐メインのSierに入社 ・大半を某電機メーカー、某電子部品メーカーで過ごす

    ・基幹システムの設計~開発、保守運用に従事 現職 ・配配メール開発課に配属 ・配配メール/クルメルの2サービスを担当 ・運用業務全般、開発業務に従事 Private ・素潜り漁師歴10年 ・SUPボード歴2ヶ月 ・週末は海にいます
  3. #RAKUSMeetup ©2020 RAKUS Co., Ltd. ・リリースから13年、導入実績7,000社を誇るメール配信システム ・近年はメールマーケティング機能を強化

  4. #RAKUSMeetup ©2020 RAKUS Co., Ltd. ・来年でリリースから10年、様々なシステムのメール配信を支える ・豊富なAPI連携機能と大量配信に対応したプラン提供

  5. #RAKUSMeetup ©2020 RAKUS Co., Ltd. SaaS運用担当者が抱える悩み ・蓄積されていく運用課題 ・予期せぬトラブルの発生 ・ノウハウやナレッジの属人化 ・毎月のように発生するリリース作業

    And more …
  6. #RAKUSMeetup ©2020 RAKUS Co., Ltd. SaaS運用担当者が抱える悩み ・蓄積されていく運用課題 ・予期せぬトラブルの発生 ・ノウハウやナレッジの属人化 ・毎月のように発生するリリース作業

    And more …
  7. #RAKUSMeetup ©2020 RAKUS Co., Ltd. トラブル対応の難しさ • 全てのトラブルを未然に防ぐことは不可能(に近い) • 全てを自分たちで制御できないのがSaaSサービスの運用

  8. #RAKUSMeetup ©2020 RAKUS Co., Ltd. トラブル対応の難しさ • 全てのトラブルを未然に防ぐことは不可能(に近い) • 全てを自分たちで制御できないのがSaaSサービスの運用

    発生したトラブルをいかにスムーズに収束させるか Point
  9. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 今回お話ししたいこと • これまでにどんなトラブルを経験し、どう対応してきたか • その結果できあがったトラブル対応のフレームワーク

  10. #RAKUSMeetup ©2020 RAKUS Co., Ltd. メール系サービスにおける課題

  11. #RAKUSMeetup ©2020 RAKUS Co., Ltd. メール系サービスにおける課題 1. メールを「作る」 ・HTMLメール作成は仕様が複雑 ・多様化する受信デバイスや流行デザインなどの変化が著しい

    2. メールを「送る」 ・送るまでの手順が複雑 ・そもそもメールプロトコルや業界のルール自体がレガシー 3. メールが「届く」 ・送り先となる宛先に依存する ・送り元では送信した後の流れをコントロールできない
  12. #RAKUSMeetup ©2020 RAKUS Co., Ltd. トラブル事例その1 外部サービスの利用に伴うリスク (メールを「作る」編)

  13. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <課題> ※ 配配メールではHTMLエディタに海外のサービスを利用しています

    ※ • こちらでコントロールができない • 言語や時差によるタイムラグ(海外サービス) • 品質に対する根本的な考え方が日本と異なる(海外サービス)
  14. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <トラブル概要> • HTMLエディタのメジャーバージョンアップ

    • 大幅な機能追加とUI刷新 • 顧客からの評判も上々 • IEとの決別!
  15. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <トラブル概要> • HTMLエディタのメジャーバージョンアップ

    • 大幅な機能追加とUI刷新 • 顧客からの評判も上々 • IEとの決別! • 画像ファイル削除操作のメッセージ表記に誤り • 顧客がこれまでにアップロードしていた画像を全て消失 • 復旧できず・・・
  16. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <トラブル概要> ・ページ制御された1ページ目だけの件数が表示されている ・実際の操作は「全削除」であり2ページ目以降にも

    チェックがついている
  17. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <対応> •緊急処置(外側の問題) •

    早急なサービス提供事業者への クレーム 修正依頼 • 関連各部署への迅速な情報連携 • バージョン切り戻し •恒久対策(内側の問題) • 外部サービスの検証手順強化 → 検証観点のチェックリスト化 • バックアップ設計のチェック強化 → 設計観点への追加 • バックアップの仕組み構築
  18. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <気づき> • 導入には維持/運用コストも視野にいれた検討が大事

    • 自社開発と同等の品質検査の実施が必要
  19. #RAKUSMeetup ©2020 RAKUS Co., Ltd. トラブル事例その2 国内キャリアアドレスの負の遺産 (メールを「送る」編)

  20. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <課題> • RFCにより標準化されているものの、過去の経緯による存在する例外

  21. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <トラブル概要> • メールリレー機能の強化

    • TO宛ての配信だけでなく、CC/BCC宛ての配信も可能に
  22. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <トラブル概要> • メールリレー機能の強化

    • TO宛ての配信だけでなく、CC/BCC宛ての配信も可能に • アドレス書式チェックの内容はそのままに、アドレスの取得元を変更 • RFC違反アドレスを受け取った際のMW側での加工 • これらが引き金となり特殊アドレスへのメールが送信ができない状態に
  23. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <トラブル概要> 昔はよく見かけたこういうやつたち ..-_-..@docomo.ne.jp

    → @の直前、または先頭にピリオド ___...osakana…___@ezweb.ne.jp → 記号の連続
  24. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <トラブル概要> docomo公式サイト https://www.nttdocomo.co.jp/info/spam_mail/change_add/

  25. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <対応> •緊急処置(外側の問題) •

    関連各部署への迅速な情報連携 • バージョン切り戻しの検討 → 緊急リリースによる修正を実施 •恒久対策(内側の問題) • メール配信検証パターンの強化 → 「特殊アドレス一覧」を作成 • メール配信検証手順の強化 → 「重要機能テスト」への組み込み
  26. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <気づき> • システム構築時には考慮していたポイントが

    時間の経過や担当者の入れ替えにより失念することはありがち • 当時の常識やトラブルで得た経験などは属人化させず、 ナレッジをテストデータ化しておく
  27. #RAKUSMeetup ©2020 RAKUS Co., Ltd. トラブル事例その3 顧客誤操作による大量のエラー配信 (メールが「届く」編)

  28. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 3.顧客誤操作による大量のエラー配信 <課題> • 時に顧客はこちらの想定できない操作を行うもの •

    どの範囲までを予想し、どこまで対策を組み込んでおくか頭を悩ませる
  29. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 3.顧客誤操作による大量のエラー配信 <トラブル概要> • 顧客側システムにてクルメルとの連携試験を実施 •

    試験中は本番配信されないよう、クルメル側でもサーバ設定を実施 • 試験が無事終了したとの報告を受け、サーバ設定も元に戻す
  30. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 3.顧客誤操作による大量のエラー配信 <トラブル概要> • 顧客側システムにてクルメルとの連携試験を実施 •

    試験中は本番配信されないよう、クルメル側でもサーバ設定を実施 • 試験が無事終了したとの報告を受け、サーバ設定も元に戻す • 顧客誤操作により試験用のバッチが実行される • 大量のダミーアドレスに向けてメールが送信される • 全てがエラー(バウンス)メールとなり解析サーバがパンク • 他の顧客まで巻き込んだ解析遅延に陥る
  31. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 3.顧客誤操作による大量のエラー配信 <対応> •緊急処置(外側の問題) • 溜まり続けるメールキューの退避

    • トリガーとなった顧客への状況確認と再発防止依頼 •恒久対策(内側の問題) • 解析サーバの増設 → 配配メール用/クルメル用/高エラー配信顧客用とに分割 • DNSラウンドロビンの導入 → サーバ増設 + 負荷分散によるW対策 • 上記を一次対応とし、根本対応を検討中
  32. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 3.顧客誤操作による大量のエラー配信 <気づき> • あらかじめ全ての顧客操作を予想した仕組みを構築しておくことは不可能 •

    恒久対策にも「すぐできること」、「時間を要するもの」がある • リスク、再発性、コストのバランスで実施する対策を検討することが大切
  33. #RAKUSMeetup ©2020 RAKUS Co., Ltd. まとめ

  34. #RAKUSMeetup ©2020 RAKUS Co., Ltd. まとめ <トラブル発生時にすべきこと> ・まず外側の問題を素早く封じ込める! - サービスを再開させることを最優先に(被害を最小限に)

    - 優先順位付け - 関係者への報告・情報共有も重要 ・内側の問題は時間をかけて工夫する!! - 仕組みの導入や自動化 - 他部署との協力
  35. #RAKUSMeetup ©2020 RAKUS Co., Ltd. まとめ <トラブルを未然に防ぐための施策も忘れずに> ・重要機能の定義 ・各種チェックリスト化 ・ナレッジの蓄積/共有

    ・監視の仕組みを構築
  36. #RAKUSMeetup ©2020 RAKUS Co., Ltd. ご静聴ありがとうございました