バックエンド設計のために知っておくべきバックエンド構成の3要素
(maily.so)バックエンド環境の要は、ユーザーにデータを安定して届けることにあります。そのためには、Webサーバー、WAS、データベースという3つの中核要素が必ず必要です。これら3つは、Webの発展過程で現れた問題を解決するために進化してきました。モニタリング、ロードバランシング、キャッシング、CI/CDパイプライン、Kubernetesのような高度な技術も、この3要素への理解が先行していなければ、いつ崩れてもおかしくない家を建てるのと同じです.
第一に、Webサーバーの役割
Webサーバーの主な役割はファイルを配信するファイルサーバーであり、代表的なWebサーバーには Nginx、Apache、IIS、Caddy などがあります。こうしたWebサーバーは、静的ファイルを提供する基本機能に忠実であり、高度に最適化されています。
第二に、WAS(Web Application Server)の登場と役割
WASは、特定のリクエストを受け取ると、あらかじめ決められたプログラムを実行し、そのプログラムが生成した結果をユーザーに出力する方式で動作します。この方式こそが真のバックエンドの誕生と言え、サーバーが単にファイルを出力するだけでなく、考え、計算し、ロジックを処理し始めた瞬間です。Webサーバーは常に同じ静的なページを返しますが、WASは動的なページを返します。
第三に、データベースの必要性と役割
データベースは、データを永続的に保存し、安全に管理し、同時アクセスを制御する役割を担います。
このほか、バックエンド設計のために知っておくと非常に有用なものとして、RESTful API設計(リソース中心のURL設計、HTTP(GET, POST, PUT, DELETE など)の意味、ステータスコードの使用など、RESTアーキテクチャスタイルに基づくAPI設計原則)や認証(セッションベース認証など、ユーザー認証と認可方式に関する基本的な理解、およびユーザー管理ポリシーの策定)、エラー処理(システムの安定性を確保するために不可欠な例外ケース処理の概念)への理解などが挙げられます。
まだコメントはありません。