5月よりGVA TECHのweb/SREエンジニアとして入社した太田です。
学生時代は文学部でしたが、
卒業後にwebエンジニアとして働き始め、SREとしても開発を行ってきました。
これまで
前職では、旅行会社やECサイトの検索エンジンを作っていました。
検索エンジンは、計算コストの非常に高い処理が積み重なったサービスです。
特に旅行の検索は複雑で、
目的地、何泊何日、予算、こだわり条件等々の絞り込みによって、かなりの負荷がサーバにかかります。
私が作っていたサービスでは、
キャンペーン等でアクセス集中が起こると、
高負荷でサービスがダウンするかしないかの瀬戸際に立たされる、
といったこともありました。
(もちろん、きちんと対策が施されてサービスダウンしない、堅牢な検索エンジンが殆どです)
そんな中、サービスを安定稼働させることの重要性を感じていた私は、
SREという考え方に出会いました。
SREとは
SREとは、Site Reliability Engineering の略で、
サービスを安定稼働させ、システムの信頼性を維持する取り組みの総称です。
具体的には、サービスレベルの策定や運用管理の自動化、開発のポリシー・ルール整備等を行います。
機能開発とは真逆のベクトルで、はっきり言ってしまえば(注:あくまで私の個人的感覚です)
面倒くさいことをやるのがSREの仕事です。
ですので、SREは自発的に行われることは少なく、機能開発と対立することすらあります。
そこで、きちんとSREを行っていくためには、開発組織の整備や会社の組織的なバックアップが必要になってきます。
スタートアップにはガンガン機能開発を先行させていくスタイルの会社が多いのですが、
GVA TECHは契約書という機密性の高い情報を扱っていることもあり、
運用負荷の低減やサービスの信頼性担保を重要視しています。
そして、SREを行うには組織的実践が不可欠ですが、
社長の山本やCTOの本田が組織作りに対して真摯に向き合っているのを見て、
私は入社を決意しました。
GVA TECHに入って
SRE界隈でホットな取り組みの一つに、割れ窓タイム、というものがあります。
機能開発を優先して小さなバグや修正漏れが直されないままになると、
あるべき状態が分からなくなったり本来修正されるべきバグが放置されたりして、
運用負荷の激増や重大なバグの発生に繋がることがあります。
これを防ぐため、優先度の低いタスクに集中的に取り組む時間を設ける、というのが割れ窓タイムです。
参考
https://devpixiv.hatenablog.com/entry/2016/12/08/172049
https://blog.hokkai7go.jp/entry/2018/12/13/000146
私が驚いたのは、
GVA TECHで配属されたチームが既に割れ窓タイムを実践していたことです。
1週間スプリントのスクラム開発をしているのですが、
そのスプリント最終日はリファクタリングの日に充てられています。
サービスを発展させるための機能開発と
サービスを安定稼働させるための運用を
両立させていく。
その土壌がここにはある、と嬉しくなったのを覚えています。
AI-CONのような、ユーザの事業に大きく寄与するサービスは、
システム自体が信頼性の高いものになって、ユーザに愛されるサービスへ昇華していく、と考えます。
私は、GVA TECHで、AI-CONを持続的に成長させていきたいです。