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

My How to Trouble shooting

Keita 240
September 16, 2020
1.1k

My How to Trouble shooting

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. メール系サービスにおける課題 1. メールを「作る」 ・HTMLメール作成は仕様が複雑 ・多様化する受信デバイスや流行デザインなどの変化が著しい

    2. メールを「送る」 ・送るまでの手順が複雑 ・そもそもメールプロトコルや業界のルール自体がレガシー 3. メールが「届く」 ・送り先となる宛先に依存する ・送り元では送信した後の流れをコントロールできない
  4. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <課題> ※ 配配メールではHTMLエディタに海外のサービスを利用しています

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

    • 大幅な機能追加とUI刷新 • 顧客からの評判も上々 • IEとの決別! • 画像ファイル削除操作のメッセージ表記に誤り • 顧客がこれまでにアップロードしていた画像を全て消失 • 復旧できず・・・
  6. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 1. 外部サービスの利用に伴うリスク <対応> •緊急処置(外側の問題) •

    早急なサービス提供事業者への クレーム 修正依頼 • 関連各部署への迅速な情報連携 • バージョン切り戻し •恒久対策(内側の問題) • 外部サービスの検証手順強化 → 検証観点のチェックリスト化 • バックアップ設計のチェック強化 → 設計観点への追加 • バックアップの仕組み構築
  7. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <トラブル概要> • メールリレー機能の強化

    • TO宛ての配信だけでなく、CC/BCC宛ての配信も可能に • アドレス書式チェックの内容はそのままに、アドレスの取得元を変更 • RFC違反アドレスを受け取った際のMW側での加工 • これらが引き金となり特殊アドレスへのメールが送信ができない状態に
  8. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 2. 国内キャリアアドレスの負の遺産 <対応> •緊急処置(外側の問題) •

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

    時間の経過や担当者の入れ替えにより失念することはありがち • 当時の常識やトラブルで得た経験などは属人化させず、 ナレッジをテストデータ化しておく
  10. #RAKUSMeetup ©2020 RAKUS Co., Ltd. 3.顧客誤操作による大量のエラー配信 <トラブル概要> • 顧客側システムにてクルメルとの連携試験を実施 •

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

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

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

    恒久対策にも「すぐできること」、「時間を要するもの」がある • リスク、再発性、コストのバランスで実施する対策を検討することが大切
  14. #RAKUSMeetup ©2020 RAKUS Co., Ltd. まとめ <トラブル発生時にすべきこと> ・まず外側の問題を素早く封じ込める! - サービスを再開させることを最優先に(被害を最小限に)

    - 優先順位付け - 関係者への報告・情報共有も重要 ・内側の問題は時間をかけて工夫する!! - 仕組みの導入や自動化 - 他部署との協力