衝撃!クラウドから全プロジェクトを外したら数千ドル節約できた!
引用元:https://news.ycombinator.com/item?id=45816041
クラウドの黒白はっきりした意見は好きじゃないな。EC2 instanceだけ動かすスタートアップはHetznerとかに移行すればかなり節約できるのは本当だよ。でもクラウドにはたくさんメリットがあるんだ。
・色々なサービスがすぐ使える(バックアップ、DB、AZなど)。
・初期費用なしで、すぐ使える。
・ピーク負荷時に安くなる。
・多くのサービスが認証済み。
エンジニアリングの時間も高いから、クラウドの節約分なんてすぐに相殺されちゃうこともあるよ。多くの会社には当てはまらないけど、クラウドが高すぎるんじゃなくて、君が不要なものにお金を払ってるだけって話だよ。
「プロジェクト」から「ビジネス」になるまでは、ぶっちゃけクラウドの機能なんてほとんどいらないよ。自宅のLinux boxとCloudflare Tunnelsがあれば、驚くほど色んなことができるからね。
このサイトで似たような意見をよく見るから、Rust binaryとSQLiteだけで動くフォーラムを作ってみたんだ。Mac MiniとCloudflare Tunnelsで動かしてるよ。Litestreamで継続的にバックアップも取れて、テストも簡単。DBクエリが8つあっても応答は4~5msくらいで、めちゃ速いんだ。
メモリもRAMもいっぱい余ってるし、CI/CDも同じMac Miniで動かせるのが最高。M4ってクラウドのどのマシンよりもコンパイルが速いんだよね!
うちの開発環境だけで、製品が使う何十個ものデータベースのうち1つが12TBを超えてるんだよ。
これじゃクラウドを使わない選択肢なんてないでしょ?
AWSのドキュメントを読み解くのは結構時間がかかるんだよ。「数クリックで終わる」なんて嘘だね。
DBのバックアップ方法を自分で調べるのも結構時間かかるよな。AWSを学ぶか、DBのバックアップ方法を自分で学ぶか、どっちにしろ時間かかる。AWSの仕組みを理解するだけで済むわけじゃないしね。ラッパーに頼らず自分でやる価値はあると思うけど、それが簡単かどうかは状況と経験次第だね。
あの「箱」(物理サーバー)がなくてもかなりいけるよ。Cloudflare R2を無料のStatic Hostingとして使う手もあるしね。
12TBのgp3ストレージだけで月960ドルもかかるんだよ。それなら12TBのNVMeストレージを買った方が960ドルより安く済むし、AWSより何桁も速いからね。君のユースケースはクラウドにとって最悪だよ。
クラウドについて一番誤解されてるのがディスクI/Oだね。標準的なクラウドディスクが負荷時にどれだけ遅いか、誰も理解してないんだ。
みんなは最初はパフォーマンスが良いからって、それがずっと続くと思ってるんだよね。でも、ほとんどのクラウドディスクはトークン追跡みたいなのを使ってて、I/Oがバーストしたり高い負荷が続いたりすると、すぐにディスク速度がゴミになることに気づくよ。CPUやメモリの限界は分かりやすいのに、ディスクは見過ごされがちだよね。
CloudFlare PagesはGitHubからの自動プルで静的ホスティングがもっと簡単だよ。
Netlifyのお客さんだけど、俺も同じ感じ。タダで使わせてもらってるけど、いつかお金払うのは全然OK!
Akamaiに買収される前のLinodeは、もっと良くて料金も安かったんだよな。
データベースのバックアップは自力で考えないといけないよ。RDSから他のプロバイダで使えるバックアップを取り出すのは大変そうだしね。同じプロバイダでバックアップするのは良いけど、プロバイダ全体が信頼できるかが重要。今まさに、AWSにアカウントを消されたらどうする?って災害復旧訓練中だよ。
俺がイラつくのはさ、1. AWSとかはHetznerと比べても、小さいプロジェクトならそこまで高くないってこと。せいぜい2倍くらいかな。2. 開発者が忘れがちなのは、セルフホストだとサードパーティのサポートが得にくいってこと。AWSなら詳しい人を雇えばすぐ解決するけどね。俺はルートサーバでのセルフホストが好きだし、自分の会社ではいつもそうしてる。でもインフラを自分でいじりたくない人には、今のアンチクラウドの流れがあっても、やっぱりクラウドをおすすめするよ。
願いすぎると大変なことになるぞ。Netlifyが無料プランのユーザーに104,000ドルの請求書を送ったんだ。幸い、SNSで拡散されて助かったみたいだけどね。
https://news.ycombinator.com/item?id=39520776
数十個のデータベースか…それはクラウドを使う理由になるユースケースだね。家でそれを信頼性高くホストするのは難しいだろうな。
それがなくても、結局はSANみたいなインターフェースを介して、何らかのローカルキャッシュでアクセスしてるんだ。AWSで物理的なローカルドライブを使うと、パフォーマンスは全然違うよ。
AWSがそんなことするわけないじゃん :)それにAWSなら、アシッドでトリップしてても意味不明なUIを75回くらいクリックすれば同じことができるよ。
Netlifyは記事が出た後で料金体系を変えて、無料アカウントはずっと無料になったらしいぞ。
DBバックアップは結構時間かかることもあるけど、apt install automysqlbackup autopostgresqlbackupとか使えばいいんだよな。でもファイルシステムスナップショットがあれば、DBは常に整合性が取れてるはずだから、DBツールをスキップしてスナップショットでバックアップするのもアリじゃね?
まず、12TBもの開発用DBがあるなら、それはめちゃくちゃ最適化されてないはずだ。NVMeドライブなら10倍の容量もある物理サーバーで簡単に扱えるぞ。
しつこく言うけど、製品の”開発環境”はビジネス(個人消費者じゃない)のためのものだろ。オフィスにサーバーラックを置くのはそんなに大変じゃないけど、管理のしやすさを考えるとクラウドの方がいいこともあるだろうな。
12TBは2UサーバーのRAMに収まるぞ。俺の自宅にはRAIDZ2で約14TBのストレージがあるけど、“Linux ISOs”用だ。クラウドのブロックストレージはIOPSが低いことが多い。Oracle Cloudの12TBで月500ドル、RDS gp3なら月1400ドルだ。俺のNASより全然高い。Backblaze B2への12TBバックアップも月180ドルだぞ。多くのサイドプロジェクトは12TBの開発環境DBなんか必要ないってのが肝心だろ。俺が働いてた大企業でも、14TB HDDでオンプレミス製品は十分だったしな。
https://docs.oracle.com/en-us/iaas/Content/Block/Concepts/bl…
参照元を教えてくれないか?職場でNetlifyを勧めようとしてたんだけど、その話を聞いてやめたんだ。
もちろん回避策はあるけど、それを計算に入れないと、多くの人が期待する節約額が全然違ってきちゃうぞ。あと、ローカルSANがあれば、SANはローカルディスクより速いことも多いんだ。
10年前にLinodeを使い始めたけど、AWSよりずっと高くなった。今はCloudflareが最強だ。無料だし匿名で登録できるぞ。Cloudflare Workersで爆速サイトやWebサービス、Cloudflare Tunnelで自前サーバーを公開もできる。GoogleクレジットでVertex AIとか、Dappで匿名決済もできるぞ。LEVEL 2では、ブラウザでJavaScriptソフトを動かして仮想通貨を稼がせたり、Wasmcloudで分散ML、WebRTCでP2Pライブストリーミングもできる。TURNサーバーには金がかかるけどな。LEVEL 3はP2PアプリのHypercore(旧Dat/Hypercore)を使えば、サーバーベースからP2Pへの発想転換で、ブラウザでもサーバーでも動く最強のアプリを作れるぞ。
https://wasmcloud.com/blog/2025-01-15-running-distributed-ml…
https://github.com/Qbix/Media/blob/main/web/js/WebRTC.js
https://pears.com/news/building-apocalypse-proof-application…
まだわかってないな。これは開発環境のサーバーが1台の話だろ?俺は10万台ものサーバーを管理してるんだ。クラウドのおかげで同じインフラを1/10の労力で運用できてるんだぞ。大規模企業にはクラウドが唯一の選択肢だ。ほとんどのオンプレミス推進派は数ラック程度しか持ってない。物理データセンターもやってるけど、クラウドとのコスト差は年間5万ドル以下。調達やベンダー管理の面倒がなくなり、エンジニアはもっと価値のある仕事に集中できるんだ。
いや、ファイルシステムスナップショットだけだと、DBの整合性が取れたバックアップにならないかもしれないぞ。DBバックアップソフトウェアは普通、スナップショットを取る前にDBにデータの一貫化を指示するプラグインを使うんだ。
AWS RDSのエクスポート機能を使えば、スナップショットからS3バケットにデータを出力できるんだ。
それからS3からローカルにコピーして、最後にApache ParquetからCSVへの変換ツールを使えばいい。
手順は簡単だよ。
SANってローカルディスクより速いってどういうこと?
何か参考文献とかおすすめとかある?
もっとコメントを表示(1)
自分でサーバーを何年も運用してるけど、AWSやAzureは設定がめちゃくちゃ複雑でUIもひどい。
サーバーはAnsibleとかでいつでも再構築できるようにしておくべきだね。
もしクラウド(仮想サーバー)を使うなら、DigitalOceanがシンプルで超おすすめだよ。
みんながKubernetesとかに夢中な中、自分はJVMで動くClojureモノリスを物理サーバーにAnsibleでデプロイして、ビジネスで儲けてるよ。
2000年代初頭にサーバークラスターを作ってたんだけど、AWSが流行り始めたら僕のスキルはゴミ扱いさ。
顔認識エッジサーバーの仕事で超高性能を実現したのに、顧客が信じられなくて、営業のために結局AWSに移行せざるを得なかったんだ。
「営業のため結局AWSに移行」って話、多くのB2Bビジネスで自社ホスティングする時の隠れたコストだよね。
経営陣だけじゃなく、クライアントを納得させるのが大変なんだよ。
巨大企業は別として、「AWSだから大丈夫」じゃなくてSLAでサービス回復性を説明すべきじゃない?
なぜホスティングプロバイダーを公開する必要があるの?
それに顧客は自分のクラウドでホストしないの?
ほとんどの顧客はホスティングしたくないんだよ。
ローカルでホストすれば大幅に節約できるって説明しても、IT担当者は不安がるし、役員は仕事外でもスマホで見たがる。
結局、10~20倍も高いウェブサービスを選んでたよ。
「毎秒8億顔比較」って聞いてゾッとしたよ。
これってリアルな世界でどんな用途があるの?
大規模なリアルタイム監視とかを想像しちゃうんだけど。
顔認識がどう動くのか、特に「顔比較」って何なのか、ブログとか何か共有できるものがあったら教えてほしいな。
面白そう!
顔認識については、このGitHubリポジトリを見てみてよ:https://github.com/bsenftner/UnderstandingFacialRecognition/
クラウド使うならDigitalOceanがおすすめだよ。シンプルで気が楽になるから。うちはDigitalOceanをサードティアの災害復旧用に使ってて、Terraformでクラスターを立ち上げて、同じAnsibleの設定で全部構築してるんだ。最近の世の中って、こういう二極化が進んでるよね。対話がなくて、”私たちと一緒か、そうじゃないか”って。悲しいな。
これってクラウド前のペットと家畜のアプローチだよね。俺たちは数台のペットサーバーと、PXE、TFPT、Ansibleのおかげで、データセンターまるごと家畜サーバーで運用してたよ。Terraformなんていらなかったな。クラウドの無駄なあれこれの状態を制御する必要なかったからね。良い時代だったよ。ただ真冬の真夜中にトラブルがあって、犯人の黒い箱に唾を吐きかけるためにDCまでバイクで行くのはマジで大変だったけどさ。
あなたのアプリや収益について、どこか記事になってない?面白そうだね。
それは確かにそうだね。成功してて楽しいビジネスしてる人は、それを回すのに忙しいもんね :-)
“Building in public”って合理的なマーケティング戦略だよ。全面的に否定するつもりはないな。
マーケティング戦略って、顧客に届かなきゃ意味ないし、Hacker Newsの読者は基本、俺の顧客じゃないんだ。
著者の意見もわかるけど、自分でサーバー管理するってマジで大変だよ。ulimitsとかsyn cookiesの設定、Chat GPTが教えてくれないような細かいこと、ソフトの更新、ゼロデイ攻撃対策、Postgresのバージョン互換性、メール送信のドメイン・IP認証、GDPRみたいな規制対応とか、やること多すぎ。クラウド使う人がバカなわけじゃない。そんな単純な話じゃないんだから。
クラウドでホストしてるVMにもこの長いリストって当てはまるんじゃない?
メールサーバーの設定だけは自宅ホストで無理だったよ。プロバイダーがPTRレコードをネットワークで提供してくれないからね。最近は「安全のため」って理由で断るプロバイダーも多いし、これだけでセルフホストかクラウドかの決め手になることもあるよ。
PostmarkのウェブサービスAPIを使えばいいじゃん。安くて信頼できるし、オンラインサービスでメールを本格的に使うならもっとできることもあるよ。https://postmarkapp.com/email-api
購読制のメールサービスがたくさんあるのは知ってるけど、それは論点が違うんだよ。メールサーバーみたいな些細なことで外部の有料サービスに頼るなら、セルフホスティングの良さって何?コストがかさむだけじゃん。
いや、メールって些細なことじゃないよ。時間を吸い取る厄介者だから、月15ドル払ってでも関わらないで済むなら嬉しいね。
記事の「メール送信が必要な場合」や「GDPRのような規制遵守が必要な場合」についての懸念は、クラウドか非クラウドかに関係なく、どちらの方法でもデータを適切に管理する必要があるよね。これはクラウドが魔法のように解決してくれるわけじゃない。
こういうのって、専用サーバーでもクラウドVMでも同じだよね。正直、このリストはFUDを煽って人を怖がらせようとしてるみたい。もちろん、これらのことを恐れるべきだけど、AWSやAzure、Googleみたいなクラウドプロバイダーにホストしたからって、魔法みたいに解決されるわけじゃないんだよ。
一部の問題は、面倒な設定やセキュリティ運用を抽象化してくれるマネージドサービスを使えば解決できるよね。ブログ記事は冗長で繰り返しが多いけど、クラウドを導入すべきかは「必要な規制認定が得られるか?」「迅速なスケールアップ・ダウンが必要か?」「サーバーを自分で管理できるスキルを持つ人材を雇えるか?」「セキュリティアップデートに対応できるか?」というシンプルな質問に集約されるよ。これらを考慮すると、規制対象企業、成長志向の中小スタートアップ、需要変動の激しい企業がクラウドを使うべきだね。つまり、すべての企業がクラウドを使うべきでも使わないべきでもない。多くの企業はクラウドの付加価値を必要とせず、ただ高い料金を払ってるだけだよ。
そうだね、基本的なシステム管理スキルがある人を雇うのは当然だよ。クラウドインフラはシステム管理者を雇う必要をなくすと宣伝されてるけど、それはマーケティングのでっち上げだよ。必要な社内スキルがないのにインフラを管理しようとするのは、クラウドだろうとオンプレミスだろうと、失敗のもとだね。
細かいことだけど、「10倍節約できる」って表現は間違いだよ。「10分の1にできる」とか「90%節約できる」が正しいね。以前のコストが現在のコストの10倍だった、とは言えるけど、「10倍節約」だと増えることになるから、節約とは言えないよ。
英語で数字の後の「x」や「time(s)」は、動詞の「単位」を意味する。「10x増加」のように使うんだ。動詞が「節約」のような否定的意味なら、「10x節約」は「10で割る」を意味するよ。4倍少ないなどの表現も昔からあるからね。
いや、「x」は文字通り「掛ける」という意味だよ。それが somehow「割る」って意味にもなるなんてことはないから。パーセント記号を使うべきでしょ。それが本来の目的だからね。「私のコストを10xする」ってのは「私のコスト×10」ってことで、文字通り方程式だから。
それは反転だよ、2の2乗と2の-2乗の関係みたいなもんさ。否定的な言葉は同じように反転させるんだ。嫌がっても、何百万もの人が昔からこう話してるんだから。あと、掛け算にはドットとか2(3)とかいろんな書き方があるけど、プログラミングでは「*」を使うことが多いよね。
誰も「times」を「割る」って意味で使わないって。君の例で反転させてるのは「negative」って言葉のせいだよ。
意見が合わないってことで、もうそれを受け入れようぜ。
もっとコメントを表示(2)
要するに分数での掛け算だね。1/2かける1/2が1/4になるみたいに、掛け算が割り算になるパターンだよ。とはいえ、この表現は最適じゃないし、煽り気味なのは同感だわ…。
まったくその通り、掛け算だよ。例えば、以前は毎月10ドル貯金してたのが、今では10x10ドル、つまり100ドル貯金してるってこと。でも、この記事の文脈だとそうじゃないんだよね?だから親コメントの意見が正しいんだよ。
それは英語の仕組みとは違うな。「Saved 10x」って言うと、元々あった貯金額を何倍かにしたって意味になるはずだよ。
10x節約することは可能だけど、そのためには「x」の基準が必要だよね。例えば、B方式で20ユーロ節約してたのが、C方式で200ユーロ節約できたら、それは10xだ。でも、みんな「fewer」とか「literally」を間違って使うように、言葉の意味なんてどうでもよくなって、感情が全てって感じになってるよね。
全く同感だね、言葉って本当に大事だよ。ハッキリした表現はまさにスーパーパワーだ。全然細かいことを気にしてるわけじゃないと思うな。
コミュ力はマジ最強。言葉にいちいちこだわるのは、効果的な会話を邪魔するだけ。正確なのはいいけど、細かすぎるのはやめようぜ。
みんな「Costcoで買い物すりゃ10倍節約できる」ってフツーに言うじゃん。だから俺はOPに賛成。言ってることは正しいけど、いちいち細けえんだよな。
”みんなが”って言うけど、お前の例は意味ない専門用語で”savings”をデカく見せるための広告文だろ。普通そんな言い方しねえよ。
貸借対照表を見りゃハッキリする。節約は”出費を減らす”ってことだけ。収入にはならないし、破産を遅らせるだけ。価格とか関係なく、100%以上節約なんて無理。1500%値下げとか言ってた奴いたけど、あれも同じデタラメだよ。
商品10円
初回割引後9円 => 節約1円
2回目割引後6円 => 節約4円
2回目の節約は初回の4倍だろ。
それって”別の節約と比べて”4倍の節約ってことだろ。細かすぎてテクニカルには合ってるかもしれんけど、かなり特殊な例だし、記事の意図とは違うよね。
うーん…レイテンシーが1秒から100ミリ秒になったら、10倍速くなったって言えるだろ?それも文句つける?
追記:よく考えると、「新しいコストの9倍節約」って言えるし、これは正しい文。参照フレームが前のコストと新しいコストのどっちかわからないから、どっちでもあり得るってのが問題か。
”レイテンシーを1秒から100ミリ秒に減らした場合、10倍速くなったと祝える?”
ああ、言えるね。速度は時間の逆数で、レイテンシーは時間だからさ。レイテンシーを1/10にするのは、元の速度を10倍にするのと同じ。逆数ってそういうもんだろ。節約は、俺が知る限り、逆ドル単位じゃ測れないし。
同じ値段でリソースが10倍になるって考えてみろよ。つまり、リソース対価格の比率が10倍ってこと。でも10倍のリソースは要らないから、代わりに1/10の値段で普通のリソースを買うってことだよな。
確かに。同じ値段でリソースが10倍になる、っていうのはその考えを表すのにいい言い方だ。でも「10倍節約」は違うね。
「思考を表現する」と「思考を伝える」は違うよ。「伝える」は共有したい意図があるけど、「表現」は個人的なもの。筆者はちゃんと表現したけど、考えが伝わってこなくて混乱したよ。
口語では、10のべき乗の違いは「桁違い(orders of magnitude)」って言った方がしっくりくるよ。
え、じゃあ君は気にしてるってこと?それとも「全く気にしてない(I could NOT care less)」って言いたかったのかな?
スタートアップでIT担当だった頃、高性能サーバー(OVH MG-512)を導入したら、上司が「AWSを使ってないから時代遅れ」って不安になったんだ。僕は8086アセンブリ育ちでコンパクトさを重視してたけど、CTOってバズワードに合わせるために無駄な予算を組むよね。効率やコンパクトさはIT部門にとってマーケティング的に不利だって痛感したよ。
クオンツなら計算は理解できるはずだよね?彼と一緒に数字を検討しなかったの?世間の常識に従うと高くつくこともあるって、クオンツなら分かるはずなのにね。