アーキテクチャ
クライアント・サーバシステムクライアント・サーバシステム例1: 投稿作成例2: 新着投稿一覧取得バックエンド・フロントエンド物理サーバクラウドサーバAWSとはLIPSのアーキテクチャLIPSが落ちる、とは?エンジニアの分類
クライアント・サーバシステム
クライアント・サーバシステム
一般的なアプリケーションは大まかには「クライアント・サーバシステム」という構成になっている
ユーザが使う端末・ブラウザなどをまとめて「クライアント」と呼ぶ
すべてのデータは「サーバ」に保存する。
クライアントから「リクエスト」するとサーバは「レスポンス」を返す。
「インターネット」を通じて通信を行う。
例1: 投稿作成
- ユーザが「投稿作成」ボタンをタップする
- クライアントから「投稿作成リクエスト」をサーバに送信
テキスト等もこのリクエストの中に含まれている
- サーバから「作成された投稿レスポンス」を返す
- クライアントで完了バナーを表示する
例2: 新着投稿一覧取得
- ユーザが新着タブに遷移する
- クライアントから「新着投稿取得リクエスト」をサーバに送信
- サーバから「新着投稿レスポンス」を返す
- クライアントでデータからセルを組み立て、リストを表示する
バックエンド・フロントエンド
サーバ側のことを「バックエンド」、クライアント側のことを「フロントエンド」と呼ぶ。
狭義には「フロントエンド」というとWEBの画面ことを言うが、モバイルも含むこともある。
サーバサイドでは「どんなデータを受け取ったら、どんな処理をして、どんなデータを返すのか」をプログラミングによって記述する。
クライアントサイドでは「どんな操作をされたら、どんな処理をするのか」をプログラミングによって記述する。
物理サーバ
サーバもコンピュータです。
映画などで見たことあるかもですが、これのそれぞれがコンピュータです(画面が不要なのでつながってないだけ)
形状から「ブレード」と呼ぶ。
普通のコンピュータと同じように故障することもあります。
クラウドサーバ
物理サーバを自社でメンテするのは大変なので、LIPSでは「クラウドサーバ」を使っています。
上の写真のような「データセンタ(DC)」では、雷とか、地震とか停電とかの対策もしてくれます。データセンタにあるサーバにインターネット経由でアクセスします。
クラウドサーバを提供している事業者は、さくらインターネット、Amazon、Googleなどが存在しており、LIPSではAWS EC2を利用しています。
AWSとは
AWSはクラウドサーバも含め、様々なツールを提供しています。「クラウドサーバ」もその一つで、ほかにも以下のような様々なサービスを利用しています
- S3: 動画・画像などのファイルの管理
- CloudFront: 効率的な動画・画像などの配信
- Lambda: 動画の自動圧縮など、補助的な処理
LIPSのアーキテクチャ
(後で書く)
LIPSが落ちる、とは?
ある特定のリクエストを行うと
エンジニアの分類
「エンジニア」といっても中で役割がある。兼務していることも多く、必ずしも階層構造ではない。
- 電気系エンジニア
- 半導体エンジニア
- ……
- IT系エンジニア
- インフラエンジニア
- ネットワークエンジニア
- データベースエンジニア
- ……
- アプリケーション(開発)エンジニア
- iOSエンジニア
- Androidエンジニア
- バックエンドエンジニア
- フロントエンドエンジニア
- …
- テストエンジニア
- データ分析エンジニア
- ……
- ……