Mistake #23 : Cargo Cult AWS

無駄に複雑な
ピタゴラ装置

「Netflixも同じ構成だから」と、月間1万PVのサイトにマイクロサービスを導入しましたね。
ボールが転がって、旗が立って、ドミノが倒れて、やっと「Hello World」が表示される。
それは見ていて楽しいかもしれませんが、運用するのは悪夢です。

🎢 オーバーエンジニアリング診断
  • 機能追加するために、3つの異なるリポジトリを修正する必要がある
  • データの流れを説明するのに、ホワイトボード一面の図が必要だ
  • 「なぜKubernetesを使っているのですか?」と聞かれて即答できない
  • エラーが発生したとき、どのLambdaが死んだのか探すのに1時間かかる
⚠️ 警告:あなたは「技術コンテスト」に参加しているのではありません。
ビジネスの目的は「問題を解決すること」であり、「最新技術を使うこと」ではありません。

01. 単純さは「究極の洗練」

レオナルド・ダ・ヴィンチは言いました。「単純さは究極の洗練である」と。
AWSのアイコンをパズルのように組み合わせた複雑な構成図は、賢さの証明ではありません。
それは「無能さ」の証明です。
本当に賢いアーキテクトは、EC2一台とRDS一台で、信頼性の高いシステムを作ります。

部品が増えるほど、
壊れる場所も
増える。

02. カーゴ・カルト(積荷信仰)

戦時中、南の島の原住民は、米軍が滑走路を作ると物資が空から降ってくるのを見ました。
戦後、彼らは竹で飛行機の模型と管制塔を作り、空を見上げて待ちました。
これが「カーゴ・カルト」です。
Googleと同じ技術を使えば、Googleのようになれるわけではありません。
形だけ真似ても、中身(エンジニアの数とスキル)が伴わなければ、ただの竹細工です。

03. マイクロサービスの前にモノリスを極める

最初からマイクロサービスにするのは自殺行為です。
まずは「モジュラ・モノリス(綺麗に分割されたモノリス)」を作りましょう。
コードの中で境界線(モジュール)を引けないチームが、
ネットワーク越しに境界線を引けるわけがありません。
分割は、システムが肥大化し、どうしようもなくなってからで十分です。

執筆:クラウドソリューションアーキテクト

KISS原則(Keep It Simple, Stupid)の信奉者。
無駄な構成を削ぎ落とし、コスト最適で堅牢なインフラを設計する。