はじめに
Web開発をしていると、以下の技術はほぼ必ず登場します。
AWS
サーバー
PostgreSQL
この記事では、それぞれの役割・仕組み・実務での使われ方まで整理します。
全体像(最重要)
まずは全体像です
ユーザー(ブラウザ)
↓
サーバー(アプリケーション)
↓
データベース(PostgreSQL)
👉 すべてはこの流れの中で動いています
■ AWSとは(インフラ)
AWSは
👉「インターネット上にあるインフラ一式」です
■ インフラとは?
インフラ = サービスを動かすための土台
例えば:
サーバー(計算する場所)
データベース(保存する場所)
ネットワーク(通信する仕組み)
■ AWSがやっていること
従来:
自分でサーバーを購入
データセンターに設置
電源・ネットワーク管理
↓
AWS:
👉 必要な分だけ「レンタル」できる
■ 代表的なサービス
EC2(サーバー)
仮想マシン
アプリを動かす場所
RDS(データベース)
PostgreSQL / MySQLなどを管理
バックアップ・冗長化が自動
S3(ストレージ)
画像・ファイル保存
■ 特徴(重要)
① スケーラビリティ
アクセスが増えたらサーバーを増やせる
② 従量課金
使った分だけ課金
③ 高可用性
障害に強い設計
■ 実務での立ち位置
👉 「全部の土台」
■ サーバーとは(アプリケーション層)
サーバーは
👉「リクエストを受けて処理するプログラム」です
■ よくある誤解
サーバー = マシン
ではなく
👉 ソフトウェア + 実行環境
■ サーバーの役割
① リクエスト受信
URLアクセス
APIリクエスト
② ビジネスロジック
ログイン認証
データ加工
条件分岐
③ レスポンス返却
HTML
JSON
■ HTTPの流れ
GET /users
POST /login
👉 サーバーがこれを処理する
■ 実務でよく使うもの
Node.js
Ruby on Rails
■ 重要な考え方
ステートレス
👉 リクエストごとに独立している
API設計
👉 フロントと通信する設計
■ PostgreSQLとは(データ層)
PostgreSQLは
👉「リレーショナルデータベース(RDB)」です
■ データベースとは
👉 データを安全・効率的に管理する仕組み
■ なぜDBが必要か
ファイル保存だと👇
検索が遅い
整合性が保てない
👉 DBで解決
■ PostgreSQLの特徴
① テーブル構造
users
id | name | email
② SQLで操作
SELECT * FROM users;
INSERT INTO users ...
③ ACID特性(超重要)
Atomicity(一貫性)
Consistency(整合性)
Isolation(独立性)
Durability(永続性)
👉 データが壊れない仕組み
■ 実務での役割
ユーザー管理
トランザクション管理
検索・集計
■ よくある設計
👉 正規化(データの重複を減らす)
■ Dockerとは(開発環境)
Dockerは
👉「コンテナ技術を使った環境再現ツール」です
■ コンテナとは?
👉 軽量な仮想環境
■ 従来との違い
仮想マシン
重い
起動が遅い
Docker
軽い
起動が速い
■ できること
① 環境の統一
全員同じ環境
② 依存関係の管理
Node / DBなどまとめて管理
③ 再現性
誰でも同じ状態を作れる
■ docker-composeの役割
👉 複数コンテナをまとめて管理
例:
アプリ
DB
■ 全体の関係(まとめ)
ユーザー
↓
サーバー(処理)
↓
PostgreSQL(データ)
↑
AWS(すべての土台)
↑
Docker(開発環境)
JISOUのメンバー募集中!
プログラミングコーチングJISOUでは、新たなメンバーを募集しています。日本一のアウトプットコミュニティでキャリアアップしませんか?
興味のある方は、ぜひホームページをのぞいてみてください!
