2023.01.18
#クリエイターズインタビュー No.73脱・自己流のエンジニアリングへ。カヤックSREチームへの複業参加でつかんだ成長機会
2022年8月よりカヤックSREチームに“複業”として参加し、そこで得た体験を本業に活かそうと取り組まれているiichi(イイチ)株式会社の平井さん。ご自身が感じていた課題、SREの現場で実際に働いてみた感想やその面白さをチームメンバーの長田と一緒に振り返ってもらいました!
平井雅人(左)
iichi 株式会社/ソフトウェアエンジニア
WEB制作会社『村式株式会社』を友人と起業後、CtoCマーケットプレイス『iichi』の立ち上げに参画。
"広くて浅いフルスタックエンジニア" 状態に課題感を持つ中でカヤックの複業募集が目に止まり、強いエンジニアチームで成長機会を得たいと考え応募
長田洸明(右)
面白法人カヤック サーバーサイドエンジニア 技術部/その他事業部 SRE
新卒入社後、クライアントワーク、ゲーム事業部での開発を経て、ゲームコミュニティ事業(現eスポーツ事業)、ちいき資本主義事業部など各事業部で、システムを安定運用させるSRE的な仕事をしてきた。カヤックSREチーム発足時からその一員として活動している
※面白法人カヤックでは、本業の仕事・副業の仕事といった優先順序を付けず、複数の仕事を同時に本業として取り組んでいただきたいということから、あえて“複業”という言葉を使用しています
◆課題解決に向けて「武者修行」へ
ー本日は、カヤックのSREチームに複業で参加している平井さんにお話を伺いたいと思います。まずは簡単に自己紹介をお願いします。
- 平井
- 新卒同期の友人とWEB制作会社『村式株式会社』を起業した後、CtoCマーケットプレイス 『iichi(イイチ)』の立ち上げに参画しました。それ以来10年以上、インフラの構成・保守運用、サーバーサイドのアプリケーションの開発、フロントエンド領域の実装など、『iichi』のソフトウェアエンジニアリング全般に携わっています。
ーカヤックでの複業のきっかけや経緯について教えてもらえますか。
平井
『iichi』は比較的歴史の長いインターネットサービスですが、常態的にエンジニアが足りない状態が続いていたんです。レガシーな技術スタックをアップデートしていくことにリソースを割り当てられず、モダンなエンジニアリングの知見を社内に蓄えることができていませんでした。アプリケーションの開発からインフラの保守運用、デリバリーの仕組みづくりにメトリクスの収集・監視まで、幅広いエンジニアリング領域の方法論のアップデートが必要だと考えていました。
最初は、カヤックがクラシコムと行っているようなSREの取り組みを弊社とも行えないか相談していたこともあったのですが、会社間の話にすると調整すべきことも多く、実現に至りませんでした。
そんな時、カヤックの求人で、エンジニアの複業募集を見かけたんです。前述した課題は「自分自身に知見が足りない」という個人的課題でもあると考えていたので、「個人として複業参加する形が良いのでは......」と思い、応募しました。
ー会社の課題を、ご自身がスキルアップすることで解決できないか考えてみた、と。「武者修行」に出るというか。
平井
武者修行とも言えますね。リソースが足りず、アップデートできない状態がずっと続いていた結果、常に自己流というか、時代についていけないエンジニアリングをやっているような感覚を抱えていました。自社にエンジニアが多ければ、知見の共有やひとりひとりの専門を決めて役割分担することもできたかと思うのですが......。自己認識として、「広くて浅いエンジニア」になっていると感じていたんです。
ーカヤックでの複業に期待していたことは何でしょうか。
平井
カヤック技術陣のレベルの高さは、業界内で知られるところです。『iichi』の成長を支えるためのエンジニアリングの知見を得たいと思っていました。
◆刺激と高い温度感、SREの現場で得たものとは......
ー現在担当している仕事について教えてください。
平井
現在はSREチームの長田さんと一緒に、カヤック・ちいき資本主義事業部のサービス『まちのコイン』を担当しています。
長田
『まちのコイン』にSREが入る前は、「システムを安定運用する」という考えのもとに動くよりは、「サービスの機能を良くすること」の比重が基本的に大きかったんです。サービスを拡大していくために、表に見えない部分のさらなる強化が必要になり、2021年3月からSREチームが投入されました。
平井
『iichi』もそうなのですが、まずは機能をつくり込んでユーザーに見せるところから手を動かしていくことが多いんですよね。
もちろん、システムの安定運用と機能改善の両方に注力することが理想なのですが、費用面だったり人的リソースだったり、色々な制約があって、その中でどこを優先するかという悩みは往々としてあるんです。
ーなるほど。理想とのギャップを埋めるために、SREとして具体的にどんな取り組みを行ったのでしょうか。
長田
まずは、システムを監視するための仕組みを強化していきました。サービス運用において監視はとても重要な機能ですから、より細かい状態まで分かるようにしたんです。障害が発生しているならば、どのくらいのユーザーがエラーの影響を受けているのか、システムのパフォーマンスの状態はどうか、そういった詳細が分かる仕組みづくりです。
また、当初『まちのコイン』はEKSを使っていたのですが、オーバースペックでした。EKSは自由にカスタマイズできるけれど、機能が多すぎる分手をかけなくてはいけないので、運用コストが高かった。カヤック内でも使用実績が少なかったので、今からノウハウを貯めるよりは、カヤックが使い慣れているECSへの移行を選びました。
ー可用性・信頼性を高めて、運用の負担を減らしたのですね。
長田
EKSではいわゆる対処療法しかできませんでした。問題がある度に調査から始め、週2〜3日は時間を要していたんです。ECSなら社内ノウハウも豊富で、イレギュラーな対応をほぼしなくて済むようになる。その違いは大きいと思います。
平井
『まちのコイン』と『iichi』は別領域のサービスですが、SRE的な側面から見ると、やるべきことや、やった方がいいことには共通している面が多かったと思います。携わるうちにECSの運用方法の知識が増え、システムを支える選択肢も広がりました。
そういえば、『まちのコイン』の運用で新しく知ったやり方を、早速『iichi』にも取り入れました。システムの中で秘密にしておかなくてはいけない情報に対して、よりシンプルで扱いやすい方法※があったので参考にさせてもらったんです。
※この知見は「秘密情報には出どころも書いてくれ!頼む!」というブログ記事にもなっています
ー知見を得たいという期待はかなっているようですね。平井さんはSREの現場に参加してみて、どんなことを感じましたか。
平井
複業参加して4ヶ月ほど経ちましたが、自分の知らないやり方や普段使っていない技術、そのひとつひとつをキャッチアップするのには少し時間がかかりました。でも、大変だったというより、すごく楽しかったです。10年以上同じ環境・同じシステム運用が続いてきたので、たくさんの刺激を受けながら働けるのは得難い機会ですね。
また、実際に動いているシステム運用の現場に参加することで、未経験の技術や課題への取り組みをリアルに体験できるメリットは大きいです。ブログを読んだり、勉強会に参加することとは別の高い温度感があるというか......。
ー特に印象的だったことはありますか。
平井
カヤックのエンジニアたちが、すぐ「隙間家具※」をつくるのが面白かったですね。コマンド一発で見たいデータが見られるなど、システムを運用する作業上で便利なツールがあちこちでつくられ、社内Slack上でキャッキャとやっているんです。
さまざまな領域のサービスに横断して関わるエンジニアたちが、それぞれの知見を積極的に情報交換している。そのやり取りを見ているだけでも、どんなやり方があるのか、今どういうものが新しいのかが分かってとても勉強になります。これがカヤックの技術力の強さなんだな、と実感しました。
※「隙間家具」については、カヤックの藤原俊一郎が『AWS DevDay Tokyo 2019』で「AWSの「隙間」を埋める隙間家具 OSS 開発」を発表しています
◆カヤックSREチームが考える「目標とやりがい」
ーカヤックのSREチームが仕事の上で意識していること、大切にしていることは何でしょうか。
長田
私たちの目標は、最終的にはSREが関わらなくてもそのシステムを運用しているチームが自走して、SRE的な仕事がまわる状態をつくること。そのために、先ほど平井さんが話していたような「隙間家具」や仕組みをつくっています。あくまでもSREは伴走で、自分たちの仕事が無くなることをゴールにしているんです。
『まちのコイン』のエンジニアとも、なぜSREをやっているのかとか、どういう意識で動いているのかも逐一共有していますし、ドキュメントも細かく用意しています。
ー自走してもらう仕組みづくりということなんですね。これからのビジョンや目標は?
長田
SREという言葉自体が新しくまだよく理解されていないので、認知度を高めていきたいですね。
SREの説明は難しくて、「インフラ屋さん」と呼ばれることもあります。SREはSLO(Service Level Objective)を達成することが目標ですが、そのための手段は何も決まっておらず、「なんでもあり」なんです。さらに、実際に動いているシステムを壊さないようにしつつ安定性を増すようにしなければいけないので、考えるべきことがとても多い。個人的には、サービスの課題や仕様面において考える要素が多い機能開発より、純粋なエンジニアリング領域でのチャレンジができると考えています。そこが難しくも面白くもあり、やりがいがある部分ですね。
平井
技術的にチャレンジングな環境で、ボトルネックを特定して解消する。そういうことの連続が楽しいし、脱・自己流になる。今後もどんな成長ができるか楽しみです。
幅広い領域に関わってきたカヤックのエンジニアたちは「知見のるつぼ」。エンジニアや企業が抱える様々な課題を受けとめ、対応できる土壌があると思います。こんなにエンジニアリングに強いチームが、複業という形でカジュアルに門戸を開いてくれた。今、本当にラッキーな体験ができていると思います。
(取材・文 二木薫)