Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

マネーフォワードのコーポレートエンジニアがやっているSaaSの障害検知方法

こんにちは。 マネーフォワードでコーポレートエンジニアリングを担当している 下村 です。

コーポレートエンジニアリングって?という方は こちら をご参照下さい。
誤解を恐れず言えば、社内ITをハックする人 といった職種です。

今回は、弊部で実施している SaaSの障害検知方法 について共有させていただきます。

なぜSaaSの障害検知が必要なのか

我々、コーポレートエンジニアリングのミッションの一つに 社員にIT環境を安定して提供し続ける というものがあります。
ただ、障害によりSaaS製品がサービス停止になってしまうということもあります。

外部取引先との連携用に使っているSaaSなどもあるので、サービス停止してしまう=売上に影響してしまうような事態も発生してしまうこともあります。
(例:商談でWeb会議を使用しようとしていたがサービス停止により商談の機会を損失する、等)

サービス停止自体は我々では防ぎようがないので、せめてサービス停止時は 障害検知を迅速に行い、代替策の検討/提供の開始 など、被害を最小限に抑える行動が必要になります。

ではマネーフォワードのコーポレートエンジニアはどうやって障害検知しているか

あまりコストもかけたくなかったので、 Twitterのつぶやき をトリガーに障害検知しています。
具体的には下記のようにしています。

1. Twitterで管理対象のSaaSに対する障害情報をつぶやく人がいる。
2. その障害情報を元に、SaaS側公式の障害情報案内ページを確認  
3. 同タイミングで障害情報を元に手元で再現できないか検証

上記確認を行った後に、社内向けにアナウンスを行っています。

障害検知方法には色々と手段があると思いますが、 ユーザーの生の声 が情報鮮度が良いことから、こういった手法を採用しています。
なお、公式の障害情報案内ページではそもそも障害ステータスを案内してくれないケースもありますので、ユーザーの生の声じゃないとわからないこともあります。

障害ステータスが更新されなかった例

ただ、Twitterを常時眺めているわけにもいかないので、マネーフォワードでは
特定条件に合致したつぶやきをSlackに自動で通知するようにしました

次からはその方法を共有致します。

Twitterのつぶやきから障害検知を行う方法

お金をかけたくなかった&運用をシンプルにしたかったので、スプレッドシートとGoogle Apps Scriptで実装しました。
(ちなみに、この実装内容についてはGitHubリポジトリに公開しているので、流用すれば使えるようにしてあります。よろしければどうぞ。)

障害検知方法ですが、下記のような方法で実装しています。

  1. スプレッドシートに障害検知したい「SaaS名」と「障害とみなすつぶやきのキーワード」を記載。
    • 例:
      • SaaS名: ○△SaaS
      • 障害キーワード : 落ちた
  2. Google Apps Scriptで上記1の文言をTwitter APIを利用してTwitterから検索する処理を定期実行する。
  3. 障害に該当するメッセージのつぶやき数が多い場合、Slackに通知。

    • 短時間に数件の障害つぶやきがあれば、障害とみなしてSlackに通知するようにしています。理由は下記の通りです。
      • 1-2件のつぶやきでは誤報の可能性が高いため。
      • 感覚的には短時間に5件以上のTweetがあれば信用して良さそうと判断しています。(実運用でもそのような実装にしてます)
  4. 動作イメージ図

実績について

前述したTwitterのつぶやき検知の自動化により、2020年9月25日10時頃に発生したG Suite障害をいち早く検知することができました。 下記画像の時間を見て頂ければわかるのですが、障害発生からいち早く検知できています。
(なお、当時は G Suite ステータスダッシュボード はオールグリーンでした)

いち早くアナウンスしたことにより、営業側でも長期障害を想定した動きを実施いただくことができました。

終わりに

障害検知の方法は他にも色々とあると思いますが、コストをかけず かつ 運用方法も非常にシンプルにできている(スプレッドシートを更新すればいいだけなので学習コストが低い)ので個人的にはとても満足しています。
障害検知に悩んでいる情シスの方達の参考になれば、これ幸いです。

なお、マネーフォワードではコーポレートエンジニアを絶賛募集中です。 社内環境をハックしたい という人、ぜひご応募ください。

https://www.wantedly.com/projects/253855

--

【サイトのご案内】 ■マネーフォワード採用サイトWantedly京都開発拠点

【プロダクトのご紹介】 ■お金の見える化サービス 『マネーフォワード ME』 iPhone,iPad Android

ビジネス向けバックオフィス向け業務効率化ソリューション 『マネーフォワード クラウド』

おつり貯金アプリ 『しらたま』

お金の悩みを無料で相談 『マネーフォワード お金の相談』

だれでも貯まって増える お金の体質改善サービス 『マネーフォワード おかねせんせい』

金融商品の比較・申し込みサイト 『Money Forward Mall』

くらしの経済メディア 『MONEY PLUS』