2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
LINEのインフラ組織(ITSC)のご紹介・Verda室の紹介/Verda ネットワーク開発チームについて(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
市原裕史氏:私からは、はじめにLINEのインフラ組織全体の話を紹介していきたいと思います。
まず自己紹介ですが、私はLINEに2018年に入社しました。当時はソフトウェアエンジニアとして入りましたが、2021年7月にエンジニアリングマネージャーとしてネットワーク開発チームという組織をリードすることになり、今もマネージャーを続けています。
みなさんご存じのように、たくさんのサービスが今LINEから提供されていますが、それらのサービスはほぼすべて、私たちインフラ組織によって管理されているインフラで動いています。
このインフラの全体の組織は、今表示しているような構造になっていて、ITサービスセンターというのが日本側のインフラ組織です。これとは別に、韓国側にもITサービスという組織があり、そこにはほとんどクラウドに関するチームしかないのですが、総勢192名という、かなりの数で組織が運営されています。
このITサービスセンターの中には大きく4つの組織があり、1つが私が所属しているLINEのPrivate Cloud「Verda」を管理しているVerda Platform室です。
また、オフィスのネットワーク、データセンターからインターネットに出ていくネットワークまで、すべて管理しているネットワーク室。
ほかには、LINEのデータセンターのサーバーや、サーバーの上のカーネル、そのサーバーを動かすためのツールなどを管理してるシステム室。また、LINEのすべてのデータベースを管理しているデータベース室などが、このITサービスセンターの中に存在します。
LINEの全体のインフラの構成は、基本的にはMulti-RegionでMulti-AZ構成になっています。大きくは東京・大阪・シンガポールで運営されており、東京にはMulti-AZとして3 availability zonesを用意しています。
ネットワークデバイスは、全部合計するとすでに1万台以上存在しており、それを収容しているラック数も今3,700を超えるところまできています。
また、すでにRegionを拡大する計画が複数あり、これからどんどんとこのインフラの組織は拡大していくと考えています。
次に、LINEの中で特徴的な通信のトラフィックについて紹介させてください。LINEが一番使われるタイミングは、みなさんいつだと思いますか? それは、やはりニューイヤーイベントです。
やはり新年を迎えるに当たって、家族や友だちに対してLINEメッセージで「あけましておめでとう」とか「HAPPY NEW YEAR」という言葉を送ったり、スタンプを送ったり、そういうトラフィックが爆発的に増えます。
なので、LINEの社内ではこのLINEのニューイヤーイベントに対して3ヶ月以上前から入念に準備しています。(スライドを示して)今出している図は、私たちネットワーク開発チームが管理しているLoad Balancerクラスタの、ある1つのクラスタのトラフィックです。新年を迎える前に比べて新年を迎えた瞬間が、90Gbpsくらい一気に跳ねています。
つまり倍です。倍のトラフィックが、ニューイヤーイベントでいきなり発生します。ここまでがLINEのITサービスセンターに関する紹介でした。
続いて、私たちPrivate Cloudの組織であるVerdaについて紹介させてください。Verdaとは何か? いわゆるPrivate Cloud Platformのことを、私たちはVerdaと呼んでいます。この上でほとんどすべてのLINEサービスが動いています。
私たちは大きく2つのVerdaクラスタを持っています。プロダクション用のVerdaと、LINEの開発者が自由に開発できる環境であるVerda Devという環境です。
Verdaのスケールを、このスライドで紹介します。LINE全体で見ると、フィジカルサーバーに関しては7万台以上、また、CDNを含めたピークユーザートラフィックは3Tbps以上です。
その中でVerdaが担っているBaremetalサーバーが4万5,000台以上。ハイパーバイザーが7,600台以上。その上で、バーチャルマシンがもうすぐ10万台を超えそうな状況です。このイベントの前に超えてくれていたら、ここで大きな数字が出せたのですが、まだ9万9,000台ということで、日々ここの台数は増え続けています。
では、私たちがVerdaでどういうサービスを提供しているか。今、Public Cloudでメジャーに使われているサービスをかなり網羅していると思います。
もちろん、有名なPublic Cloudほどはサービスはありませんが、このVerdaの上でLINEのデベロッパーが開発をして、開発したプロダクトをサービスとして運営できるだけのサービスを、私たちはVerdaで提供しています。
その例として、このVerdaのダッシュボードを今お見せしています。このように、Verdaのダッシュボード上でコンピュートリソースとしてサーバーを選べたり、コンテナリソースとして、KubernetesクラスタをVKSという名前で運営しています。そのほかにも、ネットワークであったり、データベース、ストレージなど、これらのサービスをあたかもパブリッククラウドのダッシュボードのように表示して、LINEの開発者たちに使ってもらっています。
ここに表示してあるものが主なサービスの一覧です。IaaSレイヤーと、このロゴマークはOpenStackのロゴマークですが、基本的にはオープンソースのIaaSコントローラーであるOpenStackをベースにして、IaaSは構築されています。
ストレージはCephを使い、一部のサービスである、Baremetalサーバー、LoadBalancer、NAT as a Serviceなどは私たちがプロプラエティに開発・提供しています。
また、そのIaaSの上ではマネージドサービスが動いており、DB系、Kubernetesの上にはさらにPaaSレイヤーがあり、Knativeを使ったFunction as a Service、CI/CDを提供しているサービスなど、いろいろなサービスをVerdaの上で提供しています。
このVerdaを作るに当たり、非常にたくさんのチームが存在します。細かくは説明できませんが、例えば本日も発表に来ているPlatform Iチーム。これはOpenStackを管理しているIaaSチームです。
Kubernetesを管理しているPlatform Kチーム。あとは私が所属しているネットワーク開発チーム。ほかに例えばVerda Reliability Engineeringチームは、Verdaの上でReliabilityの責任を持っているチームです。
こういったように、たくさんのチームの中でVerdaは作られて運営されています。この発表の前に数えたのですが、総勢85名がVerdaのメンバーとして働いています。
Verdaは、すごく外国籍の方の割合が多く、オフィシャルランゲージがチームごとに異なっています。例えばですが、日本側のチームですが基本的に英語のみを扱うPlatform Iチーム、Kチーム。私のチームは日本語と英語両方を扱っていますが、基本的にミーティングでは英語を使っています。
韓国側だと、やはり韓国語のみのチームもたくさんありますが、コミュニケーションには特に困っていません。なぜならドキュメントはすべて英語で書いてあり、話す必要があれば、LINE社内に通訳の専門チームがあるので、気軽に通訳の人をミーティングにアサインして、コミュニケーションを助けてもらっています。
Verdaのテクニカルスタックをいくつかここに並べてみました。これに収まらない数の技術スタックを使ってVerdaは構築されています。
最後に、なぜPrivate CloudとしてVerdaを私たちが運営するのか。例えば、Public Cloudになぜしないのか? ということに関しては、ここに私の答えが書いてあります。
私たちはアプリケーションデベロッパーと一緒にコミュニケーションしながら、彼らが必要なインフラリソースを提供できます。
そこの速度感は、やはり普通にPublic Cloudを使っていては得られません。また、アプリケーションデベロッパーがインフラに関して何か困ったことがあった時の応答速度ですね。そういうものは、やはりPrivate Cloudを運営していく上で一番重要なポイントになると、私は考えています。Verdaの紹介は以上です。
次に私がマネジメントをしているネットワーク開発チーム、通称NetDevチームに関して説明します。
NetDevチームは、LINEの中にあるITサービスセンターのさらに下にあるVerda Platform室という組織の中の1つのチームとしています。
Verdaでは、SDNデザインであったり、ネットワークファンクションサービスであったりを提供しています。先ほどのダッシュボードで言えば、ここの赤点線にあるものです。CDNは違いますが、DNS、LoadBalancer、Internet Gatewayは、私たちが提供しています。
私たちのプロダクトについて細かく紹介していきたいのですが、とても話が長くなってしまうので、概要と、プレゼンテーションのリンクをたくさん付けました。興味がある方は、そのリンクをたどって過去の発表を見てください。
今スライドに表示しているのは、私たちが作っているCLOS Network Contorollerに関してです。Private Cloudは、すべてCLOS Networkの上で構築されていますが、そのCLOS Networkを管理するツールを提供しています。
すべてのリソースはKubernetesの上で管理されており、すべてのCLOSスイッチの情報がetcdに格納しています。各スイッチにデプロイされているエージェントが、そのetcdをウォッチして、自分に必要な変更をプルして、自分が乗っているスイッチに対してコンフィグレーションするというモデルになっています。
次に、LoadBalancer as a Serviceについて紹介します。私たちはLoadBalancer as a Serviceもすべて自前で作成しています。例えばL4 LBは、XDPを使って提供していて、TLSターミネーションを司るプロキシサーバーであるL7 LBは、Kubernetesの上でHAproxyで実現しています。
次にDNS as a Serviceですが、大きく2つ、DNS AuthサーバーとDNS Cacheサーバー、両方とも私たちのチームが提供しています。
次にInternet Gatewayと呼んでいる、インターネットにアクセスする時のNAT Gateway Serviceです。こちらもすべてKubernetesの上に乗っていて、各NATサーバーはNFVサービスとしてVMで提供されていますが、そこで動いているエージェントがKubernetes上から引っ張ってきた情報をetcd経由で取得して、NATサーバーにNATの情報や、ルーティングのコンフィグレーションを設定して、各ユーザーのサーバーに対してNATのソリューションを提供しています。
次にPrivate Network機能です。これはいわゆるAWSのVPCのような機能で、LINEの中で複数のオーバーレイのネットワークを作れる機能です。
これは、OpenStackのNeutronをカスタマイズして構築しています。セットで利用されるNFVサービスは、すべてKubernetes上のCRDやカスタムコントローラー、いわゆるKubernetesオペレーターですべて構築されています。以上が私たちネットワーク開発チームが開発・運営しているプロダクトです。
次に私のチームのアーキテクチャと、どう仕事をしているかを簡単に説明します。
チームの中で扱っているプロダクトごとに、まずプロダクトオーナーを決めています。基本的にはプロダクトの責任を持つエンジニアとして、このプロダクトをリードしてもらっています。
それとは別に、例えば中長期的、短期的にでもやらなければいけないゴールを定めていて、それを私たちはタスクフォースと呼んでいます。
2週間のスプリントの中で、2名で構成されるタスクフォースを作ります。その2名はその2週間、その開発のみに集中します。
あらゆるミーティングには呼ばれない、あらゆるノティフィケーションも飛んでこない環境を作って、開発に集中してもらうというルールを定めています。
それ以外のメンバーは、タスクフォース以外のコモンワークと呼ばれている開発タスクやオペレーションタスクを日々そのスプリントの中で実施しています。
私自身はこのようなスケジュールで働いておらず、もちろんたくさんミーティングが入っていますが、私のチームのあるエンジニアの1日の働き方と、それを1週間に延ばした時にどういうふうに働いているか、一例として載せています。
デイリーミーティング、ウィークリーミーティングをチームでやります。基本的には、デベロップメントに集中してもらいますが、例えばですが、CSと呼んでいるカスタマーサポートの時間が私たちには存在します。
LoadBalancer、NAT Serviceなど、ユーザーが使っていてイシューが出たり、ユーザーがなにかしら問題を抱えた時に、それを解決するためのユーザーとのやり取りをする時間になっています。
また、基本的にはみんな裁量労働で働いていて、金曜日はノーミーティングデーです。早く終わったりすることは比較的自由にできますし、いつ働き始めてもいいし、いつ働き終わってもいいというかたちで、私のチームは運営しています。
どういう方がネットワーク開発チームに入ってきてほしいか。ネットワークという名前を付けていますが、ネットワークスキルは必須ではありません。私たちが要求するのは、やはりソフトウェアエンジニアリングのスキルです。
システムのアーキテクトやデザインができるとなお良いですし、自律的に働いている方を探しています。
また、私たちのサービスはほとんどKubernetesの上に乗っているので、やはりKubernetesのスキルも必要です。また、English Speakerがチームにいるので、英語のコミュニケーション能力もスキルとして欲しいと思ってます。
最後に、私たちのチームに来るとどういうことができるのか。LINEの莫大なトラフィックに触れます。日本でも有数の巨大なクラウドインフラの開発のナレッジを勉強できると思います。
また、SDN、NFVの分野でLINEはかなり先行していると思うので、先行的なチャレンジもできます。ほかにもプロフェッショナルなソフトウェアインフラエンジニアがたくさんいるので、そういった方々と一緒に仕事ができるのもメリットだと考えています。
最後に、今私のチームが開いているポジションについて、このリンクでたどってみてください。では、ネットワーク開発チームからの紹介は以上です。
LINE株式会社
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05