LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog

16万台という膨大な台数のサーバー運用に携わる魅力。切磋琢磨を続ける若きインフラエンジニアの素顔

LINEで働くエンジニアにいろいろと話を聞く「LINE Engineer Insights」。LINEの技術組織で働く個々人に、何を重視して技術者としてのキャリアを歩んでいるのか、今LINEで何に取り組んでいるのか、今後実現したいことなどを聞いていきます。 

今回登場するのは、ITSC システム室 システムエンジニアリングチームでLINEのプライベートクラウドであるVerdaのGPUサーバーやベアメタルサーバーの構築・管理・運用などを担う芳賀康輝。大学時代はLinuxカーネルのファイルシステムの研究をしており、2018年にLINEに新卒入社した芳賀は、インフラ関連の業務のどのような点に魅力を感じているのでしょうか? 

社員のスキルの高さと裁量の大きさは魅力だった 

――芳賀さんは学生時代にLinuxカーネルのファイルシステムを研究されていたと伺いました。何をきっかけに、コンピューター内部の仕組みに興味を持つようになったのでしょうか? 

きっかけは大学の授業で、組み込み系システムに関する実習を経験したことです。そこで初めて低レイヤーの領域に触れました。その授業を受けるまで、私はWebアプリケーション開発など高レイヤーの知識を中心に学んでいたので、未知の領域である低レイヤーの仕組みが新鮮に映り、魅力的でした。 

その後、組み込み系の授業をしていた教授の研究室に入りました。何を研究テーマにしようかと論文を読み漁っていたところ、当時ちょうど不揮発性メモリが話題になっていたんです。「もしも揮発性メモリが不揮発性メモリに置き換わると、OSの構造はどのように変化するのか」という類のテーマを研究する人が出始めていました。そのテーマに自分も興味を持ち、教授と一緒にカーネルのファイルシステムの仕組みについて研究するようになりました。 

――その後、LINEのインフラエンジニアとして働くことを決めた理由を教えてください。 

就職活動ではさまざまなIT企業を調べていました。すると、LINEが募集していたインフラエンジニアの業務内容のなかに「OSの管理・運用」という記載があったんですよ。自分の研究テーマとも関連する分野なので、どのような仕事なのか気になって応募しました。 

選考フローのなかで、LINEのシステム室で働くメンバーと話す機会がありました。私の大学の研究内容についても触れたところ、それに関連して鋭い質問をたくさん受けましたね。 

――どのような質問内容でしたか? 

たとえば、「もしも芳賀さんが簡単なファイルシステムを新しく作るならば、どれくらいの期間で作れますか?」「ジャーナリングファイルシステムの仕組みについて、芳賀さんの知っている範囲で教えてください」「大学で研究・開発しているファイルシステムでは、スーパーブロックやinode等でどういった特別な情報を管理していますか?」など、他の企業の採用面接ではなかなか受けないようなレベルの高い質問ばかりでした。 

――LINEで働こうと思った決め手はありますか? 

LINEに内定をもらった後、社員から「芳賀さんがLINEで働くかどうかを決めるにあたって、私たちが提示できるような情報はありますか?」と言われたんです。そこで、「私と年齢が近い社員と話してみたいです」と答えました。すると、インフラの管理に携わっている若手社員2人と私とで、カジュアルに話す場を設けてもらえました。 

議論をするなかで、LINEのエンジニアのスキルが非常に高いことや、社歴が浅くても実力さえあれば裁量の大きな仕事を任せてもらえることなどがわかり、「この会社ならば自分のキャリアにとってプラスになる」と考えて、LINEで働くことを決めました。 

 

GPUスペックの統一により管理コストを削減 

――ITSC システム室 システムエンジニアリングチームの役割や、チーム内での芳賀さんの業務内容についてお話しください。 

私たちのチームはインフラ関連の業務のうち、各種ハードウェアやOSの管理・運用を主に担当しています。私はチームのなかで、GPUサーバーやLINEのプライベートクラウドであるVerdaのベアメタルサーバーの構築・管理・運用などをしています。 

――他社と比較して、LINEの環境はインフラエンジニアにとってどのような部分が面白いでしょうか? 

まずはインフラの規模です。物理サーバーと仮想サーバーを合わせると台数は2022年3月時点で約16万台で、その数は毎年増え続けています。この規模のインフラに携われる企業は、日本国内では相当限られています。 

また、他社の場合はパブリッククラウドを使ったり、インフラ管理の業務をアウトソーシングしたりというケースも多いです。一方のLINEはサーバーの調達からセットアップ、設定、運用、モニタリングに至るまで広範な業務をインフラエンジニアが担うため、それらの業務を通じてスキルを向上させることができます。 

――サーバー運用に関連するエピソードとして、芳賀さんは「LINE社内におけるGPUサーバーのスペック統一化」を実施されたと伺いました。この内容について教えてください。 

LINE社内で、いずれかのチームがGPUサーバーを使用する場合、「①そのチームがシステムエンジニアリングチームに、使用する台数や必要なスペックなどのリクエストを出す」「②システムエンジニアリングチームが適切なGPUサーバーを提案・構築・提供する」「③そのサーバーを運用する」という流れになっています。 

動画のエンコードや機械学習のトレーニング・推論など、GPUサーバーには多種多様な用途があります。そして、それぞれの用途に適しているGPUサーバーのスペックも異なります。私がGPUサーバーの管理を担当する前までは、各チームからリクエストを受けると、その内容に応じてオーダーメイドのような形でGPUサーバーを構築・提供していました。 

ですが、その形では各サーバーのスペックがそれぞれ少しずつ異なるため、かつてはGPUサーバーの管理業務に多大な工数がかかっていました。この課題を解消するため、私はGPUをいくつかの使用用途に分類し、数種類ほどのスタンダードなGPUスペックを用意しました。 

そして、よほど特殊なリクエストでない限りは、それらのスタンダードなスペックのサーバーからどれかを選んで、各チームに提供する形に変えていきました。それにより、管理業務の煩雑さが大幅に低減し、GPUサーバーの管理担当が私1人でも、運用できるレベルにまで落とし込むことができました。 

 

ベンダーとの情報連携を行い、円滑なサーバー調達を実現 

――インフラ領域での他の取り組みとして、GPUサーバーの調達に関する業務のことも伺いたいです。 

定期的にGPUサーバーを利用しているチームにアンケートをとり、将来的にどれくらいのサーバー台数が必要になりそうかという需要を把握しています。そのうえで各種サーバーベンダーと弊社とで情報連携を行って、余裕のあるスケジュールでサーバーを調達することで、インフラリソースが不足しないようにしています。 

また、ベンダーから最新のGPUサーバーを定期的に提供してもらい、そのスペックをテストしています。このテストではMLPerfというGPUベンチマークツールを用いたり、TensorFlowやPyTorchなどの機械学習系のライブラリを活用したりして、サーバーの性能を検証します。テストを通じて、そのサーバーを私たちのスタンダードGPUスペックに入れるかどうか、入れるならばどのようなスペックにするかなどを調査しているんです。 

この調査の過程では、GPUサーバーを利用しているチームとの連携も必要不可欠です。各チームが求める要件やスケジュール、コストメリットなど複数の点を鑑みながら、サーバー調達やスペック定義の方針を決めています。 

――いまお話しいただいた事例のように、システム室のメンバーが他部署のメンバーと日常的にコミュニケーションをとる機会は多いですか? 

そうですね。日常的にSlack上などでやり取りをしています。LINEはそれなりに規模の大きい企業ですが、各チームとの情報連携は行いやすい環境です。たとえば、GPUサーバーに関しては、新規プロジェクトやハードウェアイシューの相談などができる専門チャンネルがSlack内に用意されています。そのチャンネルに何かを投稿すると、専任のエンジニアが対応します。 

課題を解決する過程でインフラエンジニアとして成長できる 

――チームとしての今後の目標を教えてください。 

私たちが取り扱うサーバー台数は日々増加しており、それに伴って1人あたりの管理する台数も増えています。具体的には、ITSC システム室が管理する全サーバーの台数をインフラエンジニアの人数で割ると、1人あたり約1,000台を管理しているような状況です。 

そのため、サーバーを効率的に管理するための体制や仕組みを構築していくことが必須要件になってきます。直近の取り組みとしては、全サーバーのOSの設定ファイルを一元管理するためのシステムをチーム開発しています。こうした活動を、これからも続けていきたいです。 

――このチームで働いたことで、芳賀さんのキャリアにはどのような好影響があったと思いますか? 

キャリアとして影響が大きかったのは、大規模インフラを管理・運用する経験を積めたことや、ハードウェアの知識が身についたこと。特にGPUに関しては入社当初はあまり詳しくない状態でしたから、ゼロから新しい分野のスキルを身につけるという、貴重な経験ができました。 

自分が担当できる領域が着実に広がっている実感があり、その裁量の大きさがやりがいにもつながっています。それから、複数のプロジェクトを抱えながら、タスク管理やスケジュール管理をしているため、マネジメントスキルも身についたと思います。 

――エンジニアとして、今後はどのようなキャリアを歩みたいですか? 

エンジニアのキャリアに関連して「マネジメント志向かスペシャリスト志向か」というテーマがよく議論にのぼります。私としては、もちろん技術的なスキル研鑽も続けるものの、マネジメントのスキルを今後はメインで伸ばしていきたいと考えています。 

――エンジニアは比較的、技術を突き詰めたいというマインドの人が多いです。芳賀さんはなぜマネジメント領域に注力したいのでしょうか? 

LINE社内には、相当に高い専門性を持った特定技術のスペシャリストがたくさんいるんですよね。その領域の知見では、私はどう頑張っても彼らにかないません。では、何のスキルを伸ばすべきだろうかと、LINEで働く過程で自問自答してきました。 

その結果、スペシャリスト系のエンジニアと比較すると、私はマネジメントスキルが秀でているのではないかと思うようになりました。自分の強みを伸ばして、これからもさらに活躍できるように尽力したいです。 

――最後に、今後チームに加わるエンジニアに向けてメッセージをお願いします。 

今回のインタビューで紹介したGPUサーバーの例もそうですが、LINE社内には大規模なインフラを管理・運用するうえでさまざまな課題があります。そうした課題を解決することで、インフラエンジニアとして成長できます。より良いキャリアを築きたいと考えている方は、ぜひ一緒に働きましょう。 

――高いモチベーションを持ったインフラエンジニアに参画してほしいですね。今回はありがとうございました。 

 

LINEでは一緒に働くメンバーを募集しています

LINE株式会社では一緒に働くインフラエンジニアを募集しています!今回のインタビューと関連する募集ポジションはこちらです、ご応募お待ちしております。