2025-11-20 12:20:29
諏訪子
rant

【インターネット】肥大化と中央集権化が、又してもテクノロジーを破壊している

数ヶ月間はブログを書かないと約束していたのですが、どうしても休暇中の休暇を中断せざるを得ない出来事が起きました。
で、何が起きたのか?
Cloudflare がダウンし、其れと共にインターネットの半分が道連れになったのです。
だからこそ、あたしは「又してもあたしの言ってた事が正しかった」と皆さんに伝えに来ました。
皮肉な事に、此の事件はまさにあたしが来年このブログに載せようと執筆中だった記事「肥大化と中央集権化が、人類が日常生活で頼っている技術其の物をどう傷つけているか」というテーマの下書きを書いている最中に起きたのです。
丸で宇宙が、あたしが既に集めていた例に、更に追加の例をプレゼントしてくれたかの様です。

原因

更に偶然を重ねる様に、今回の問題の原因は私が此処数年ずっと批判し続けているプログラミング言語 Rust のコードにあった事です。
言語其の物ではなく、其の熱狂的な狂信者達を批判してきたのです。
Rust 狂信者達はいつもあたしにこう言います。
「Rust はバグが絶対にない聖なる言語で、何も悪い事が起こり得ない」とか、其の手のファンタジー話を。
確かにコンパイラーがメモリ関連の問題を捕捉してコンパイルを拒否してくれるのは事実です。
然し其れは、実行時に「絶対に壊れないコード」が出来る事を意味しません。
実際、Cloudflare 自身のスタッフによると、今回の問題はメモリ関連で、しかも実行時(runtime)に発生した物で、コードは Rust で書かれていました。
此れは Cloudflare がインフラの一部を Rust に書き換えたと発表した(英語・中国語・ドイツ語のみ)ちょうど53日後の出来事でした。

「53」という数字は偶々 AWS への皮肉に見えなくもないですが、これは本当に只の偶然だと思います。
只、AWS が16時間ダウンしたのが僅か1ヶ月前だった事を考えると……。
そしてあたし達076スタジオは自前のインフラを運用している為、どちらの障害でも影響を受けませんでした。
AWS が落ちた時も普通にアクセス出来、Cloudflare が落ちた時もいつも通りアクセス可能でした。

Rustの傲慢さ対C言語の自覚

C言語とRustの大きな違いとして誰もが知っているのは、「C言語はメモリセーフではないが、Rustはメモリセーフである」という点です。
然し其れがRust開発者の間に傲慢さを生み出しています。
「Rust で書かれているから絶対にクラッシュしない」といった発言がしょっちゅう見られます。

あたし達C言語プログラマー、そしてC++やアセンブリ言語も書く者(あたしは其の全て)は、自分達が使う言語が「メモリ安全性を保証する」とは売られていない事を知っています。
だからこそ、メモリリークに常に気を配り、起こりうるあらゆるエラーを捕捉し、実行時に優雅に終了したり軌道修正したりする、其の様な心構えが身についているのです。
此れは何十年もコードを書き、製品を出荷してきた中で染みついたスキルです。
もしRustコミュニティが、自分達の選んだ言語に対してより現実的な視点を持ち、「絶対に壊れないと期待していた魔法のユニコーンではない」と認めていれば、今回の問題もある程度は軽減出来たはずだと確信しています。

以上