今回はハードウェアからアプリケーションまでの、階層のお話です!
システムの階層を理解すると、IaaS・PaaS・SaaSの理解が深りますので覚えておきましょう。
階層の考え方
まず、タイトルだけ聞くと、こんな感じになるかもしれません。
でも、これそんな難しい話ではなく、考え方だけの話なんです。
私達が利用している部分は【アプリケーション】しか見えていませんが、裏側では以下の様な階層になっています。
階層の説明の前に改めて【ハードウェア】【OS】【ミドルウェア】【アプリケーション】とは何か?改めて確認していきましょう!
ハードウェア
サーバやPC、モニター・マウス・ネットワーク機器など、物理的な機器という意味でよく使われています。
こちらは何となくお解りになると思います。
OS(オペレーティングシステム)
ハードウェアをユーザーが簡単に動かす為のソフトウェアです。
【OS】のおかげで単体では何もできないハードウェアを、簡単に動かせるんです。
文字を画面に表示したりとか、データをディスクに保存するとか 、ヘッドフォン端子に繋ぐと音が出るのも【OS】のおかげ!
PCではwindowsやMAC OSが有名ですよね。最近ではGoogleが出してるChromOSなんてのもあります。
サーバーは、Windows ServerとかLinuxと呼ばれるOSが主流で使われてます!
ミドルウェア
非エンジニアの方は、ここが一番解りづらいのではないでしょうか。
これもソフトウェアなのですが、ざっくり言うと「アプリケーションとOSの仲介役」になるソフトウェアだと思って下さい。
詰まるところ、ミドルウェアは、アプリケーションがよく利用する機能をまとめたソフトウェア。
ミドルウェアなしで自力で開発する手もありますが、ものすごく大変なのでミドルウェアを使うのが一般的とされています。
順番としては、OSにミドルウェアをインストールして、開発の人が【アプリケーション】を作れる環境にする流れです。
ちなみにDB(データベース)はミドルウェアに分類されます。
アプリケーション
ここはそのまんまです。実際ユーザーが利用するソフトウェアの部分ですね。
スマートフォンのアプリもまさにこれです。 ここは皆さんがソフトと聞いて思い浮かべるもので大体正しいです。
何故、階層で考える必要があるのか?
ここで本題に戻ります。
システムを何故階層で考えなければいけないのでしょう?
その理由は、アプリケーションを作る為には、以下の様に【ハードウェア】と【OS】と【ミドルウェア】を積み重ねて作るからなんです。
1. 最初にサーバを用意します
2. OSをインストールします
3. ミドルウェアをインストールします
4. ミドルウェアまでの環境が完成したら、開発したアプリケーションを実装します
システムは順番に作っていくので、階層でイメージをするのがすごく大事なんです。
例えばサーバーがないのにアプリケーションはできませんよね。
つまりこういうこと!
- OSを入れるにはサーバーが必要
- ミドルウェアを入れるにはサーバとOSが必要
- アプリ開発をするにはサーバーとOSとミドルウェアが必要
なので絵にするとこうなっている訳なんです!
私たちが何気なく使っているアプリケーションは【ミドルウェア・OS・サーバ】の上で動いている事を、理解していただければと思います。
ソフトウェアとアプリケーションの違いってなんだっけ?
ここで、地味に混乱しやすいポイントを1つ。
あれ、ソフトウェアとアプリケーションの違いってなんだ?って思った事ありませんか?
【OS】も【ミドルウェア】も【アプリケーション】もぶっちゃけ全部ソフトウェアです。
でも、実はこれ【システムソフトウェア】と【アプリケーション】に分類されているんです。
ざっくりいうと【アプリケーション】はMSのOfficeなんかもそうですが、ユーザーが特定の目的で使うソフトウェアを指します。
そして、OSとミドルウェアの様に、アプリケーションの為に存在するソフトウェアは【システムソフトウェア】って言います。
つまりユーザーが、PC・サーバー・スマホなどで利用するソフトウェアが【アプリケーション】になるんですね!
つまり、OSやミドルウェアは【アプリケーション】ではないんです!
最後に
実はこの記事、結構前に書いたものなんですけど書き直してます!
何故かというと・・。検索からやってくる上位の記事という事が解ったからです・・。
IaaSとPaaSとSaaSをこれから学ぶ人は、まずこちらを参考にすると良いです!
ピンバック: よっしーTECH 2022年の振り返りと来年の方針 | よっしーTECH