PR

誤変更を防ぐ仕組みに

 エンジニアチームは11月に入って、再発防止に乗り出した。システム障害への恒久的な対策を検討する定例会を新設。「リリースフラグの削減」「リリースフラグの誤変更の防止」「作業手順の徹底」といった恒久対策を策定し、実行していった。

 リリースフラグの削減は「新機能が安定稼働するようになった後も、クラウドサービスの管理画面上で、多くのリリースフラグが操作可能な状態のまま数年にわたり残っていた」との反省から取り組んだ。

 エンジニアチームの幹部が管理システムで操作可能なリリースフラグを洗い出して一覧表を作成。個々のリリースフラグに担当エンジニアを割り当てて、不要なリリースフラグを削除した。フラグの増加を抑えるため、新たに加えるリリースフラグについても、フラグを残す条件や期間などの管理ルールを決めた。

 リリースフラグの誤変更の防止については、管理システムのユーザーインターフェースを見直した。

 具体的にはリリースフラグの変更画面にフラグ名の入力欄を加えた。エンジニアはこの欄に切り替えたいリリースフラグの名前を入力したうえで、切り替えボタンをクリックする。クリックするボタンのリリースフラグが入力欄の名前と一致しないと、オンからオフに切り替わらないようにした。これまではシステムの画面に多数のリリースフラグを並べて表示していたため、誤って別のリリースフラグを操作してしまう恐れがあった。

 最後の「作業手順の徹底」はリリースフラグを扱う作業にとどまらず開発や保守といった作業全般を対象に進める。freeeの社員数は2019年4月時点で500人ほど。エンジニアの数が増えてきたこともあり、この取り組みによって作業標準の徹底を目指す考えだ。

 具体的には米グーグルのアンケート作成サービス「Googleフォーム」を使って、作業内容に合わせた手順書を自動作成するようにした。

 作業に取り掛かる前、エンジニアはGoogleフォームのアンケート画面から作業内容を選ぶ。すると作業手順や問題発生時の復旧方法などを書いたコンテンツのひな型から手順書を自動生成する。

 freeeの広報担当者はサービスの停止を振り返って「サービスが急成長していくにつれて、システムの開発や運用に関するリスクも高まっていく。今回のシステム障害で、そのリスクを見直す重要性など教訓を学べた」とする。今後については「お客様の業務インフラとして安定したサービスを提供し続けられるよう再発防止策を徹底していく」とコメントした。