業務を止めないために水面下でジタバタする

こんにちは、金春です。

今日のブログは、書くかどうか悩んだんですが、誰かが言わないといけないと思うので書くことにしました。 みなさん、kintone便利に使われていると思います。プラグインや連携サービスを活用してkintoneを拡張している方もたくさんいらっしゃると思います。

便利に使っていればいるほど、突然使えなくなると困りますよね?

この記事の執筆日の前日2021年4月14日にkintone界隈でとあるトラブルがありました。そのトラブルから言えることが今回のテーマです。実は、結構水面下でジタバタしてるんですよ、というお話でもあります。

トラブルの概要

午後1時過ぎくらいから、ツイッターで「kintoneが重くて開かない」「業務が止まった」というようなツイートがたくさん見られるようになりました。

ツイッターでは、某社のプラグインが動作していないからだということが共有され、そのプラグインを一時的に無効にしたら開くようになったという対処方法も共有されていました。

こういう時、kintoneコミュニティの情報共有はすばらしく機能していて、ツイッターの情報に救われたという方もたくさんいたんじゃないかと思います。

その後、プラグインの開発元に問い合わせた方からの情報も共有され、プラグインが依存しているサーバがDDoSアタック(サーバーに膨大なアクセスをしかけて動作できなくする攻撃)を受けていて動作しなくなっているということが判明しました。

このプラグインは、いわゆるレンタルサーバーと呼ばれるものを使われていたようで、このサーバーがダウンしてしまったので動作に支障が出たようです。

DDoSアタックについては、レンタルサーバー業者さんが対処されたようで、16時ころに沈静化し16時過ぎくらいから復旧したというコメントが見られるようになりました。

と、トラブルの概要はこんな感じです。

トラブルによる影響

さて、このトラブルによって出た影響は何でしょうか?

「このプラグイン使ってたお客さんでしょ?」

と思われる方が多いと思いますが、それは正解ですがそれ以外にもあるんです。

例えば、「kintoneが開かない」となると最初に疑うのはどこか? そうサイボウズさんですよね? おそらくサイボウズさんのサポートへは相当な数の問い合わせが行ったと思います。

弊社は、gusuku Customineを提供していますが、弊社にも問い合わせがありました。gusuku Customineはチャットサポートを提供しているので、問い合わせのハードルが低く、レスポンスも早いため、さらっと聞く相手としては便利だと思いますので、こういう問い合わせも来ます。そのこと自体は全く問題ありません。

サイボウズさんもそうだと思いますが、こういうお問い合わせをいただいた場合、頭の片隅で「あぁ、あのプラグインの影響だろうな」と思っていてもその確信を得るまでは自社のサービスの問題であることを疑い続けます。そのために、お客様に様々な情報を提供いただいて、問題の原因を確定するまでサポートします。これにはかなり時間を使います。

ですので、

  • 業務が止まってしまったユーザーさんの時間(別の手段で業務を進められたところもあるかもしれません)
  • 業務止まるほどではないにせよ、一時的にプラグインを外したりするkintone管理者の方の作業時間
  • 一時的にプラグインを外したことによる生産性の低下によって失われた時間
  • 問い合わせに対応した、サイボウズさんや他のベンダーの時間

など、いろんな人の時間が使われたことになります。

サービスの対価とできることのバランス

トラブル解消後「◯◯さんも災難でしたね」とプラグインの開発元をねぎらうようなツイートもありましたが、個人的には「災難だったね」とは思いますが「そうなるよね」とも思っています。

このプラグインの開発元さんは、元々は無料でプラグインを提供されていて、現在は有料化されましたが、それでも超低価格で提供されています。

利用される方からみれば安いほうがいいに決まっているので、これはこれで戦略としてはありだと思いますが、何かを安く提供するにはそれなりに痛みが伴います。

弊社のgusuku Customineは、我々の考える信頼性を確保した上で、我々にできる最低限の料金で提供させていただいていますが、それで高いと言われることがあります。なぜ、この費用になるのかというと、こういったトラブルをできる限り避けるための努力をしているからという面があります。

gusuku Customineがやっていること

gusuku Customineでは、画面で設定したカスタマイズからJavaScriptファイルが生成され、弊社のサーバーに設置されます。ユーザーのkintoneからは、この弊社サーバーからダウンロードしたJavaScriptファイルが実行されます。

カスタマイズの実行の最初の段階で、それが正規のライセンスで実行されているかを弊社のサーバーに確認しにいく処理があります。(gusuku Customineに限らず有償のプラグインや連携サービスでは大半のものでこのライセンスの確認処理があります)

このように、gusuku Customineで作成されたカスタマイズは弊社のサーバーに依存して動作しています。

もし、この弊社サーバーが止まったらどうなるか???当然ながら今回のトラブルと同じようにkintoneが開かないなどが起こる可能性があります。

gusuku Customineで重要なことは、作成されたカスタマイズがユーザーさんのkintoneで常に正しく動作することです。そのため、弊社ではgusuku Customineを構成する要素の重要度別に対策を取っています。

レベル高

作成されたカスタマイズは、基本的に2種類のサーバーへのアクセスで実行されます。(利用されている”やること”によっては、他のサーバーへのアクセスもします)

  1. 生成されたJavaScriptファイルをダウンロードするサーバー
  2. JavaScriptからライセンスを確認しにいくサーバー

このうち1は、極めて信頼性の高いサービス上に配備された上、更にコンテンツ配信サービスに分散されて配信されます。現状、このコンテンツ配信サービスがトラブルを起こすと、JavaScriptがロードできなくなる可能性がありますが、サービス開始から2年半の間でトラブルが起きたことはありません。また、もしトラブルが起きた場合の代替手段は常に検討しています。

2については、これも信頼性の高いサービス上に配置した上に、多重化してあります。また、障害時には自動的に復旧する仕組みも入れてありますので、トラブルは起きにくくなっています。しかし、データの確認が必要となるため、確率的にはトラブルを起こす可能性が1よりも高いため、万が一ライセンスの確認がうまくいかない場合は「正規ライセンスであるとみなす」ことによって、動作を継続するように作ってあります。ライセンス確認という本来はやりたくない処理のために業務を止めないようにするための工夫です。

レベル低

作成されたカスタマイズの動作と比較して、カスタマイズの作成画面はアクセスされる頻度や数も少なく、ユーザーさんの業務への影響も作成されたカスタマイズの動作に比べると軽いため、レベル低としていますが、それでも、

  • 信頼性の高いサービスへの配備
  • 多重化
  • アクセス過多時には自動的に増強
  • 自動復旧
  • 自動バックアップ

を構築してあります。こちらもこれまで停止するようなトラブルを起こしたことはありません。

ステータスの監視

gusuku Customineを構成する要素の稼働状況は常に監視されていて、サービス状況サイトで公開しています。

ステータスの監視

我々はジタバタし続けます

このようにgusuku Customineでは、様々なトラブルを想定して必要な対策を取っています。このような対策にはコストがかかりますので、料金とのバランスを考えながら常に改善をしていっているところです。水面下でジタバタすることはやめません。

弊社のサービスに限らず、それなりの料金のするサービスは、このように見えないところで色々ジタバタしているんだよということも知っておいていただけると、サービス提供者としてはうれしいです。

みなさんもプラグインや連携サービスを選択される時に、自身の業務に求められる信頼性などを考慮した上で選択していただくとよいと思います。値段は大切ですが、値段だけではない価値があるということも考慮していただけると幸いです。

おそらく、サイボウズでkintoneの運用をされているチームのみなさんもまさにこの水面下のジタバタを日々猛烈にされていると思いますので、そういった情報も発信していただけると、よりkintoneの安心感が増すんじゃないかと思いますので、期待しています!

「あたりまえのように使っているものの裏には、水面下でジタバタしている人がいるよ」ってお話でした。

投稿者プロフィール

アバター画像
金春 利幸
"gusukuシリーズプロダクトマネージャー
ノーコード(No-Code)の有効性に着目し、kintoneとgusukuシリーズの普及のため全国を飛び回っています。"