LINEすべてのサービスに対して、1つの部署がインフラを提供している

木村智洋氏:ITサービスセンターのシステム室の木村と申します。よろしくお願いします。大きな会社の組織的な話から始まるんですが、まずはITサービスセンターというところがあります。LINEに関するすべてのサービスのインフラを1つの部署が提供しています。

他の会社だと、1つのサービスにつきインフラエンジニア、もしくはインフラをやっている人たちがいるというところが多くあると思います。LINEの場合は、サービスをやっている開発部隊だったり、サービスを提供している部隊だったりが縦にいて、それを僕たちがインフラとしてすべて提供しています。

(スライドを示して)上からLINEのユーザーがいて、LINEのビジネスをやっている人たちがフロントにいます。その後ろに開発組織がいて、例えばLINEのコミュニケーションサービス、Family App、広告プラットフォームなどが個別に開発組織としてあります。そこに対してインフラエンジニア、ITサービスセンターというところが同じインフラを提供しているという流れになっています。

ITサービスセンターの3つのミッション

(スライドを示して)これはITサービスセンターとしてのミッションです。3つあります。「インフラサービスを通じて、ビジネス課題を根本的なレベルで解決することでビジネスを加速させる」。「LINERが仕事に専念できる環境を提供して、インフラサービスの業務の最適化を目指す」。「安定的で信頼性のあるインフラサービスにより、LINEユーザーとLINEサービスの距離を縮める」というのが、私たちITサービスセンターの大きなミッションになっています。

インフラの規模感

LINEのインフラの規模感です。物理サーバーでいうと7万台強あります。その上で動いている仮想サーバーが10万ノードあります。物理サーバー単品として動いているサーバーもあり、一部はハイパーバイザーでその上に仮想サーバーが載っています。ネットワーク的なトラフィックですが、LINEから外部に出てくるトラフィックでいうと、3Tbps強あります。これがLINE全体のインフラの規模感になっています。

インフラエンジニアの技術スコープ

LINEのインフラエンジニアの技術スコープですが、基本的にはOSの下からデータセンターまでをやっています。それプラス、ミドルウェアとしてデータベースや、ストレージもやっています。なので、スタックの下からいくとデータセンターもやっていますし、サーバー、ハードウェアも見ています。あとはネットワークのハードウェアも見ています。

あとはプライベートクラウドとしてインフラストラクチャのプラットフォームがあって、その上でベアメタルのサービスを提供していたり、ハイパーバイザーを準備してVM(仮想マシン)を提供しています。その上にOSというもの……特にLinux、CentOSを使っています。その上のライブラリやアプリケーションは基本的にはインフラエンジニアのOut of Scopeになっています。

例えばNginxを見たりなどはあまり多くはないです。ただ、インフラストラクチャのプライベートクラウドでは一部当然Nginxで動く何かがあったりするので、まったく触れないというわけではないですし、そこの知識も不要というわけではありません。

システム室の技術スコープ

ここまで少しITサービスセンターという大きな部署の説明をしましたが、ここからはシステム室としての技術スコープをお話しします。システム室は、物理的なサーバーのハードウェア、そしてそれに対するベアメタルとしてサービスを提供していたり、VMの一部も見ています。それからOS、Linuxだったり、Windows Serverも見ています。このあたりが大きなターゲットになります。

当然他の部署との関わりもあります。データセンターに関わっていたり、ネットワークにも関わっていたりします。あとはアプライアンス系のストレージとして、サービスを提供しているところもあります。

OSとサーバーハードウェアの管理をするエンジニアリングチーム

システム室のチームの構成と仕事内容です。今はチームは少し変わりつつあるのですが、大きく分けて3つのチームになっています。エンジニアリングチーム、ソリューションチーム、デベロップメントチームに分かれています。

エンジニアリングチームは、OSとサーバーハードウェアの管理をしています。OSの管理でいうと、まずはLINEの開発者が使うOSを標準化をして、そのOSの自動インストール環境を開発して運用しています。

サーバーハードウェアの管理でいうと、1年ごとや1年半ごとに新しいサーバーやCPUが発表されるので、最新の機器の性能を評価・選定をして、LINE全体としてそのハードウェアを使えるようにパフォーマンステストやバリデーションをやっています。

今だとGPUも、かなりのAIの機械学習などで使われているのでGPUの検証ですね。パフォーマンステストや、電力コストなどもやっています。あとはデータセンターの一部の仕事として、サーバールームのラック管理をしています。どこのラックにサーバーを何台積んだかというのを、先ほどやったサーバーの性能評価と合わせてやっています。

FinTechのインフラ、環境構築を担うソリューションチーム

ソリューションチームは、特にFinTechサービスのインフラ、環境構築をやっています。FinTechサービスはどうしてもラックが限定されていたり、レギュレーションがすごく厳しい。ネットワーク的なACLの制限がかなり厳しかったりするので、すごく閉じたインフラを作る必要があります。なのでそこの構築をリードしていく部署になっています。

あとは、多くのLINEでは「Verda」というプライベートクラウドを使っていて、そこではOpenStackをベースにした仮想化環境を提供していますが、FinTechの場合は少し閉じた環境なので、大規模なVMWareの環境を構築して運用しています。

LINEの中では0.1パーセントほどの規模ではありますが、本当に一部においてパブリッククラウド環境を構築しています。あとは先ほどの7万台というサーバー、仮想マシンでいうと10万ノードがあるので、使用率の低いサーバーの可視化だったり、その回収システムだったりを作って運用しています。

それからまったく新しいサービスを作る時にインフラのコンサルティングを行ったり、ディレクションだったりをソリューションチームのところで行っています。

インフラの資産の管理システムを独自で開発するデベロップメントチーム

3つ目のデベロップメントチームについて。7万台の物理サーバー、10万ノードのVMがあるので、そこのインフラの資産の管理システムを独自で開発しています。それからリソースです。各サーバーがどれぐらいCPUを使っているかモニタリングシステムを使って見ています。

あとはサーバーのログインの権限管理ツールを開発しています。なので、インフラに関する一部をデベロップメントチームのところでは開発しています。

ほかにもネットワーク室だったり、あとで出てきますがVerdaを作っているチームなどと連携をしながら仕事をしています。

システム室の技術スタックと業務環境

システム室内で使っている技術スタックや業務環境はこういう感じです。Linuxは当然ありますし、開発ツールとしてはPythonやPerlを使っています。フロントではVueやNode.js。あとはシステムを稼働させるためにKubernetesなんかも使っています。当然データベースでMySQLを触る経験もできます。

部門としての現在の課題と今後の展望

システム室の現在の課題と今後の展望です。LINEは今も成長し続けておりサーバー台数は年々増加していく傾向にあります。なのでコストがすごくかかりますし、サーバーが増えれば故障も増えてオペレーションのコストも増加していきます。そのため、サーバーのコスト、オペレーションコストの削除のために何かを作り出すとか、そういうこともやっています。

あとはAll Verda。プライベートクラウドをどんどん使ってもらえるように促進もしています。ほかにも管理ソフトウェアも開発をしていますし、1回作ったきりではなくどんどん改修をしていって使いやすいものをどんどんリリースしています。毎年新しいサーバーハードウェアが出てくるので、サーバーの検証、OSの検証、セッティングともやっています。

それから今はガバナンスの遵守もどんどん進めていっているところです。システム室は以上となります。