20201111_アウトプット②(サーバー・デプロイの知識)
学んだこと 2時間
サーバーとは?
大きく2つの意味がある。
(1)クライアントに応じてデータを送るソフトウェア(プログラム)‥Ruby on Railsなどのアプリケーション
(2)Webサービスを提供するパソコン本体‥Herokuなどのサービス
サーバーの種類とは?
上記「(2)Webサービスを提供するパソコン本体」の種類について。 大きく4種類に分けると下記になる。
(1)レンタルサーバー‥管理してくれる業者がいて、みんなで共有
(2)VPS‥自分で管理、自分専用の仮想専用サーバー
(3)オンプレミス‥物理的に自社にサーバーあり
(4)クラウド‥オンライン上にサーバーあり(後から増やせる)
この猫の図がイメージしやすくわかりやすかった!
クラウドとは?
インターネットに接続することを前提とする各種サービスのこと。
ひとことに「クラウド」といっても、利用形態によって分類される。
略称(読み方) | 利用形態 | 内容 |
---|---|---|
IaaS(イアース・アイアース) | Infrastructure as a Service | ネットワーク経由でハードウェアやインフラを提供 |
PaaS(パース) | Platform as a Service | アプリケーション実行のための動作環境をインターネット経由で提供 |
SaaS(サース・サーズ) | Software as a Service | インターネットを経由して提供されるソフトウェアパッケージ |
必要な構成要素の提供段階によって区別されることを理解。
OSとアプリケーションの間に入って「特別なことをするときに基本機能を提供してくれる」のがミドルウェア。
www.cloud-ace.jp
デプロイの手段とは?
サービスをアップデートする瞬間が最もトラブルが起きやすい。 それを防ぐための様々な工夫がなされている。
デプロイの手段 | 方法 |
---|---|
カナリアリリース🦜 | 一部のユーザーのみに新機能の公開をして新しいバージョンにバグがないかを検証する |
ブルーグリーンデプロイメント🔵🟢 | 仮想環境を使い2つの本番環境を用意。交互にリクエストの向きを変えて継続的なデプロイをする |
イミュータブルデプロイメント🗑 | コンテナ技術を使う。常に変更を行わない環境で構築することで、デプロイ時に新しい環境へ切り替える。(古い環境は削除するのが特徴) |
仮想サーバーとコンテナって?
仮想サーバー‥1台のパソコンで、仮想的に複数のサーバーを稼働させる仕組み。
*消費するメモリが膨大
*高度な技術が必要
*設定や管理などの負荷がかかるコンテナ‥他のユーザーから隔離された実行環境のこと。(コンテナはホストのOS上に作成される)🐳Dockerと呼ばれるオープンソースのソフトウェアが圧倒的なシェアを占めている。