スマートにスケールする:ソフトウェアアーキテクチャに関する強い見解
開発者はしばしば、Webアプリをオーバーエンジニアリングしてしまいます。マイクロサービスやサーバーレスのトレンドを追い求め、複雑さこそがスケーラビリティにつながると考えてしまうのです。
これは間違いです。
複雑な構成よりも、シンプルでモジュール化された設計の方がうまく機能することが多々あります。コア機能に集中しましょう。まずは強固な基盤を築くことです。そして、実際の需要に基づいてスケールさせていくのです。
スケーラビリティとは、単にユーザー数に対応することだけを指すのではありません。アプリのレスポンスを維持すること、そしてユーザーに満足してもらうことを意味します。優れたアーキテクチャがあれば、ユーザーの行動が変化した際にも迅速に対応できます。
以下の原則に従ってください:
- 保守性を優先する。
- リーンなアプローチを採用する。
- 妥当であれば、まずはモノリスから始める。
- 必要になったときにのみ、マイクロサービスへとリファクタリングする。
必要になる前に複雑さを加えてはいけません。余計な重荷を背負うことなく、成長を見据えた構築を行いましょう。
重要なことに集中しましょう。シンプルに保つことが大切です。