2026年7月18日(土)掲載 2,718本日 0
HN14244

ついにブラウザで動く時代へ!Kubernetesをブラウザに移植した「Webernetes」がすごい

I ported Kubernetes to the browser

peterdemin17日前

議論

11
1duncangh17日前

この投稿が盛り上がる前に、早めに投資しておくよ。これは間違いなく名作になる。

2sighansen17日前

トークンのコストが爆上がりした時にも、こういうものが作れるようになるのか気になる。

3jaggederest17日前

Kubeの複雑さに関するジョークが飛び交うことを予想して書いておくけど、Kubeのようなものは「Kubeが達成しようとしているタスク」に対しては必要な複雑さレベルにある、という興味深い議論ができると思う。フレッド・ブルックスの「本質的複雑さ vs 偶発的複雑さ」のルールにも通じるね。

もちろん、もっとシンプルにできることに使えば、すぐに偶発的な複雑さに変わってしまうけど。

4raychis17日前

まずは何より、これ最高にクールだね。
LLMを活用したエンジニアリングのフレームワークとして、まさに正解の形だと思う。AIは驚くほど大量のコードを生成できるけど、真の価値はレビューの規律やその周辺にあるテストにあるからね。ブラウザ上でKubernetesを動かすという切り口も面白いけど、個人的にはワークフロー、特に「見た目が正しい」と信じ込むのではなく、k8sに対して振る舞いをテストする手法に惹かれる。AIが書いたコードに対してこれレベルの検証をしているチームがどれくらいあるんだろうか。今後数年でみんなが向かう方向性かもしれないね。

5dinkleberg17日前

これは面白い。過去にKubernetesの教育用コンテンツを作っていた身としては、こういうものを作る魅力がよく分かる。以前Katacodaや類似のプラットフォームを使っていたけど、ユーザーごとに特定のセットアップで新しいインスタンスを即座に立ち上げられるのはすごく便利だったよ。

ただ現時点では、概念的・アーキテクチャの学習用として使うのが良さそうだね。本当に楽しくなるのは、kubectlをマスターし始めてからだし。

6mcapodici17日前

素晴らしい。自分が先に思いつかなかったのが悔しいくらい。学習や実験のための楽しいツールとして最高だね。

サービスロードバランシングやキューイングのシミュレーションができるWebページをずっと作りたいと思っていたから、これは素晴らしい土台になりそう。

7malisper17日前

興味深いメタトレンドとして、既存システムを新しいプログラミング言語(特にRustが多い)に書き換えるプロジェクトがAIを活用しているケースが増えているよね。

  1. Rustで書き直されたBun
  2. Rustで書き直されたFlow
  3. Rustで書き直されたreactコンパイラ
  4. RustでのGitの新しい実装であるGrit
  5. 自分が作ったPostgresのRust書き換え版。回帰テストと分離テストを100%パスする[0][1]

AIはソフトウェア工学全般の経済性以上に、こういったプロジェクトの経済性を変えたと思う。まあ、AIの直接的なコード翻訳は自分にとってはたいてい雑なものなんだけどね。

これに対処するためにやったことの一つに、こんな監査スキルを作ったんだ。

  1. 書き換える小さなコード片を見つける
  2. 書き換え対象の各コードにおいて確認すべき項目のリストを用意する
  3. それを翻訳されるコードの隣に配置する
  4. ドキュメントが存在しない、あるいは監査をパスしたと書かれていない場合はマージしない
  5. 問題やアンチパターンを見つけるたびにスキルを更新していく

これだけで全ての不備を防げるわけじゃないけど、プロセス全体の一部として大量の問題を未然に防ぐことができたよ。

複雑で古い「退屈な」インフラ系ソフトウェアこそ、今AIによる書き換えが最も適しているのかもしれないね。

[0] https://pgrust.com
[1] https://github.com/malisper/pgrust

9tekacs17日前

まずは、本当に素晴らしい出来だね!

小さな考えというか質問なんだけど、PodsをWeb Workersで実行するように構成されていないのは少し意外だったな。

Clockメカニズム(クラスターをステップ実行できる機能)があるから、その構成だと難しくなるのは分かるんだけど……SharedArrayBuffer(COOP/COEP設定が必要だけど)を使えば、Atomicsでなんとかなるんじゃないかな。

この設計で本格的にスレッドを扱えたらめちゃくちゃクールだと思う!

10playorizaya17日前
  1. これって実際にブラウザ内でコンテナを動かしているわけじゃないよね?どのサービスもカスタムコネクタが必要そうだし、もっと重要なのは……

  2. レンダラーが必要だよね?そうじゃないと「ブラウザに移植された」ってどういう意味なんだろう?

例えるなら、誰かがDOOMをブラウザに移植したなら、それはブラウザで遊べるってことだよね。でも、そこに表示されているデータベースをそのブラウザタブで実際に動かせるわけじゃないだろう?

例えばruby2dを立ち上げて、即座にクライアントサイドでRubyをサポートするなんてことはできない。ブラウザタブ内で実際に動かすには、ありとあらゆるカスタム作業が必要になるはず。

通常のバックエンドコンテナサービスならどこにでも移植して動かせるだろうけど、これはそうじゃないよね。

だから、どういう意図があるのか分からないし、もし間違っていたら誰か訂正してほしいんだけど、謳い文句通りのことができているようには見えないな。