世界を動かす技術を、日本語で。

月額3000ドルのHeroku料金を月額55ドルのサーバーに置き換える

概要

  • Idealist.orgが Herokuから自社サーバーへの移行 を実施
  • 月額 $3,000から$55へのコスト削減 を実現
  • 移行理由や 技術的な詳細 の解説
  • サーバー運用の コスト最適化手法 の紹介
  • 移行後の 運用・パフォーマンス改善 のポイント

Idealist.orgがHerokuの月額$3,000を$55サーバーで置き換えた方法

  • Idealist.orgは Herokuの高額な月額費用 (約$3,000)に課題認識
  • コスト削減のため 自社管理の専用サーバー (月額約$55)へ移行
  • 技術スタックや ワークロード要件 の再評価を実施
  • 移行プロセスでは アプリケーションのコンテナ化自動化されたデプロイ を採用
  • データベースやキャッシュなど 依存サービスの移行 も段階的に実施
  • 運用後は パフォーマンスの向上障害対応の迅速化 を実現
  • コスト削減だけでなく 柔軟な運用体制 の確立が可能に
  • 技術的な知見や 運用ノウハウの社内蓄積 にも貢献

サーバーコスト最適化のポイント

  • クラウドサービスの 利用料金の見直し によるコスト圧縮
  • ワークロードに合わせた 適切なサーバー選定
  • オープンソースソフトウェアや 自動化ツールの活用
  • インフラ運用に必要な 人的リソースの確保と育成
  • 障害対応や セキュリティ対策の徹底

Herokuから自社サーバー移行のメリット・デメリット

  • メリット

    • コストの大幅削減
    • システム構成の 自由度向上
    • 運用ノウハウの 社内蓄積
  • デメリット

    • インフラ管理の 手間・負荷増加
    • セキュリティや 障害対応の責任増大
    • スケーラビリティ確保の 技術的難易度

まとめ

  • Herokuのような PaaS利用コスト が課題となる場合、 自社運用サーバーへの移行 は有効な選択肢
  • コスト削減運用効率化 の両立を目指すためには、 技術力と運用体制の整備 が重要

Hackerたちの意見

こんにちは、Discoは友達のAntoine Leclairと一緒に作っているオープンソースのPaaSなんだ。最近はセルフホスティングやクラウドの代替についての話がたくさんあって(利点や欠点など)、ぜひ話したいなと思ってるよ!よろしく!

このサービスは、Coolifyみたいな既存のツールと比べて何を提供してるの?今は安いHetznerのVPSでほとんどのサービスをホスティングしてるから、Discoが何を提供するのか興味あるな。

「6つの環境と他のプロジェクトが動いていても、サーバーのリソース使用率は低かった。平均CPU負荷は10%未満で、メモリ使用量は32GBのうち約14GBだった。」って言ってるけど、htopの負荷平均は実際にはCPUコアごとの値なんだよね。だから、スクリーンショットにあるように8コアのCPUがあるとしたら、負荷平均0.1は実際には全体のCPU容量の1.25%(10% / 8)になるんだよ。さらに良いね!面白いブログだね!このパターンでうまくいってるよ!

クラウドのおかげで、みんなが一台のマシンでどれだけできるかを忘れちゃったよね。高いクラウド環境でステージング環境をホスティングするのはちょっとおかしいと思うけど、現代のクラウドは動く部分が多いから、そうしたくなる気持ちもわかるよ。

本番環境を完全に再現するのは助かるよね。デプロイが似てるから時間も節約できるし、本番がどうなるかのテストにもなるし。

クラウドのおかげで、みんながまだ2008年のままの気分になってるよね。

クラウドのおかげで、みんながLinuxサーバーを怖がるようになっちゃった。マークアップは、開発者の不安からビジネスが払わなきゃいけない価格に過ぎないんだよね。皮肉なことに、セルフホスティングは比較的簡単で、すごく楽しい。個人的にはHerokuやVercelの魅力がわからなかったな。サーバーを立ち上げてゼロから設定するのが一番だと思う。すべての開発者は一度は試してみるべきだよ。

クラウドのおかげで、インターネットが分散型であることを忘れちゃったよね。

これは楽しいプロジェクトベースのインフラ学習サイトの前提になるかも。クラウドでXリソースを使って、特定のリクエスト/負荷プロファイルがそれに対して動くことがわかってる。負荷を処理できるように設定しなきゃいけなくて、他の人とスコアを競う感じ。

変なのは、開発者のコストと運用コストの関係だね。給料を払うスタートアップにとって、月3000ドルはほんのわずかだよ!* * ただし、大きな注意点: Linuxインスタンスで発生するのと全く同じdevopsコストがかからない場合ね。多くのツール(特にコンテナ)が登場して、迅速で冗長なデプロイがかなり簡単で安くなったから。

たくさんの開発者にクラウドの基本を教えて、数人のクラウド担当者がいるのは、しばらくは比較的安いよね。それに、テスト/ステージング/本番を似たような構成で持っておくと、早めにミスを見つけられるし。「localstackはうまく動くけど、Amazon SESがantartica-east-1では使えない」みたいなこともなくなるし。最終的には、クラウドの請求書で数人の給料を余分に払うことになって、クラウドを使うのが利益になる。自分のサーバーを十分に早くデプロイできないときに、クラウドの価値が急に上がるんだよね。そして、それがしっかりしたインフラチームやハードウェアの価格を超えるまで価値がある。クラウドにすべてを投げ込むことでどれだけ節約できるかには曲線があるよ。

ヘッ、実際にヘッツナーのスペック(8コア、32GB RAM)に合った中古のDellデスクトップが500ドル以下で買えるよ。なんでそれをしないの?クラウドが進化する中で、なんか詐欺みたいに感じるよね。

クラウドは2006年にはお得だったけど、当時の最小のAWSマシンは普通の開発用デスクトップくらいの大きさで、物理マシンを買うためには2年以上レンタルしないといけなかった。今では、最小のAWSマシンも大きいものも、15年前の携帯電話と今のひどいノートパソコンを比べるようなもので、ハードウェアを買うのと同じくらいの期間、3〜6ヶ月はレンタルしないといけない。もし75%の割引を受けずにクラウドを使ってるなら、オンプレミスでやった方がコストも人数も節約できるよ。

それに、1台のマシンでどこまでできるかって、過去15年で大きく変わったよね。15年前は(本当にパワフルな)1台のマシンが8コアで256GBのRAM、数TBのストレージを意味してた。今は1台で256コア、8TBのRAM、PBのストレージがあるからね。

Hack Clubでも似たような経験をしたよ。うちは高校生にコーディングやエレクトロニクスを教える非営利団体なんだけど、以前はHerokuを使ってて、コストは高い月額料金だけじゃなくて、「この小さなユーティリティアプリをホスティングするのに本当に月15ドル払う価値があるのか?」って考えるのが大変だった。今年はCoolifyでセルフホスティングに移行して、Hetznerのサーバー一台で約300のサービスを月300ドルで運営してる。ほとんど問題なくて、もっとたくさんのコードを出せるようになったよ!一番の気づきは、うちみたいな組織にはほとんどのサービスで99%の稼働率があれば十分だってこと(99.99%じゃなくて)。ほとんどの開発ツールは99.99%の稼働率を目指す手助けをしてるけど、99%でいいって気づくと、世界が広がるよね。Discoはすごくクールで、試してみるのが楽しみ!

乾杯!もし何かあったら教えてね / 質問があれば私たちのDiscordに参加してね。似たようなケースを2つ知ってるよ:プエルトリコのブートキャンプ/開発学校で、学生が最終プロジェクトを1つのVPSにデプロイできるところと、Recurse Centerに設置したRaspberry Piがあって、そこでは(今確認中だけど)約75のウェブプロジェクトをホストしてるんだ。1台のPiでね! [0] https://www.recurse.com/

300のサービス??それぞれ何をしてるの?

99.99%が本当に必要なら、ハイパースケーラーは避けた方が賢明だよ。AWSの最近の数時間にわたるダウンタイムを見てみて。

なんで1台500ドルで6台のステージングサーバーが必要なのか、ちょっと理解できないな。大きなチームがいるから必要なんだろうけど…エンジニアリングの支出の中で、3000ドルと年間10万ドル以上の給料の割合はどれくらいなの?特に、問題のサイト(idealist.org)を見たら、結構退屈な求人ボードの製品に見えるし。

読んだ限りでは、彼らはそれを開発環境として使ってるみたい。1人の開発者が複数のサービスを同時に動かすためにね。だから、各開発者用に複数欲しかったんだ。

そうそう、みんなコスト計算のときにマンデーの計算を忘れちゃうよね。

ステージングサーバーは6台:メイン、開発用、あとは他の人(技術者じゃない人)にQAさせたいブランチとか。ステージングサーバーについては、デプロイごとにパフォーマンスMのダイノ、複数のスタンダードダイノ、RabbitMQ、大きめのデータベースなどが混ざってて、すぐにコストがかさむんだよね。最後に、Idealistは1日約10万人のユーザーがいるから、その裏には信頼性とスピードを支える地味な技術がたくさんあるんだ。 :-)

状況は面白いし、セルフホスティングは確かに良い解決策だね。でも、記事自体についてコメントしたいんだけど、かなりAI編集されてる感じがする。LLMに触れたことがある人ならすぐにわかると思う。でも、それが問題じゃない。主な問題は、この記事が基本的にマーケティングの一環だってこと。例えば、「Bridging the Gap: Why Not Just Docker Compose?」のセクションは、ランディングページの「Powerful simplicity」のポイントの1:1コピーだし - https://disco.cloud/ そして、このブログ投稿は彼らのメインページで紹介されている(唯一の)ケーススタディなんだ。

へへ、最初の直感は「どうやってお金を稼いでるのか見に行こう」だったよ。もうすぐその答えが出るんだろうね。

その通りだね!理由は3つあるんだけど:- ... 冗談だよ :-) 私たちのライブラリはオープンソースで、Idealistが少しお金を節約するために使ってくれてるのがすごく嬉しいし、誇りに思ってるんだ。自分の仕事に誇りを持つのはマーケティングになるのかな? :-) 乾杯!

この記事がマーケティングも兼ねてるのは初めてじゃないよね。それに、ユースケースの記事を通じて何かをマーケティングするのが悪いことなの?これはかなり穏やかな例だと思うし、マーケティングだってわかってて面白くて役立つ内容だと思ったよ。

価格競争を基にしたマーケティングブログ記事があるのに、サイト上で価格を公開してないのは面白いよね。ミーティングのスケジュールを設定するだけで、これが価格に関する最大の赤信号だと思う。

でも、それが問題じゃないんだ。主な問題は、その記事が基本的にマーケティングの一環だってこと。なんでそれが問題なの?HNのガイドラインで禁止されてるの?それとも、すべてのマーケティングをそうマークしてほしいの?どの記事が一方または他方でマーケティングじゃないの?

htopのスクリーンショットを見て、スワップがないことに気づいたよ。earlyoomを有効にした方がいいかも、サービスが暴走したときにサーバー全体がダウンしないようにね。LinuxカーネルのOOMキラーは、トリガーがちょっと遅すぎることが多いから。zramを有効にしてRAMを圧縮することもできるし、プロみたいにオーバープロビジョニングできるよ。長時間動作するソフトウェアは、かなりうまく圧縮できるメモリを漏らすことが多いからね。これが、Ansibleを使って私のHetznerのベアメタルサーバーでやってる方法だよ: https://gist.github.com/fungiboletus/794a265cc186e79cd5eb2fe... これ、VMでも動くよ。

RAMを圧縮するとパフォーマンスにどれくらい影響があるの?

いや、無理だわ。スワップに入った瞬間、大半のアプリはひどいことになるよ。これはよく知られてることで、AWSのEC2インスタンスはデフォルトでスワップを無効にしてるくらい。確かに、もっとRAMを売りたいんだろうけど、スワップが今の期待に合わないのも事実だよね。90年代ならボタンをクリックしてから2〜3秒待つのは許容範囲だったかもしれないけど、今はもうそれがダメなら再起動するって思っちゃうよね。

ちょっとしたスワップを持っておくのはいつでもいいアイデアだよね。1GBくらい。

VPSにスワップをどうやって追加するの?

昨日、Railsのパフォーマンス関連で活躍してるネイト・バーコペックが、同じアイデアについて投稿してたんだけど、Herokuの価格がパフォーマンスに対して25〜50倍も高いって、マジで頭おかしいよね。明らかに価格競争には全く興味がないみたい。彼らがソフトウェアスタックを合理的な価格でライセンスして、Sidekiqみたいなモデルで提供してくれたらいいのに。そうすれば、ちゃんとしたハードウェアを自分で用意できるのに。10年前と比べて、Herokuはどんどん高くなって、悪化してるのに、同じ価格帯のサーバーハードウェアはずっと良くなってるのが信じられない。2025年に1GBのRAM付きのダイノが50ドルなんて、完全にぼったくりだよ。Railsアプリを動かすのに必要なリソースは大して変わってないし、むしろ効率が上がってるのに。開発してるMacBookよりもパフォーマンスやリソースが劣るマシンで、何百ドルもかけてHerokuでアプリを運用してる開発者がどれだけいるか考えると、笑っちゃうよね。結局、社会全体が価格を上げて、富裕層向けにターゲットを絞ってるだけで、一般向けに良い製品を公正な価格で提供しようとしてないのが残念だよ。

「彼らがソフトウェアスタックを合理的な価格でライセンスして、Sidekiqみたいなモデルで提供してくれたらいいのに」 そのために、私たちは https://canine.sh を作ってオープンソースにしたんだ。PaaSプロバイダーが、すでに価格が上がってるクラウドプロバイダーに対して、こんなに大きなマークアップを取る理由はないよね。

地元の店がオイル交換に請求する金額が信じられないくらい高い!自分でやった方がずっと安くできるのに!レストランで decent ステーキに請求される金額も同じく、もっと安くできるのに!…!

2025年に1GBのRAMのダイノに$50は強盗だよ。正直、AWSもあんまり変わらないし… $50/月でm7a.mediumが手に入るけど、これは1 vCPU(コアじゃなくて)と4GBのRAMだよ。確かにメモリは多いけど、AWSが手にお金を入れてる理由がわかるよね。

グレッグとアントワーヌ、おめでとう!disco.cloudは本当に必要だと思う。みんなから注目されて、コミュニティからの勢いが得られるといいね!

自分のニーズにはHerokuが好きだけど、料金に奇妙なところがあって、小さなアプリが大きなアプリよりもずっと高くつくことがあるのに気づいた。

Herokuの便利さは大好きだけど、彼らのぼったくり価格は嫌い。これを誰が解決するの?