Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。
Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
Pingoraは現時点でコードなどは公開されていませんが、いずれオープンソース化の計画についても明らかにするとCloudflareは説明しています。
Today we are excited to talk about Pingora, a new HTTP proxy we’ve built in-house using Rust that serves over 1 trillion requests a day, boosts our performance, and enables many new features for Cloudflare customers. Read all the details: https://t.co/PvUG42oFje
— Cloudflare (@Cloudflare) September 14, 2022
NGINXはアーキテクチャや開発体制に課題があると指摘
CloudflareはNGINXの性能上の課題について、各リクエストが1つのワーカーで処理が行われる仕組みが特定のCPUコアに負荷を偏らせること、接続の再利用性が低いことなどが、性能低下を引き起こしていると指摘。
またオープンソースであるNGINXのアップストリームから乖離しない範囲でNGINXが望む機能を独自に追加していくのは容易ではなかったこと、NGINXはメモリセーフではないC言語で書かれていること、そしてNGINXのコミュニティはあまりアクティブではなく、しかも外部に対して閉鎖的であることなども、NGINXの採用を辞めた理由として挙げました。
そこでCloudflareは3つの選択肢を検討しています。
1つ目はなんとかしてNGINXをこのまま使うか、もしくは自社でフォークしてNGINXベースのソフトウェアを使い続けること。2つ目はEnvoyなどNGINX以外のHTTPプロキシの採用を検討すること、そして3つ目は独自に最初から開発することです。
1つ目の選択肢はNIGIXのアーキテクチャの課題の解決にならず、2つ目の選択肢は短期的にはよくても将来、NGINXと似たような課題を抱える可能性を排除できないとされ、最終的にCloudflareは3つ目の選択肢であるHTTPプロキシの自社開発に乗り出すことにしたと説明されています。
あわせて読みたい
セールスフォース、リアルタイムなCRMを実現する「Salesforce Genie」発表。ベニオフCEOがウサミミを付けてアピール
≪前の記事
S3互換の「Cloudflare R2」が正式サービスに。データ転送料無料、10GBまで無料の分散型オブジェクトストレージ