あなたが作ったサービスを世に公開する最良の方法 — DHHが語るベアメタルサーバーとKamal、そして‘No Build’の哲学
Railsを学ぶとき、いつか必ずこのような気持ちが生まれる。
「今、自分も作ったサービスをインターネットに実際に公開してみたい。」
その時、ほとんどの人はこう考える。
「AWSを使おうか?」
「GCPがいいって言う」
「Dockerをビルドして、CIを作って、Kubernetes…?」
そしてすぐに圧倒される。
「開発よりデプロイがもっと難しいじゃないか…?」
現在のクラウド時代は、
開発者に過度な複雑さを強いる時代になってしまった。
これは技術の進歩ではなく、
不要な抽象化とコスト増加の結果である。
そのため、DHH(Basecamp・Rails創設者)は再び叫び始めた。
「クラウドを離れろ。
サーバー1台を捨てろ。
そしてKamalでデプロイしろ。」
この主張は単なる頑固さではない。
現実的なコスト削減、
難易度低下、
スピードの最大化、
開発者の尊厳回復がその中心にある。
これから1つずつ説明していこう。
1. ベアメタルサーバーとは何か?
AWS、GCPなどのクラウドは、
簡単に言えば他人のコンピュータを一時的に借りて使うことである。
料金は高く
構成は複雑で
いろいろなところで料金漏れが起きて
障害が起きたら解決が難しくなり
結局毎月‘クラウド税’を支払う構造になる
一方、ベアメタルサーバーは:
自分の所有する本物のコンピュータ(サーバー)をIDCデータセンターに置いて直接使用する方法である。
利点は明確である。
費用が信じられないほど安い
クラウド月100万ウォン →
同じスペックのベアメタルサーバー月15〜20万ウォン
そしてそのサーバーは自分のもの。
追加料金爆弾なし。
パフォーマンスがより強力である
水が半分入った共同サーバーを分けて使うのではなく
CPU、SSD、RAMを100%自分が使う。
Railsアプリは特にIOパフォーマンスとシングルスレッドパフォーマンスが重要なため
ベアメタルでははるかに速い。
障害が少ない
AWSは毎年大規模な障害がある。
しかしベアメタルは“ただのコンピュータ”なので
複雑なネットワーク抽象化から生じる障害がない。
2. Kamal — デプロイを‘1行のコマンド’にするRails式デプロイツール
DHHが直接作った最新のデプロイツールがまさにKamalである。
KamalはRailsの哲学をそのまま受け継いでいる。
複雑なものを嫌い
自動化を好み
直感的であるべきだ
Kamalの役割は単純である。
あなたが持つサーバーに
DockerコンテナでRailsアプリをアップロードし、
再起動し、ログ管理まで
すべて自動で行うツール。
デプロイはこれで終わる:
bin/kamal deploy
Kamalを使えば
“デプロイサーバーが別にある会社”のように
専門的なインフラ環境を1人の開発者が体験できる。
Kamalの優れた点の要約
重くて複雑なCI/CDが不要
GitHub Actionsなしでもデプロイ可能
Kubernetesなどを知らなくてもよい
SSL自動発行
Docker管理自動化
サーバーアップデート自動化
ゼロダウンタイムデプロイ
Rails開発者が夢見るシンプルさの最高峰である。
3. No Build — “複雑なビルドパイプラインは不要だ”
最近の開発環境はおかしくなった。
フロントはWebpack
バックエンドはCI/CD
Docker Multi-stage Build
Terraform
Kubernetes
クラウドロードバランサー
そのため初心者はこうなる。
“まだサービスもないのに
インフラ構築だけ3週間…”
これが正常なのか?
DHHは言う。
“ビルドパイプラインをなくせ。”
“最小限の手順で十分だ。”
“開発 → デプロイ → 運用の間のすべての中間段階を取り除け。”
Kamalはこの哲学を実装する。
追加ビルドサーバーはない。
CIパイプラインも必要ない。
Dockerfile1枚で終わりだ。
“コードを作成し → Dockerイメージを作成し → サーバーにアップロードし → 終了。”
この単純さが
起業家に決定的なスピードをもたらす。
4. なぜクラウドを使わない方が良いのか?(本当の理由)
これは感情的な主張ではなく、
今世界中で実際に起こっている変化である。
クラウドはスタートアップの費用を侵食する
毎月100万ウォン、200万ウォン
サービスが少し大きくなると1,000万ウォンを超える。
しかしベアメタルサーバーは
月15〜30万ウォンで済む。
クラウドは複雑さのために開発スピードを遅くする
AWSの構成要素は多すぎる。
VPC
サブネット
セキュリティグループ
IAM
ALB
ASG
ECS/EKS
NATゲートウェイ…
これをすべて学び理解するのに6ヶ月以上かかる。
その間に
Rails開発者はすでにMVP3つを作成しリリースする。
クラウドは障害が起きたら回避する方法がない
AWS全体の障害 =
すべての顧客の不満が爆発する。
自分のサーバーなら問題の原因を直接見てすぐ修正可能だ。
Railsはベアメタル + Kamalの組み合わせで最高のパフォーマンスを発揮する
Railsは“サービスを瞬時にデプロイする開発体験”を追求する。
Kamalはこれを完璧に満たす。
5. 最小人員でユニコーンになる道は?
→ Rails + AI + ベアメタル + Kamal
この組み合わせは正直言って非常に強力である。
Rails → 開発スピード1位
AI → 繰り返し作業の自動化
ベアメタル → 費用削減 + 高性能
Kamal → デプロイストレス0
これをすべて組み合わせると?
1人で10人チームレベルの生産性を発揮する。
2人なら50人チームを代替する。
収益構造は軽くなり、
製品のリリーススピードは最大化され、
市場フィードバックループは速くなり、
ユニコーンの可能性は高まる。
実際、Basecamp、HEY、Shopify初期、GitHub初期はすべて
“少ない人員 + Rails + シンプルなインフラ”で成長した。
AI時代にはこの戦略がむしろさらに強力になっている。
結論 — あなたが作ったサービスをインターネットに公開したいなら、クラウドに行かず‘自前サーバー’に行け。
ベアメタルは安くて速くてシンプルだ。
Kamalはシンプルで強力だ。
Railsは生産性が圧倒的だ。
AIはあなたのチーム規模を10倍に拡大する。
これらすべての組み合わせは
初心者開発者にも、
1人起業家にも、
小規模チームにも
過去には夢も見なかったスピードと費用構造を提供する。
だから私たちはこう言える。
“未来のユニコーンは
Rails + AI + ベアメタル + Kamal方式で誕生する。”
そしてそのユニコーンが
まさにあなたのサービスであるかもしれない。
