Come and meet us at the Upcoming Events!
See All Events–現在の職種と業務内容を教えてください。
私は、Reproのシステムの安定運用や省力化を実現するためにSRE(Site Reliability Engineering)として関わっています。データパイプラインを構築するためにさまざまなミドルウェアを使用しているのですが、それらの運用安定化、省力化に取り組んでいます。
運用安定化の面では、例えばAWSで障害が起きてもReproのサービスとしては普段通りに価値を届けることができるように備えることが重要です。もしこうした備えをしていない状態でAWSに障害が発生してしまうと、Reproのサービスが止まってしまったり顧客データのロストに繋がってしまったりします。復旧には時間も人手もかかるので、一度被害を受けてしまうと深刻な影響が出てしまうのです。
–今、取り組んでいるプロジェクトや具体的な取り組みについて教えてください。
コンピューティングリソースの最適化に関わるいくつかの取り組みがあります。例を出すと、ReproのSDKに備わったログ機能の保存方法を変えることでコスト削減を実現しようとしています。直近で取り掛かろうとしているものの中には、現在使用しているAmazon EMRの起動速度をはやめ、その後負荷に合わせて自動でスケーリングする仕組みづくりを行っています。ピーク時に想定される負荷に合わせて仕組みを作っただけだとピーク時以外に余分なコストがかかってしまいますからね。
–どのようなメンバーと業務、プロジェクトに取り組んでいるのでしょうか。
同じくSREとしての役割を務めるメンバーは5名います。現在はフルリモート体制で働いていますが、レビューに入ってもらう時や自分1人では対応が難しい場面で相談したりする時にメンバー同士が関わる場面もあります。直近では、オンコールに入っていてアラートを受け取った時、対処法が分からない場面がありました。そうした際には状況を伝え、他のメンバーから対処法に関するアドバイス、意見をもらうことがあります。
こうした場面でとても頼りになるのが、一緒に働く荒引です。彼は未知なものでもすぐキャッチアップし、改善内容を素早く提案し、スピーディーに進めていきます。
以前、当サイトでのインタビューでも語られていましたが、そうした過程で垣間見える「疑問に思ったことは納得いくまで理解に徹する」という姿勢をみていると、尊敬の気持ちに加え、「自分もそんな風になりたいな」という気持ちも湧いてきます。
表面上にあらわれていることだけではなく裏側まで理解しようとすると大変なこともありますが、深く知るからこそ得られる知識や経験もあるじゃないですか。 私自身、これまでに深く調べ、理解した先に得た発見や学びが自信にもつながった経験をしています。
– その当時の経験について伺えますか。
前職時代、自発的にCIの改善に取り組んでいた頃のことです。テストを回すのに30分もかかっていて、その分レビューやリリース…他の部分の時間も圧迫されてしまう状況でした。問題だとわかっていながら、その改善に取り組もうとする人はあまりいませんでした。そこで、「このままにしていては不便だし、自分がやるか」と思い立ち改善に取り組んだところ、30分かかっていたテストの実行時間を10分以内に短縮できました。原因を調べる過程で普段は立ち入らない裏側まで調べることは大変でしたが、結果的にはチームメンバーに感謝され、自分の仕事もしやすくなりました。
それ以降、プロダクトの成長に応じて機能追加を積み上げるだけではなく、裏側の仕組みや構造にも目を向けることが増えていったように感じます。
今でも着手し始めた最初の時点では分からないことが多くしんどい場面もありますが、それ以上にこの時に得た成功体験と技術的興味が原動力になっています。
–Reproへの転職理由と背景を教えてください。
前職ではモバイルゲームのAPIサーバーの開発などを行っていました。ゲームが世に出て、利用者が一定数増えて状況が落ち着いてくると、機能追加が主な業務内容になってきます。当時、個人的には「技術的にチャレンジングな場面が少ないな」と感じ、より挑戦できる場を求めて転職を考え始めました。
実際にReproの三木と面談してみると、Reproがいかに挑戦できる可能性がある環境か、よくわかりました。まず、三木から開発環境や業務内容等の説明を受けた際に見た全体図に驚きました。こんなに多くのミドルウェアを使っているのか、と。これまでに見てきたものよりも複雑なReproの構造・仕組みを見て、自分にとってチャレンジングな環境であることは理解できました。
また、全体像を見ている中で、Reproのように複雑な構造・仕組みのプロダクト、大量のデータを扱うインフラチームに興味を持ち、Reproで挑戦したい意欲が膨らんでいきました。
入社前、GitHub、Slackから開発環境やメンバー同士の雰囲気を知れたこと、今一緒に働いているメンバーが書いたブログ記事を通して身に付く知識や能力が想像できたことも後押しになりましたね。
–入社後、自身の成長、変化を感じた場面はありましたか。
Fluentdの不具合の原因を調べ、修正を行った経緯をブログとして公開することができた時、ですね。
その頃の状況から説明します。Fluentdを長時間起動しているとエラーが発生し、プロセスが落ちてしまう状況だったのですが、その度に再起動する暫定対応をしていました。原因を調べてみると、ファイルディスクリプタが枯渇することによって起こってしまう現象だと判明しました。そして、それもまたなぜ起こってしまうのかと調べていくと、とあるログに怪しい部分を発見し、そこから仮説を立て、修正し、正常に作動するところまで回復させることができました。
もともとはその一連の対応をアウトプットするという発想はありませんでした。一緒に働いていたメンバーに勧められたのがきっかけに、Reproのテックブログで記事を書こうと思いました。
実際にアウトプットしてみると反響があり、「こんなことでも勉強になったとコメントをくれる人がいるんだ」と驚きました。「こんなことでも…」というのは、私が行ったことはそこまで高度なことではなかったと思うのです。それでも多くの方が読んだりコメントをしてくれたりしてくれるのをみて、アウトプットすることの重要性を体感しました。
今振り返れば、事態に対応しただけではなく、ブログとしてまとめるまでには相当時間がかかったのですが、途中レビューをくれたメンバーのおかげもあってなんとか書ききることができてよかったと思っています。以前の自分より成長、変化したことを感じられました。
※当時のブログが、こちら。
–今後に向けて、Reproの伸び代はどこにあると感じますか。
能力が高い人に偏っている部分や力技的な部分があるので、個人の頑張りに依存しないオンボーディングやキャッチアップの仕組みを整えていけるといいのではないかと思います。
Reproは優秀で尊敬できるメンバーが多いので、そうしたメンバーができることを他の人もスムーズにできるようになるといいですよね。そうすれば、もともと優秀なメンバーはもっと別のことができるようになるし、全体的にメンバーの成長にもつながります。
仕組みとして実現するためには、勉強会などを通した知識共有に加えて本番環境でのオペレーションを通じた体験の共有が必要です。
–今後、目指す人物像や目標はありますか。
ここまでの話でも触れましたが、尊敬できるメンバーのように、疑問に思ったことは調べ、深く理解し、その上でスピーディーな改善を行っていけるようになりたいと思っています。
理解を深めようとすると大変なこともありますが、それによって得られる知識と自信を糧に、今後も挑戦を続けていきます。
企画・取材・執筆=株式会社ユニーク
撮影 = 賀谷 友紀
Come and meet us at the Upcoming Events!
See All Events