2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
LINEのネットワーク開発プロジェクト(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
市原裕史氏(以下、市原):LINEの市原です。よろしくお願いします。本日は、私たちネットワーク開発チームのプロジェクトについていくつか紹介していきたいと思います。
まずは自己紹介から。私は市原裕史と申します。LINEのVerda室ネットワーク開発チームというところで、ネットワークのソフトウェアデベロッパーをしています。主にSDNやNFV、またOpenStack NeutronやKubernetesのCNI、コンテナネットワークなどを開発しています。
アジェンダの説明をします。はじめに、私たちの利用しているプライベートクラウド、私たちはVerdaと呼んでいますが、そのVerdaの紹介と、その次に本日の本題であるネットワーク開発チームのプロジェクトについて、いくつか紹介したいと思います。
まず組織についてですが、LINEのインフラ全部を担っているITサービスセンターに属しています。その中でも、プライベートクラウドの開発運用を実施しているVerda室がありまして、その中で、主にプライベートクラウドに関連したネットワーク開発プロジェクトをリードしているのが、ネットワーク開発チームになります。
Verdaには主に2つのクラスタがあって、プロダクションサービスをホストするVerdaと、開発のリソースをホストするVerda Devと呼んでいるものの2つです。
私たちのインフラがどれくらいのスケールかを紹介します。LINE全体では、すべてのフィジカルサーバーを合わせると5万台以上になります。また、ピークのユーザートラフィックは3Tbps以上になっています。その中でも、Verdaが担っているサーバーリソースは、ベアメタルサーバーで2万台以上、またハイパーバイザーで言えば2000台以上、その上で現在バーチャルマシンが5万5000台以上動いています。
Verdaが提供するクラウドサービスは多岐に渡っています。まず図の一番下のIaaSですが、基本的にはOpenStackをベースとしたIaaSサービスになっていて、それにプラスして例えばオブジェクトストレージでしたらCephであったりとか。あとは独自にBaremetal as a Serviceを作っていたり、またLoadBalancer as a Serviceも作っています。
その上でPaaSが動いていまして、例えばみなさんご存知だと思いますが、Containerを動かすためにKubernetesを利用しています。そのKubernetesは、多くの会社がそうしているように、Kubernetes as a Serviceとして提供しており、各KubernetesクラスタはRancherを使ってホストしています。
あとはめずらしいところでは、FaaSもVerdaでホストしていて、KnativeをベースとしたFunction as a Serviceも、実際にプロダクションで動かしています。
こういったプライベートクラウドを私たちがもつ理由はなぜなのか、簡単に紹介しておきます。一番左側がLINEのユーザーだと思ってください。ユーザーからサービス要望などがLINEに対して行われます。そのとき、最初のフロントになるのは事業に関わっているアプリケーション開発者です。
アプリケーション開発者がユーザーの要望を受けて、例えばインフラでこういうものが足りないとか、こういう要件があるというものを、私たちインフラ開発者、Verdaに要望を上げてきます。
そこで、アプリケーション開発者とインフラ開発者との間でコミュニケーションを密接に行います。本当にこのインフラが必要なのか、ユーザーに価値を提供するために真に必要なインフラとは何か? というコミュニケーションが行われて、インフラ開発者として新機能を提供して、アプリ開発者はその上でサービスをユーザーに提供します。
こういったコミュニケーションが密接にできることが、私たちがプライベートクラウドをホストしているメリットです。私たちは、サービスアプリケーションの要件に合わせて、インフラの開発に集中して、迅速にそれを提供可能です。こういったメリットのほかにも、コストの面であったりいろいろなメリットがあります。
次に、ネットワーク開発チームのプロジェクトについて、いくつかピックアップして紹介します。まずはじめに、Hyper-scale Internet Gatewayと呼んでいるものです。元来、私たちのネットワークインフラの中には、NATの箱があります。それは物理的な箱で、物理的な箱がゆえに、どうしてもスケールの難しさがありました。
そこで、そのNATの箱をスケールできるような新しいアーキテクチャにしたいと思い、一からInternet Gatewayというサービスを立ち上げました。物理的な箱ではなくて、私たちはNATのサービスコンポーネントをNFVのようにVMの上にホストして運用しています。
このNFVの上に置いたNATサービスは、例えばNATとインターネットをつなぐところでもスケールアウトしますし、NATとサーバーをつなぐところでもL3でスケールアウトする構成になっています。その中では、ネットワークのいろいろなプロトコルであったり、カーネルで実装されている機能であったりを駆使してやっています。
次にFine-grained end-to-end network quality monitoringを紹介します。このプロジェクトは、2015年にMicrosoftがPingmeshというプロジェクト名で論文を出していますが、それに近いものになっています。
サーバー間の通信を常に24時間365日モニタリングツールが監視していて、例えば遅延の増加や接続断を検知します。しかし、VerdaのネットワークはCLOSネットワーク構成になっているので、例えばこことここのサーバーが通信断しているからここのネットワークの機器がダメ、というのが非常に見つけづらいです。
ただ、単なる通信のモニタリングだけでは通信の問題を特定しづらい中で、通信の問題の原因箇所まで、例えばここのリンクに問題がある、このスイッチが問題になっているというところまで見つけ出すことを目指したプロジェクトになっています。
次に、Multi-tenancy Networking with SRv6について紹介します。元来私たちのLINEのネットワークは、下図の左側のようにFull L3 CLOSネットワークの上に例えばLINEのメッセンジャーやLINEマンガなど、さまざまなサービスが載っています。
ただLINEのサービスの中で、そういったフラットなネットワーク上で動かすことが難しいサービスもいくつか出てきました。例えば右側に紹介しているFinancialのプロジェクトですね。LINE証券であったり、LINE Payであったり。
そういったサービスは、やっぱり独自に独立したネットワークが必要になりますので、SRv6プロトコルを使って仮想プライベートネットワークを作るプロジェクトになっています。
テクニカルには、ハイパーバイザーのあるサーバーの上で、仮想ネットワークごとに作ったLinux VRFでVMを終端して、そこからそのVMが接続する仮想ネットワークに属しているVMに向かって、SRv6のヘッダーを付けてパケットを投げています。このようにしてL3のオーバーレイを構築しているのが、このプロジェクトになっています。
最後にLoadBalancer as a Serviceについて紹介します。私たちのロードバランササービスは下図のようなアーキテクチャになっていて、左のクライアントからパケットがルーターに届くと、そのルーターからL3のECMPでロードバランシングされて、私たちが作っているXDPベースのL4LBに吸い込まれます。
そこでさらにL4のロードバランシングが行われて、KubernetesのPod上で動かしているL7LBのワークロードに吸い込まれて、そこでL7の処理がされて、サーバーにロードバランシングされる構成になっています。
このLayer 4 Load Balancerは、XDPを使っていて、特徴的なこととしてLinux Kernelの例えばTCP/IPのネットワークスタック処理のオーバーヘッドをなくすことができます。User landまでパケットを上にあげることなく、非常にNICに近い部分でネットワークの処理をしてパケットを返すことができる技術になっています。
ほかにもいろいろなプロジェクトがあるんですが、その中でも私たちが選んだ2つ、ネットワークデータプレーンパフォーマンステストや、CLOSネットワークオーケストレータについては、このあと発表します。
最後になりましたが、私たちはネットワークオーケストレーションのポジションについて積極的に募集しています。カジュアル面談Daysでも、そういったお話ができればいいなと思っているので、ぜひご参加ください。私からは以上です。ありがとうございました。
LINE株式会社
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略