質問箱は2017年にせせり氏が開発し、Twitterと連携して匿名で質問と回答を募ることができるサービスである。その後同年に株式会社ジラフに買収され、2021年にはDigital monkey株式会社に買収された。それがまた最近になって、事業譲渡が行われたようである。譲渡先は今のところ不明である。

私自身はサービスがリリースされたころに使ってみたことはあるが、中身はともかくアイデア勝負の部類には感じられた。印象としてはかつてのWeb拍手のそれだ。

50万円の赤字

事業譲渡を受けて最初に公開された内部情報がサービス運営が赤字というものであった。𝕏の投稿:

によれば月50万円ほどの赤字だそう。新しい運営元はインフラとコードの見直しが必要だとしている。これは私の想像の範疇に留まるが、開発期間が6時間だったことから、中身としてはここまでサービスが拡大したときのことを考慮した拡張性のある設計にはなっていなかったのだろうと推察する。

peing.netにnslookupをかけるとCloudFlareのIPアドレスが2つ返ってくることから、おそらく前段にロードバランサーが控えていて、その先で仮想サーバーが複数台起動していてアクセスを待ち受けているのだろう。アクセス増に伴ってサーバー台数を増やしたり(スケールアウト)、性能を上げたり(スケールアップ)してここまで凌いできたことが窺える。その結果がこの50万円の赤字なのだろう。

Ruby on Railsが悪いのか

ベンチマークや実際の環境にも依存するので出典は載せないが、巷の情報を総合すると、Ruby on Railsは一般的なPHPによるウェブアプリケーションの構成よりも性能が低いようである。しかし、仮にそうであるならば、スクリプト言語最遅レベルのPythonでホスティングされているサービスはもっと問題になっていておかしくないはずだ。あるいは問題になっていて、該当部分だけは別のアーキテクチャを採用しているのかもしれない。

いずれにせよ、新しい運営元はRuby on Railsの性能不足からサーバースペックを増強しなければならない状況にあるようだが、アプリケーション部分だけが悪いとも言い切れない。クラウド環境でホスティングしているのであれば、サーバーレスアーキテクチャを使うことで費用を大幅に削減できることが多いし、データベースのReader/Writerの振り分けを適切に行うことで不要なスケールアップを避けられる。ここにきて2017年から続く負債が顕在化しただけのようにも思える。

技術的負債とどう立ち向かうか

今回の話は技術的負債とどう立ち向かうかという話にもなるのだが、おそらく最初から今に至るまで、根本的な技術的負債は解消されなかったのだと考えられる。有名サービスを保有している会社として広告塔にはなるものの、メンテナンスできない金食い虫がいても仕方ない。

しかし、会社として本腰を入れて質問箱をテコ入れしていくかと言われればそうにもならない。テコ入れしたところで生み出すカネはたかが知れているし、とりあえずスケールさせておけば当座は凌げるのである。会社の中にはそれよりもっと優先度の高い仕事があるので、必然的に後回しになってしまう。

経営側から見ればそうだが、技術者としてはどうだろうか?技術的負債があり、会社やビジネスの中でこれを解消したいのであれば、これはダマでやるしかないのが私の結論だ。会社はリファクタリングというカネにならないことは嫌うし、最もらしい理由に加えて「将来のため」と言い訳をしても、経営判断でその将来はひっくり返ることがある。なので、可能な限り素早く代替品を作って挿げ替えてしまうしかない。上司が許容できる時間内で既成事実を作ってしまえばいいのだ。

そのためには、互換性の検証・網羅的なテスト・実際の移行作業等が伴うが、それを華麗にやってのける能力が必要とされている。「いい人がいない」と言われているこのご時世、どのくらいの人間がそれをやり遂げられるのかは謎であるが。逆にそういう根本解決のために自発的に動ける優秀な人間がいれば、せっかく買収したサービスを赤字だからと手放すことなく、うまく収益化や現状維持にこぎつけることができたのではないかとも思う。

私はといえばちょうど最近、鋼鉄でできたモノリシックを少しずつ削り出し始めたところである。少なくともこのモノリスをこれ以上成長させるわけにはいかない。

余談

新しい運営元の告白に伴って「まずお前誰だよ」という意見も出ていたことにはまったくごもっともだとは思うし、赤字やアーキテクチャに問題があるというのは運営側の課題である。さらに月50万円以下の費用で代替サービスが作れるのであれば、参入できる余地があることを全世界に公開してしまってもいるので、なんだかなあと思うのである。

追記

元々の開発者によれば、売却当時は最適化なしで30万円くらいで、200万円は黒字ということらしい。そこから50万円の赤字になったことは色々と考えられるが、

  • VPSからクラウドに乗せ替えて費用がかさんだ
  • ユーザー数が増えて運用コストが上がった
  • 譲渡の過程で毒を注入された

あたりだろうか。リリースから8年経って状況は変わっているので、当時は黒字でも今は赤字になることはあるだろうし、とはいっても200 + 50 = 250万円が簡単に消えるとも思えないので、どこかで考案者の知らない制約を盛られたのかもしれない。あくまで第三者の推測だが。