BT

BuoyantがRustとGo言語で記述されたKubernetres Service Meshの"Conduit"をリリース

| 作者: Daniel Bryant フォローする 443 人のフォロワー , 翻訳者 h_yoshida フォローする 1 人のフォロワー 投稿日 2018年2月14日. 推定読書時間: 4 分 |

あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。

原文(投稿日:2018/01/11)へのリンク

読者の皆様へ: あなたのリクエストに応じて、大切な情報を見逃すことなく、ノイズを減らす機能を開発しました。お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう

JVMを搭載したLinkerdサービスメッシュをサポートするBuoyantが、Kubernetes用の新たな試験的サービスメッシュとして“Conduit”をリリースした。Conduitのプロキシ“サイドカー”データプレーンはRustで、コントロールプレーンはGo言語で記述されている。ConduitはLinkerd 2.0ではない -- Kubernets専用であり、ターゲットとするユースケースも異なる。Buoyantは今後もLinkerdの開発やメンテナンス、有償サポートの提供を継続する、と述べている。

サービスメッシュ導入に対する関心は、LinkerdやEnvoyといったL7プロキシがオープンソースとしてリリースされたことや、IstioプロジェクトがLyft、Google、IBMの協力の下で公表されたことを受けて、昨年から劇的に高まっており、先日のCNCF CloudNativeConなどのカンファレンスでも取り上げられた。インターネット大手企業や“ユニコーン”企業の多くが、今日ではサービスメッシュと認識されているテクノロジを以前から利用している。LyftのEnvoyTwitterのFinagle、GoogleのStubbyやGlobal Software Load Balancer (GSLB)などはその例だ。Buoyantによると、Linkerdは“世界で最も広く展開されているプロダクションサービスメッシュ”であり、SalesforceやPaypal、Expedia、AOL、Monzoなどで運用されている。

Linkerdは、BuoyantのチームがTwitterに在籍していた時に、Finagle RPCフレームワークを使用していた経験を基に開発された。Buoyantのブログ記事“Introducing Conduit”で述べられているように、Linkerdを使用した企業と協業した過去18ヶ月の開発から新たに分かったのは、LinkerdのJVMリソース使用量が異常に高いデプロイメントモデルが存在することだ。

Linkerdの使用するビルディングツール -- Finagle、Netty、Scala、JVM -- は、CPUとRAMが潤沢に使用可能な環境であれば、極めて高い作業負荷までスケールアップを可能にする一方で、リソースが限られている環境向けにスケールダウンするようには設計されていない。このことは、Kubernetesデプロイメントでは一般的なパターンである、アプリケーションコードと一緒に実行される“サイドカー”プロセスとしてLinkerdプロキシを運用する場合に、特に問題となる。

ConduitはBuoyantの“次世代”サービスメッシュであり、そのプロキシデータプレーンRustで、“シンプルかつパワフル”なコントロールプレーンはGoで記述されている。Conduitのデプロイにおける最大の関心事はパフォーマンスだ、とBuoyantは主張する -- 単一のConduitプロキシはミリ秒単位のp99レイテンシを持ち、10mb 以下のRSSで動作する。さらにセキュリティの面では、フレームワークの通信手段の標準としてTLS (Transport Layer Security)を実装するとともに、Rustのメモリ安全性保証を活用している。

今回のリリースがLinkerdに与える意味について、何人かのエンジニアがTwitterを通じて質問しているが、Buoyant Conduitブログによる公式な回答は、“当面はごくわずか”というものだ。

Linkerdの開発、メンテナンス、有償サポートの提供は今後も継続します。数多くの商用版Linkerdユーザに引き続き満足頂けることを、当社は約束します。

ConduitはLinkerd 2.0ではない、とも記事にはかかれている。Conduitは非常に明確な環境 -- Kubernetes -- をターゲットとしており、AWS ECSやMesos、あるいはLinkerdのサポートする統合ユースケースのように、広範なプラットフォームに対応する計画はない。

Conduitの詳細については、プロジェクトのWebサイト、およびGitHubリポジトリを参照してほしい。ConduitのGitHub READMEには、プロジェクトが現時点では実験段階であり、HTTP/2のみをサポートする(従ってgRPCには特に適している)点が明記されている。

この記事を評価

採用ステージ
スタイル

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

冗長コードの検知と解析

Zebedee Mason 2017年11月16日 午前12時43分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT