FORCIA CUBEフォルシアの情報を多面的に発信するブログ

日々の運用改善の積み重ねが喜びに フォルシアのSREの真髄

2018.12.05

アドベントカレンダー2018 エンジニア

QiitaのSRE 2 Advent Calendar 2018 5日目の記事です。

 技術部長の田中です。フォルシアでは大手旅行会社を中心に30社以上のお客様のサービスの開発から運用・保守を担当しています。そして、多くのエンジニアが要件定義から開発、運用・保守全てを担当しています。そのため、いかに運用・保守の負荷を下げ、開発や新しい取り組みに時間を避けるようにすることがエンジニアの関心事となり、延いては、エンジニアの生産性を上げる事に繋がります。

 そこで、Googleの提唱するSRE (Site Reliability Engineering) の考え方が重要になってきます(書籍にまとめられておりSRE本として有名です)。フォルシアでも社内でSRE本の輪読会を開催しており、エンジニアの約半数が参加しています。今回は、フォルシアのSREについてご紹介します。

SREとは

 SREという言葉の解釈が所説あるので、個人的な解釈をまず最初に述べておきますと、サービスの信頼性を維持・改善する、それを仕組みに落とし込む方法論と態度だと考えています。ここで敢えて「維持」と言っているのは問題の無いものをさらに上げる必要はないということからです(これはGoogleのSRE本にも書いてあります)。また、「態度」という言葉も、方法やツールに囚われず目的を達成することに意味があるということを強調したいと思い、使っています。SRE本の冒頭でもMargaret Hamiltonというアポロ計画に携わったエンジニアが、問題が軽視され、実装がリジェクトされたケースの対処をマニュアルに落とし込み、宇宙飛行士を救ったエピソードは胸が熱くなりました。

フォルシアでの取り組み

 次にフォルシアの中でのSREの取り組みの一部について紹介します。

 フォルシアの運用するサービスの一部では、アラートが大量に吐かれ、この中に重要なものとそうでないものが混在するという状態になっていました。そして、大量のアラートの中でクリティカルな問題の予兆を見過ごすようなことがありました。この状況を見かねた代表の一人である屋代(COO)が、アラートの内容を回析し、エンジニアに警告するという非定型な運用がありました。

 そこで、サービスの吐くアラートからクリティカルな障害の予兆を解析しSlackに通知するボットを作製し、これを元に障害の予防ができるようにしました。 ここで工夫したことしては、機械的な通知で警告が無視されてはいけないと思い、代表の口調に寄せ、人が言っている感を大事にしました。ただ自動化するだけでなく、壊れたままにしない工夫やアラート通知が無視されない仕組を考えることも重要と考えてます。

図3.png

 また、大量のアラートを随時送られても見切れなく、何を対応すべきでそうでないのかがわからなくなっていました。そこでサマリーしたものを一日一回送るようにしました(口調はツンデレ寄りです)。サマリーする際、アラートのテキストの類似度を見て同種のものをグルーピングするようにしました。これで、重大なものが見過ごされず、且つ傾向が把握できるようになりました。

さいごに

 運用の改善は一朝一夕のものではありません。そして運用の課題は決して0にはならないと思います。この課題を創意工夫で少しずつ解決することにより、喜びに変えることはできると信じています。それがフォルシアのSREの真髄であると考えています。

 この課題を喜びに変えることができるエンジニアも絶賛募集しています!一緒に世界を変えていきましょう。

この記事を書いた人

田中謙次

技術部長。メーカの研究所を経て、2013年からフォルシアに参画。
アジャイル開発をベースに開発プロセスの改善を担当。
改善のためなら手段は厭わないポリシー。