カリキュラム内で、READMEの使用環境のOS部分をLinux指定されました。
私はWindowsのパソコンを使用していたため、なぜかと思い、調べたことをまとめます。
なぜLinuxだったのか
=cloud9を使用していたため。
cloud9とは:
AWSが提供するクラウド上の統合開発環境。
ブラウザ上で編集・実行・デバックができるため、ローカルマシンに開発環境作る必要がない。
cloud9はAWSのクラウドサーバ上で動作しており、そのサーバはLinuxベースの仮想環境で構成される。
なぜcloud9だと、OSがLinuxになるの?
AWSが仮想環境上にLinuxを配置してサービス(この場合はcloud9)を提供しているから。
仮想環境にすることで、1台の物理サーバ上で複数のLinux環境(仮想マシン・コンテナ)を同時に稼働できる。
今回調べた用語
1. コンテナ:
アプリケーションとその実行に必要な依存関係(ライブラリ、設定ファイル、バイナリなど)を1つにまとめた、ホストOS上で動作できる軽量な仮想環境。
コンテナ化の代表的なツール=Docker
コンテナのメリット
依存環境一括管理、どの環境でも動く、軽量で高速 など
2. 仮想化技術
物理的なハードウェアをソフトウェアで分割(=論理的に分割)して、
複数の仮想環境を作ること。
例えば、1台の物理サーバーの中に、複数の仮想サーバーを作成し、
私のサーバとして、知人のサーバのして…という形でそれぞれ独立して動作させる。
クラウドサービスと仮想化技術の関係
クラウドサービスは、仮想化技術を利用することで下記を実現している
-
1台の物理サーバーを効率的に使う
- 仮想化を使うことで、1台の物理サーバーを複数のユーザーや用途に分割して提供できる。
-
柔軟なリソース管理
- 仮想マシンやコンテナを動的に増減できるため、必要に応じてCPUやメモリ、ストレージの割り当てを変更できる。
-
コスト削減
- 仮想化によってハードウェアの利用効率が上がり、物理サーバーの台数を増やさなくてもリソースを有効活用できる。
- 利用者は自分でサーバーを購入・管理する必要がなく、クラウドサービスを利用することで必要な分だけ料金を支払えばいい。
-
OSやソフトウェアの独立性
- 仮想化により、1つの物理サーバー上で異なるOS(Linux、Windowsなど)を動かすことができる。
- 例えば、AWS EC2の仮想サーバーでLinux環境とWindows環境を同時に動かすことが可能。
クラウドサービスに使われる仮想化の技術例
-
仮想マシン(VM)
- 物理サーバー上にソフトウェア的に複数の「仮想サーバー」を構築。
- 例: VMware、Hyper-V、KVM など。
-
コンテナ技術
- 仮想マシンよりも軽量な「コンテナ」を使い、アプリケーション単位で環境を仮想化する。
- 例: Docker、Kubernetes。
-
仮想デスクトップ
- 仮想化技術を使って、クラウド上に「デスクトップ環境」を提供。
- 例: Amazon WorkSpaces、Microsoft Azure Virtual Desktop。
3. クラウドサービス:
仮想化技術を利用して、インターネット経由で
ソフトウェア、データ、リソース(サーバー、ストレージ、ネットワークなど)を
必要なときに必要な分だけ提供するサービス。
利用者は、物理的なハードウェアやインフラを自前で用意する必要がなくなる。
=経費が浮く!スペースが空く!
クラウドサービスの種類
分類 | 概要 | 例 |
---|---|---|
IaaS (Infrastructure as a Service) | 仮想サーバーやストレージなど、インフラを提供 | レンタルサーバー(さくらのレンタルサーバー) |
PaaS (Platform as a Service) | 開発プラットフォームを提供し、アプリ開発を効率化 | AWS Cloud9 |
SaaS (Software as a Service) | ソフトウェアやアプリケーションそのものを提供 | Gmail, Dropbox, Google Drive |