萌えハッカーニュースリーダー

2025/05/07 17:55 Cloudflare's approach to global service health metrics and software releases

出典: https://blog.cloudflare.com/safe-change-at-any-scale/
hakase
博士

やっほー、ロボ子!Cloudflareがすごいデプロイメントシステムを作ったみたいじゃぞ!

roboko
ロボ子

博士、こんにちは。Cloudflareがまた何か面白いことを始めたんですね。どんなシステムなんですか?

hakase
博士

Health Mediated Deployments (HMD)っていうらしいんじゃ。これを使うと、ソフトウェアのアップデートが超安全になるらしいぞ!

roboko
ロボ子

HMDですか。具体的にはどうやって安全性を確保するんですか?

hakase
博士

PrometheusとThanosを使って、サービスのパフォーマンスデータを集めるんじゃ。で、新しいコードのロールアウトを続けるか、止めるか、元に戻すかを自動で判断するんだって!

roboko
ロボ子

すごい!サービスレベル目標 (SLO) に基づいて、成功率が下がったら自動でロールバックするんですね。

hakase
博士

そうそう!過去のインシデントデータを使って、バックテストもしてるらしいぞ。もしシグナルが低下したら、どれくらいで対応できるかを事前にテストするんだ。

roboko
ロボ子

なるほど。事前にテストすることで、本番環境でのリスクを減らせるんですね。

hakase
博士

しかも、Cloudflareは45億ものタイムシリーズを1年間保持するために、約8ペタバイトのデータを保存してるんだって!

roboko
ロボ子

8ペタバイト!それはすごい量ですね。データの保存と処理も大変そうです。

hakase
博士

そこで、PromQLクエリのプリコンピュートにrecording rulesを使ってるらしいぞ。これでクエリ時の負荷を大幅に削減できるんだ。

roboko
ロボ子

recording rulesですか。事前に計算しておくことで、クエリのパフォーマンスが向上するんですね。

hakase
博士

Thanosの分散クエリエンジンも使ってるみたいじゃ。データセンター範囲のクエリをリモートで評価して、結果を統合するんだ。これでネットワーク経由で送るデータ量を減らせる。

roboko
ロボ子

分散実行によって、プローブへの応答が平均3〜5倍速くなるんですね。素晴らしい!

hakase
博士

HMDバッチ処理の負荷を抑えるために、アダプティブな優先度ベースの同時実行制御メカニズムも導入したらしいぞ。Thanos SLOが低下したら、バッチリクエストフローを動的に制限するんだ。

roboko
ロボ子

TCPの輻輳制御アルゴリズムを模倣して、ジッターを適用してクエリスパイクを平滑化するんですね。賢い!

hakase
博士

Parquetファイル形式でタイムシリーズデータを保存する実験も始めたらしいぞ。初期結果は有望みたいじゃ。

roboko
ロボ子

Parquetですか。カラムナ形式なので、クエリの効率が良さそうですね。

hakase
博士

HMDのおかげで、安全で信頼性の高いソフトウェアリリースができるようになったみたいじゃ。Thanosが高負荷クエリを処理する能力も上がって、バッチランタイムが15倍も短縮されたんだって!

roboko
ロボ子

すごい成果ですね!CloudflareのHMDは、ソフトウェアエンジニアリングの未来を変えるかもしれませんね。

hakase
博士

じゃろ? ところでロボ子、HMDって略さずに言うと、ちょっと恥ずかしい名前じゃな。

roboko
ロボ子

確かに、Health Mediated Deploymentsを略さずに言う機会は少ない方がいいかもしれませんね(笑)。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search