1
/
5

暗黙の100%を目指さないー効率的に、かつ、より良いプロダクトを展開させるためのエンジニア思想

思想として良いと思われるものでも、企業の体制に落とし込むことは必ずしも簡単ではありません。

しかし、Quipperでは、よい良いプロダクトを作るため、自分たちの達成すべき目標を現実的に据え、それ以上のことは、戦略的挑戦のリソースに割くエンジニア哲学が採用されています。

クラウド開発時代における、インフラの新概念

竹山 雄也
Quipper Ltd. SRE

竹山:SRE(Site Reliability Engineering)とは、名前の通り、システムの信頼性に焦点を置く、Googleが提唱したエンジニアリングの考え方のひとつです。これまでのインフラエンジニアは、要望通りに環境を整え、サーバーを構築する役割で、暗黙のうちに100%の信頼性が求められがちでした。そういうわけで、システムがダウンすると怒られることになるわけです(笑)。一方、SREの考え方を取り入れたインフラ構築では、そもそも100%の信頼性を担保することは不可能である、という前提に立つんです。目標値となるサービスレベルオブジェクティブ(SLO)は、99,9%、もしくは、99,99%という、微妙に完全ではない状態を表す数値になり、ここに向かって、減点ではなく加点方式で環境を整えていきます。なぜ、100%を目指さないのかと言うと、信頼性を99,9…から100%の状態に持っていくには、かなりのコストがかかるんです。インターネットのシステムですと、たとえ、自分たちが完全な環境を整備したとしても、ユーザーとの間には、ネットワークやデバイスなどの様々な外的要因が必ず入り込みます。もし、そこで不具合があったとしても、こちらとしては対応範囲外ですよね。そう言う意味で、どこまでの信頼性を担保するのが合理的か、という論理をもとに、100%を目指すことは意味がない、という考えなんです。

現在、Googleはオンライン上でSREに関する情報を集約した専用サイトを公開していますが、SREという考えが公式に日本に輸入されたのは、2016年4月に刊行された書籍「SRE サイトリライアビリティエンジニアリング――Googleの信頼性を支えるエンジニアリングチーム」(オライリー・ジャパン)によると考えられます。

竹山:SLOを定量化した上で、目標値をモニタリングし、達成できていなければアクションするというサイクルが大事なんです。さらにいうと、目標値の達成までは尽力するけれど、値を越えて、過剰に達成することは悪だ、くらいの考えです(笑)。達成しなかったら、むしろ開発自体を止めなくてはいけないですし、目標値に達して余力があるときは、そのリソースを割いて、実験的なリリースを繰り返し、攻めに転嫁するべきだと考えられています。

Google社内では長年蓄積されてきたノウハウですが、世間に公表されて以来の歴史はまだ日が浅いSRE。組織内にSREがある企業は、まだ多くありません。

竹山:国内でもSREチームを立ち上げた企業の話をあちこちで聞くようになりましたが、実際に、SREを経験したエンジニアがまだそう多くないと思います。必須スキルとしては、Infrastrure as Codeやコンテナ技術、Kubernetes、AWSなどを弊社の採用キーワードにしていますが、いわゆるインフラエンジニアの中でも、プログラミングで問題解決ができるスキルがないと難しいかもしれません。


竹山:SREに配属されるまで、前職から一貫してウェブディベロッパーとしてサーバーサイドを担当してきました。もともと音楽が好きで、音楽関係のサービスを開発する、エンタメ系の事業会社に新卒で入社し、アーティストのファンサイトなどの制作から、電子チケットアプリのバックエンドの開発まで手広く関わっていました。様々なサービスに幅広く関わる経験をさせてもらえた一方、もっと一つのプロダクトに腰を据えて改善していきたい、という思いも大きくなり、転職活動を考え始めました。

転職活動を始めるにあたっての希望は、ベンチャー企業であることと、会社の看板となる主力プロダクトがあること。後者は、前職での経験を振り返り、ひとつのサービスに注力したいという気持ちからでした。

竹山:何社か受けた中で、Quipperに決めたのは、特に面白そうだと思えたからですね。面接の時に、リクルートに買収されているということを聞いて、少し悩みましたが、話を聞くうちに事業・プロダクトとしての魅力が伝わり、入社しました。面接の中で当時の日本オフィスの代表が、海外でどう展開してきたかという話をしてくれたんですけれど、それも響きましたね。日本の教育といえば、教育委員会の縛りがすごく強いイメージがあると思いますが、一方、Quipperがサービス展開しているフィリピンは、日本とは意思決定の仕方が異なるようです。現場では、担任の先生の裁量がすごく強いようで、いいサービスを先生が見つけたら、自分の裁量で導入ができる上に、導入後、評判が良いようであれば、学校全体や地域の、日本でいうところの教育委員会によって地域一帯に導入されることもあるそうなんです。いいプロダクトが妥当に評価されて広がっていく流れはかなり面白いと思いましたね。

責任を自分で負える、自立した大人集団

竹山:Quipperはオーナーシップを持って、働いている人が多いと思います。そのおかげであらゆることを性善説ベースで考えることができるので、制約を最小限で保てているのかな思います。今は自由で、例えば裁量労働制での働き方は、場合に応じて合理的に働けます。もともと朝がかなり苦手なので(笑)、ありがたいですね。病院や区役所に行きたい時も、いちいち半休とらなくていいのも楽です。Slackで一言投げればいいだけですし。

Quipperでは、メンバーそれぞれが物理的、精神的に働きやすい労働体制を尊重しています。申請をすれば、副業を行うことも可能です。

竹山:知り合いを通じて、開発関係の仕事を受けたことがあります。社内でも採用しているAWS Lambdaのサーバレスな基盤を使った仕事で、社内とはすこし違う手法でシステムを構築しました。サーバレスは不確実性の大きいスタートアップに好まれている面も大きいと思いますが、Quipper のようなある程度成熟した企業であっても、例えば新サービスの開発など役に立つ機会は少なくないと思うので、社外の仕事を通して、社内案件に生かす知識が得られる、良い学びの機会でした。

学びがあるか、という投げかけは、竹山にとっての重要な視点。Quipperでは、日々学びがあり、飽きることがないと言います。

竹山:前職からの転職では、なんとなく長くい過ぎたからそろそろ他の会社に、という気持ちもありましたが、Quipperは、日々新しい課題を前に、解決して学んでいく日々なので、まだまだやりたいことがつきません。今まで在籍した3年間と、これから先の3年間でも、解決するべき問題の質は全然違うと思います。組織が拡大して、フェーズがどんどん変わるのに伴い、どんどん挑戦することが出てくるので、正直大変な状況ではありますが(笑)。特に、SREになった今年1年は、社会人人生10年の中で一番大変でした。とはいえ、色々と挑戦できることでもあるので、今手がけている、マイクロサービス化や、モノレポ化をどんどん進化させていかなくてはと思います。

柔軟な組織体制と、より効率的な開発環境の整備。求められることを的確に打ち返すということに重点を置き、過度な疲弊を避ける仕事のあり方は、これからの日本企業の働き方を考える上で、重要なケースモデルになると言えるかもしれません。

スタディサプリでは一緒に働く仲間を募集しています
9 いいね!
9 いいね!
同じタグの記事
今週のランキング