Open Source

Rust認証サーバーOVTL:RAM 20MBでKeycloakを凌駕

Keycloakのアイドル時512MBというメモリ消費量は、予算重視のVPSで小規模プロジェクトを圧迫していた。そこに現れたOVTLは、わずか20MBで動作するRust製認証サーバーでありながら、エンタープライズ級の機能を搭載している。

{# Always render the hero — falls back to the theme OG image when article.image_url is empty (e.g. after the audit's repair_hero_images cleared a blocked Unsplash hot-link). Without this fallback, evergreens with cleared image_url render no hero at all → the JSON-LD ImageObject loses its visual counterpart and LCP attrs go missing. #}
Rust製認証サーバーOVTLが、6ドルのVPS droplet上でアプリと共にスリムに動作している様子

Key Takeaways

  • OVTLはOAuth2 + OIDCを20MB未満のRAMで実行、Keycloakの512MBを圧倒。
  • RustはGCオーバーヘッドを排除し、予測可能で安全な認証を実現。
  • ゼロ知識暗号化とPostgres RLSにより、安全なマルチテナンシーが可能に。
  • セットアップはターミナルウィザードで、Web UIは不要。

月額6ドルのDigitalOcean dropletが、フルアプリスタックを動かすべく唸っている――認証サーバーが起動し、メモリの半分を食い潰すまでは。

ある開発者がついに我慢の限界を超えた瞬間だ。フリーランスの仕事で、エンタープライズ級の大規模案件からちょっとしたサイドプロジェクトまで、1年間Keycloakと格闘してきたが、もう計算が合わなくなっていた。ドキュメントは内部者向けの迷路のよう。Auth0のようなSaaSは? 永続的な料金とサードパーティへの信頼。そこで、2週間前、OVTLが登場した:Rustで鍛えられたOAuth2 + OIDCサーバーで、20MB未満でアイドル状態を保つ。

なぜOVTLは従来の認証サーバーをRAMで圧倒するのか?

Keycloakはアイドル時に512MBを消費する。Authentikは? サーバーとワーカーで分割され、Redisの荷物まで含めると約735MB。Zitadelは150MBにまで絞られるが、それでもパワフルなホストを要求する。Java、Python、Go――GCのオーバーヘッドから逃れられないランタイムは、メモリを急増させ、予測不能な一時停止を引き起こす。

Rustはこの脚本をひっくり返す。ガベージコレクタなし。バイナリは1秒未満で起動し、スリムなまま。短距離走者と、重い荷物を抱えたマラソンランナーを想像してほしい:OVTLは、サイドカーなし、専用サーバーなしで、あなたのアプリと同じ6ドルのVPSに収まる。開発者が的確に言った:「もしあなたのVPSが1GBのRAMを持っているなら、アプリが起動する前にそのほとんどを使い果たしている。」

そして、ここにユニークな洞察がある――NginxがApacheに取って代わった初期の頃を彷彿とさせる。当時、Apacheのコネクションごとのプロセスモデルはサーバーを肥大化させた。Nginxのイベント駆動型非同期処理は、低スペックハードウェアでそれを打ち破った。OVTLは認証においても同じことをしている:Rustのゼロコスト抽象化は、それをアイデンティティサーバーのNginxたらしめ、エッジコンピューティングが爆発的に普及する中で、リソース starved なインディーデプロイメントを席巻する poised な存在だ。

OVTLは実際のユーザーにとって十分安全か?

セキュリティは後付けではない――コンパイル時に焼き付けられている。Rustの所有権モデルは、実行時前にメモリバグを撲滅する。AES-256-GCMによるゼロ知識暗号化、ダブルエンベロープキー:サーバー側は平文の認証情報を直接目にすることはない。開発者はカスタムクレート hefesto を作成した。市販品では不十分だったからだ。

マルチテナンシー? PostgreSQL Row Level Security がDBレイヤーで分離を強制――アプリコードからの漏洩はない。PKCEは全てのAuthorization Codeフローで必須、傍受を防ぐ。MFA、ソーシャルログイン、監査ログ――全て搭載。

“ゼロ知識暗号化。ユーザーデータは、ダブルエンベロープキーモデルを使用してAES-256-GCMで保存時に暗号化されます――サーバーは平文の認証情報を直接処理しません。”

どれも簡単な選択ではなかった。しかし、それが信頼を築く。

今すぐ6ドルのVPSでOVTLを実行できるか?

セットアップはターミナルネイティブ――ブラウザUIの装飾なし。ovlt --url http://localhost:3000 を起動すれば、ウィザードがテナント作成、ユーザー、クライアント、ロールを案内してくれる。コアフローは動作する:フルOAuth2 + OIDCスタック、マルチテナント、暗号化、20MB未満。

これはアルファ段階だ。まだ2週間しか経っていない。OIDCコンプライアンスの調整が必要、Eメール送信は保留中、エッジはまだ滑らかにする必要がある。本番環境で使える――まだだ。もし半端なものが好きなら、ovlt.tech のリポジトリを覗いてみてほしい。

競合製品を比較してみよう:

サーバー アイドルRAM 言語 特徴
Keycloak 約512MB Java なし
Authentik 約735MB Go/Python Redis
Zitadel 約150MB Go DB要求あり
OVTL 20MB未満 Rust Postgresのみ

SaaSは? Clerkは月額25ドルから、Auth0は月額23ドル――シートごとにスケールし、認証情報は外部委託。

OVTLは、手頃な価格のギャップを埋める。全てを予測可能にセルフホストできる。

大胆な予測:OVTLは認証のRust時代を告げる

システムコードにおけるRustの台頭――DenoやTokioを考えてほしい――が今、認証に及ぶ。GCランタイムは時代を終えたが、常時稼働のガードにとっては予測可能性が勝利する。フォーク、改良、そしておそらくCloudflare Zero Trustとの統合も期待できる。まずインディーが勝ち、OVTLが成熟するにつれてエンタープライズが続く。

企業の誇大広告? ここにはない――これは生のビルダーの透明性だ。VCの光沢はなく、RAMの領収書とコードだけだ。

この変化は根本的だ:認証は、RAMを食う巨象ではなく、軽量な副操縦士となる。あなたのアプリは自由に呼吸できる。


🧬 関連インサイト

よくある質問

OVTLとは何で、どれくらいのRAMを使用しますか? OVTLはRustベースのOAuth2 + OIDC認証サーバーで、20MB未満のRAMで動作し、ゼロ知識暗号化とPostgres RLSによるマルチテナンシーを備えています。

OVTLは本番環境での使用に適していますか? いいえ、開発2週間後のアルファソフトウェアです。コア機能は動作しますが、OIDCコンプライアンスとEメール送信にはまだ作業が必要です。

OVTLはKeycloakやAuth0と比較してどうですか? Keycloak(512MB)よりもはるかにメモリ消費量が少なく、Auth0(月額23ドルから)とは異なりセルフホスト可能で、必須のPKCEのような組み込みセキュリティを備えています。

Sam O'Brien
Written by

Programming language and ecosystem reporter. Tracks releases, package managers, and developer community shifts.

Worth sharing?

Get the best Developer Tools stories of the week in your inbox — no noise, no spam.

Originally reported by dev.to