16 ポイント 投稿者 GN⁺ 2025-10-30 | 3件のコメント | WhatsAppで共有
  • 2年前にAWSからベアメタルへ移行して年間23万ドルを削減した経験を共有した後、コミュニティから寄せられたさまざまな質問への続編の回答をまとめたレポート。2年間の実運用データを公開し、年間120万ドル超の削減効果を達成したと明らかにした
  • 実運用を通じて削減額は年間120万ドル以上へと増加し、これをAIベースのインシデント要約および自動コード修正用サーバー投資に再投資して、サービス品質の向上につなげた
  • MicroK8s + Cephスタックを基盤に99.993%の可用性を維持し、二重データセンター構成によって単一障害点を排除
  • 実際の運用コスト、障害対応、ハードウェア寿命、セキュリティ認証、クラウド代替サービスなどの主要論点を具体的な数値とともに説明
  • 結果として安定性とコスト効率の両方が向上し、一定規模以上の常時負荷システムではベアメタルのほうがより合理的だという結論を示した

2年間の運用結果の要約

  • 24か月にわたりMicroK8s + Cephスタックを本番環境で運用し、99.993%の可用性を達成
    • 単一ラックの問題を解消するため、フランクフルトに2本目のラックを追加し、パリのメインラックとDWDM二重接続を構成
    • ローカルNVMeとノイズ干渉の排除により、顧客レイテンシを19%短縮
  • 削減した費用をベアメタルAIサーバーの購入に再投資し、OneUptimeのLLMベース通知要約および自動コード修正機能を拡張

削減効果とコスト比較

  • 当初の想定削減額は年間**$230,000だったが、現在は$1.2M以上**へと増加
    • これはAWS比で約76%の削減効果に相当
    • グローバルな人件費基準では、エンジニア2〜5人分の年俸に相当する規模
  • Savings Plans / Reserved Instancesを適用しても、依然としてベアメタルが有利
    • Savings PlansはS3・Egress・Direct Connectコストには適用されない
    • EKSコントロールプレーン費用$1,260/月、NATゲートウェイ$600/月なども削減不可
    • 24/7常時稼働型(steady)ワークロードで、リザーブドインスタンスの効率は限定的だった

マイグレーションと運用コスト

  • 初期マイグレーションは約1週間のエンジニアリング作業で完了
    • IaC整備、バックアップポリシー強化など、もともと必要だった作業が大半だった
  • 現在の運用コストは次のとおり:
    • 直接管理: 四半期あたり約24時間(パッチ・ファームウェア更新を含む)
    • Remote Hands: 24か月で2回のみ介入が必要(主にディスク問題)、平均対応時間27分
    • 自動化: PXEブート(Tinkerbell)、Talosイメージ管理、Flux/Terraform構成自動化
  • 運用人員はAWS時代よりむしろリリース速度が向上し、「コスト最適化会議」の負担がなくなる効果も確認された

障害対策と可用性の確保

  • フランクフルトに2本目のラックを追加し、DWDM二重経路接続で単一障害点を排除
    • 非同期レプリケーションベースのCephミラーリング二重コントロールプレーンを構成
    • 4G/衛星ベースの管理経路を追加し、ネットワーク障害時でもリモートアクセス可能
  • MicroK8s → Talosへの移行を進行中
  • AWSフェイルオーバー用バックアップクラスタは引き続き維持し、四半期ごとに障害復旧リハーサルを実施
  • Anycast+BGPベースのIngressにより、DNS切り替え遅延も1分未満に改善
  • 2年間99.993%の可用性を維持し、最近のAWSリージョン障害の影響も受けなかった

ハードウェアとCapEx管理

  • サーバーは5年減価償却基準(2×EPYC 9654、1TB RAM、NVMe構成)で運用
    • 性能が飽和したら分析クラスタへ移管し、その後新規サーバーへ置き換え
    • 削減分のおかげで2年ごとに40%リフレッシュ可能になり、それでもAWS比で年間コスト削減
  • Supermicroの保証延長 + 予備サーバー3台を保有
    • 実際の寿命は7〜8年だが、保守的に5年で算定

マネージドサービス代替の考え方

  • OneUptimeの製品哲学はセルフホスティング可能性にあるため、同一スタックの維持が必要
    • Kubernetes・Postgres・Redis・ClickHouseなどオープンスタックの一貫性を維持
  • Terraform + EKS + RDS → MicroK8s + Argo Rollouts + Cephへと進化
    • 独自フォークなしで純正オープンソースを活用
  • 依然としてクラウドも並行利用中: AWS Glacier(バックアップ)、CloudFront(エッジキャッシュ)、負荷テスト用の一時インスタンス
  • クラウドは弾力性重視、ベアメタルは基本負荷重視に適している

ネットワークとセキュリティ

  • 5Gbps(95th percentile)回線を2本確保し、AWS egress比で8倍安価
  • DDoS防御はCloudflareの全面配置で対応
  • 独立した4G/衛星ベースの管理ネットワークを確保し、障害時でもリモートアクセス可能

コンプライアンスと監査対応

  • SOC 2 Type II、ISO 27001認証を維持
    • コロケーションセンターのTier III認証・入退室ログ・CCTV資料を活用
    • Terraform/Talos設定ログを変更履歴の証跡として活用
  • 監査人はAWSコンソールのスクリーンショットより、これらのほうをより信頼できると評価した

クラウド代替案の比較

  • Hetzner、OVH、Leaseweb、Equinix Metal、AWS Outpostsを比較
    • Hyperscalerはegressコストが依然として高い
    • 欧州ホストは大規模CephクラスタとSLA要件の充足が難しい
    • Equinix MetalにはCapEx比で25〜30%のプレミアムがある
    • 自社ハードウェア運用は電力密度・アップグレード自由度の面で優位
  • 結果として15kWラック構成と部品再利用の可能性により、コロケーションがコスト・性能の両面で優勢

運用負担(TOIL)の測定

  • 週次: カーネル/ファームウェアパッチおよびCeph点検(1時間)
  • 月次: Kubernetesコントロールプレーンのカナリアアップグレード(2時間)
  • 四半期: DR訓練、容量計画、通信事業者契約の点検(12時間)
  • 合計で月14時間水準で、AWS時代と同程度だが、焦点は「コスト追跡」から「運用自動化」へ移った

それでもクラウドが有効なケース

  • ワークロードがスパイク型または季節変動パターンの場合
  • Aurora Serverless、Kinesis、Step Functionsなどマネージドサービスへの依存度が高い場合
  • Kubernetes・Ceph・モニタリング・インシデント対応を自前で運用する余力がない場合
  • つまり、初期段階や変動負荷の大きいビジネスでは、依然としてクラウド優位が存在する

今後の計画

  • Colo予算予測用TerraformモジュールとRunbookを公開予定
  • Talosベース運用経験を扱う深掘り技術ポストも準備中
  • 引き続きHN・Redditのフィードバックに応答しながら、実数値中心の事例共有を続ける計画

3件のコメント

 
okxrr 2025-10-30

AWSでしか提供されていないサービスをまったく使っていないのに、AWSを熱心に使う会社で働いています。

この決定には、一部のリーダーのキャリア開発という、きわめて個人的な欲が大きく作用しているのを見た、笑うに笑えない話です..

 
GN⁺ 2025-10-30
Hacker Newsのコメント
  • AWSは高すぎる。システム全体を完全にAWS上に載せる理由は、思っているほど多くない。昔はみんなベアメタルサーバーを自分で運用できたのに、今ではそのやり方を忘れてしまったようだ。自分たちのチームは730日以上99.993%の可用性を維持しており、最近のAWSリージョン障害も回避できた。CloudflareでDDoS対策はしているが、DNSやイングレス管理がフルタイムの仕事になるのは理解できる。それでも、いくつかのマイクロサービスとDB程度なら自前で十分運用できる。AWSは大半の企業にとって課金が過剰だ

    • AWSの本当の問題は従業員のAWS依存化だ。AWS認定を取り、AWS Well-Architected Frameworkに合わせるべきだという空気の中で、自分で考えなくなっていく。AWSのロックイン型サービスは、意図的に安く見えるよう価格設定されているが、結局はさらに深く縛られる。たとえばPostgreSQLをDynamoDBへ移すと、短期的には節約に見えても、長期的にはAWS依存が強まる
    • オンプレミスは安いが、専門人材の確保が難しい。単純な製品には向いているが、複雑なシステムではむしろ人件費と運用リスクが大きくなる。AWS/Azure/GCPは完璧ではないが、今ではオンプレミスの専門家があまりにも希少だ
    • AWSを批判すると、妙に反発する人たちが多い。Redditでも同じような現象がある。まるで誰かが金をもらってAWSを擁護しているように感じる
    • セルフホスティングの成功談には確証バイアスがある。サーバーを自分で運用するのは最初は良さそうに見えるが、1年ほど経つとドキュメントと実際の設定が食い違い、担当者が退職すると混乱が大きくなる。結局、多くのスタートアップは再びAWSへ戻る。こうした失敗談はあまり共有されない
    • ベアメタルをうまく運用するには熟練したエンジニアが必要だ。新人やコンサル会社出身の「クラウド専門家」では難しい
  • 初期のクラウドはシンプルでコストパフォーマンスの良いサービスとして始まったが、今では200を超える複雑なサービスが絡み合っている。管理しなければ料金が急増する

    • 実際のところAWSは最初から「安い」が売りではなく、素早くスケールできることが核心だった。2010年代前半は高価だったが、柔軟性が利点だった。今でも性能比で見れば依然として高い。サーバー運用の基礎があれば、専用サーバーの方がはるかに良い
    • AWSは今や200を超えるサービスへと過剰に拡張している。基本機能に集中すべきだ
    • AWSコンソールに入るたびに複雑さと疲労感が押し寄せる。あまりにも肥大化している
    • AWSの各サービスにはコストパフォーマンスのばらつきが大きい。特に古い中核サービスには今でも価値がある
  • AWSの本当の機能は、(1) 組織の拡大と権力構造を可能にすること、(2) CapExではなくOpExとして会計処理できること、(3) 無能な人事構造を隠せることだ。以前は5〜10人でデータセンターを回せたのに、今では3000人規模のDevOps組織が生まれている

    • OpExとCapExの違いがなぜ重要なのか分からない。結局お金はお金ではないのか?
    • クラウドは初期のスタートアップには有用だ。容量計画を心配せずに素早く成長できる。しかし成長率の低い企業がそのままクラウドに居続けるのは非効率だ
    • オンプレミスはカスタマイズが激しく、人材の入れ替えが難しい。一方でAWS人材はどこでも見つけられる
    • 熟練したシステム管理者は実際に見つけにくく高価だ。安く済ませようとして、バックアップが2年間動いていなかったケースも見たことがある
  • この成功の核心は24時間365日の一定負荷にある。大半の企業も実際には似たようなパターンだ

    • 実際には初期に単一ラック・単一データセンターで始められたのは運が良かった。信頼性のためのコストを前もって払わずに済んだからだ
    • 関連記事: One Big Server
    • AWSはしばしば「在庫なし」と言って、リザーブドインスタンスを事実上強要する。結局、常時運用コストと大差なくなる
    • HetznerのようなところはAWSより10倍安く同じ性能を提供する。クラウドの「弾力性」は誇張された神話だ
  • 弾力性 vs ベースロードが核心だ。データ収集のようにトラフィックが爆発的に集中するときだけ、クラウドが有利になる。ほとんどの場合はベアメタルの方がよい

  • 2010年代にはハードウェアとネットワークが遅かったが、今ではCPU性能と効率が数百倍向上している。昔は64台のサーバーが必要だったものが、今では1台で十分だ。今後は100:1の比率にまで進むだろう。こうした状況ではクラウドの利点はますます小さくなる

  • Amazon社員として見ると、Kubernetesの自己管理は危険すぎる。etcdのような構成要素は不安定で、自分たちでパッチまで当てなければならなかった。記事で語られているセルフホスティングはリスクが過小評価されている

    • 他のハイパースケーラーでもKubernetes運用の失敗によって大きな障害が起きている。Microk8sのような単一ラック向けのシンプルな代替手段の方がよい。関連記事: Microk8s 6 Months Later
    • 複雑な環境はどこであっても難しく、結局は専門家が必要だ。AWSも同様に簡単ではない。クラウド障害が起きても世界は回り続ける
    • k3のような軽量版ははるかにシンプルだ
    • Kubernetesは必要なときだけ使うべきだ。デフォルトで使うと時間と金の無駄だ
  • 多くのスタートアップは、AWSの料金が高すぎたらそもそも存在できなかっただろう。たとえばGeoIPの無料ダウンロード(リンク)のようなものは不可能だったはずだ。クラウドは遅く、ディスク遅延とCPU過密が深刻だ。月1万ドル以下なら問題ないが、それを超えるならベアメタルの方がはるかに効率的だ

    • クラウドの遅い性能に慣れてしまい、奇妙な順応現象が起きる。常にベアメタル基準で比較すべきだ
  • 私がいた会社もトラフィックは少なかったのに、AWSへ移行しようとしていた。理由は単純で、履歴書にAWSを書きたかったからだ。開発者だけでなく経営陣も同じだった。「AWSマイグレーションのリード」は経歴として見栄えが良かったからだ。結局会社は売却され、オフィスは空になった。今後は「AWSから抜け出した」が新しいキャリア上のアピールポイントになるかもしれない

    • 開発者がAWSを望めば、次の世代はAWSしか知らなくなる。議論が偏る
    • 結局のところ、決定はリーダーシップの意思にかかっている
  • 結局重要なのは何をしようとしているのか

    • 内部向けのデータ中心Webサイトなら、サーバーラック1本で十分だ
    • 不規則でキャッシュ不能な大規模トラフィックなら、クラウドが有利だ
    • DNSやイングレスが複雑なら、ハイブリッドアプローチが良い
    • データ規模が大きくなるほど、クラウドの長期的な減価償却構造が有利になる