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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

確かに、Health Mediated Deploymentsを略さずに言う機会は少ない方がいいかもしれませんね(笑)。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。