ダウンディテクターと上流依存関係を持たないことの真のコスト
本文の状態
日本語全文を表示中
詳細モードで約4分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Pragmatic Engineer
Cloudflare障害時にダウンディテクターも利用不可に。Cloudflareへの強依存の理由と、近い将来の変更が難しい背景をチームから聞いた。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
以下は、The Pulse #154の5つのトピックのうちの1つです。フル購読者は、この記事を2週間前に受け取りました。このような記事を毎週メールボックスで受け取りたい方は、こちらから購読してください。
多くの購読者は、The Pragmatic Engineer Newsletterを学習・開発予算で経費処理しています。そのような予算をお持ちの方は、マネージャーに送ることができるメールの例をこちらにご用意しました。
2025年11月のCloudflare障害に関する面白い詳細の一つは、リアルタイム障害監視サービスであるDowndetectorがダウンし、Cloudflareへの重要な依存関係が明らかになったことです。一見すると、これは奇妙に見えます。結局のところ、Downdetectorは稼働時間を監視するサービスなのに、なぜこのような事態を招く可能性のあるCloudflareのような重要な依存関係を抱えるのでしょうか?
Downdetectorは、マルチリージョンかつマルチクラウドで構築されていました。これは、Downdetectorを運営するOokla社のシニアディレクター・オブ・エンジニアリング、Dhruv Arora氏との会話で確認しました。マルチクラウドによる回復性は、ほとんどの製品にとってほとんど意味がありませんが、Downdetectorはクラウドプロバイダーの障害も検出するために構築されました。そのためには、マルチクラウドである必要があったのです!
それでもなお、DowndetectorはDNS、コンテンツデリバリー(CDN)、ボット保護にCloudflareを利用しています。では、なぜ自社サーバーですべてをホストするのではなく、この一つの重要な依存関係を抱えるのでしょうか?
CDNには無視しがたい利点があります。例えば:
帯域幅コストの大幅な削減 – CDNにキャッシュされたアセットははるかに高速です
CDN上のアセットはユーザーに近いエッジノードから配信されるため、読み込み時間が短縮されます
特に障害時にはDowndetectorによくある、突然のトラフィックスパイクからの保護。CDNがなければ、そうしたスパイクが自社サービスに過負荷をかける可能性があります
分散型サービス拒否(DDoS)攻撃でサイトをオフラインにしようとする悪意のある行為者からのDDoS保護
Downdetectorはより少ないサーバーで運用できるため、インフラ要件の削減
Downdetectorの利用パターンは、事業として直接収益化していない(Downdetectorは無料で利用できる)消費者によって非常に頻繁に利用されるサービスであることを反映しています。したがって、DowndetectorはCloudflareを排除することは可能ですが、コストは急増し、サイトの読み込みは遅くなり、収益は変わらないでしょう。
結局のところ、DowndetectorのCloudflareへの依存は、ビジネスモデルに基づく実用的な選択であり、Cloudflareへの上流依存関係を排除することが非常に高くつく可能性があるという判断によるものかもしれません!
Dhruv氏はこれを確認し、Downdetectorにおける設計上の選択についてさらに詳しく共有してくれました:
「DNSおよびCDNレイヤーで冗長性を構築するには、莫大なオーバーヘッドが必要になります。これは特に、Cloudflareのボット保護が世界最高水準であり、同様の機能を構築するには多大な労力がかかるためです。この種の冗長性を内蔵しているハイパースケーラー(クラウドプロバイダー)は存在します。私たちはできることを検討しますが、チーム規模が二桁であることを考えると、このような中核的なインフラを構築するのは、私たちだけでなく、あらゆる中規模チームにとって非常に困難な注文です。将来に向けて、私たちが改善できることがさらに多くあることを学びました。例えば、今回の障害では、Cloudflareのコントロールペインはダウンしましたが、そのAPIはダウンしていませんでした。ですから、私たちがより多くのInfrastructure as Codeを持っていれば、Downdetectorをより早く復旧させるのに役立ったかもしれません。私たちの側では、障害がグローバルではなかったことも確認できたので、トラフィックを移動させて影響を軽減することができました。もう一つ興味深い詳細:Cloudflareのボット保護は障害中に誤作動を起こし、正当なトラフィックをブロックし始めました。そのため、私たちのチームはそれを一時的にオフにする必要がありました」。
詳細を共有してくださったDhruv氏とDowndetectorチームに心より感謝します。
このような記事をメールボックスで受け取りたい方は、私の週刊ニュースレターを購読してください。かなり良い読み物で、SubstackでNo.1の技術ニュースレターです。
原文を表示
The below is one out of five topics from The Pulse #154. Full subscribers received the below article two weeks ago. To get articles like this in your inbox, every week, subscribe here.
Many subscribers expense The Pragmatic Engineer Newsletter to their learning and development budget. If you have such a budget, here’s an email you could send to your manager.
One amusing detail of the November 2025 Cloudflare outage is that the realtime outage and monitoring service, Downdetector, went down, revealing a key dependency on Cloudflare. At first, this looks odd; after all, Downdetector is about monitoring uptime, so why would it take on a key dependency like Cloudflare if it means this can happen?
Downdetector was built multi-region and multi-cloud, which I confirmed by talking with Senior Director of Engineering, Dhruv Arora, at Ookla, the company behind Downdetector. Multi-cloud resilience makes little sense for most products, but Downdetector was built to detect cloud provider outages, as well. And for this, they needed to be multi-cloud!
Still, Downdetector uses Cloudflare for DNS, Content Delivery (CDN), and Bot Protection. So, why would it take on this one key dependency, as opposed to hosting everything on its own servers?
A CDN has advantages that are hard to ignore, such as:
Drastically lower bandwidth costs – assets cached on the CDN are much faster
Faster load times because assets on a CDN are served from Edge nodes nearer users
Protection from sudden traffic spikes, as would be common for Downdetector, especially during outages! Without a CDN, those spikes could overload their services
DDoS protection from bad actors taking the site offline with a distributed denial of service attack
Reduced infrastructure requirements, as Downdetector can run on fewer servers
Downdetector’s usage patterns reflect that it’s a service very heavily used by consumers whom the business doesn’t really monetize (Downdetector is free to use.) So, Downdetector could get rid of Cloudflare, but costs would surge, the site would become slower to load, and revenue wouldn’t change.
In the end, Downdetector’s dependence on Cloudflare could be a pragmatic choice based on the business model, and how removing its upstream dependency upon Cloudflare could get very expensive!
Dhruv confirmed this and sharing more about the design choices at Downdetector:
“Building redundancy at the DNS & CDN layers would require enormous overhead. This is especially true as Cloudflare’s Bot Protection is world-class, and building similar functionality would be a lot of effort. There are hyperscalers [cloud providers] that have this kind of redundancy built in. We will look into what we can do, but with a team size in the double digits, building up a core piece of infra like this is a pretty tall order: not just for us, but for any mid-sized team. We’ve learned that there are more things that we can improve, for the future. For example, during the outage, the Cloudflare control pane was down, but their API wasn’t. So, us having more Infrastructure as Code could have helped bring back Downdetector sooner. On our end, we also noticed that the outage wasn’t global, so we were able to shift traffic around and reduce the impact. One more interesting detail: Cloudflare’s Bot Protection went haywire during the outage, and started to block legitimate traffic. So, our team had to turn that off temporarily”.
Thanks very much to Dhruv and the Downdetector team for sharing details.
Subscribe to my weekly newsletter to get articles like this in your inbox. It's a pretty good read - and the #1 tech newsletter on Substack.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み