はじめに
今回は開発体制においてのサーバーとデプロイの手段についてアウトプットしていこうと思います!
サーバーとは
サーバーという言葉には主に2つの意味があります!
- クライアントの要望に応じたデータを送るプログラム・ソフトウェア
- Webサービスなどを提供するパソコン本体
サーバーの種類
レンタルサーバー
レンタルサーバーとは、インターネット上に情報を公開するためのサーバーを、業者からレンタルして利用するサービスのことです!
個人や中小企業を中心に、レンタルサーバー上でWebサイトやメールサービスを運用されています!
VPS
レンタルサーバーは通常、1台のパソコンを複数のユーザーで分けて使うような仕組みです!対してVPSは、仮想的なパソコン環境を1人1台用意し提供します!
レンタルサーバーに比べ、使用方法の自由度が高いことが特徴です!
オンプレミス
サーバーやソフトウェアなどの情報システムを、使用者が管理する設備内に物理的に設置して運用することを指します!
従来は一般的なサーバーの運用形態でした!
しかし、クラウドという外部のサーバーリソースを運用する形態が普及するにつれて、従来の形態と区別するために「オンプレミス」と呼ばれるようになりました!
クラウド
クラウドとは、コンピュータ資源の利用形態を指します!
ソフトウェアやハードウェア、ストレージなどを、ネットワーク経由でユーザーにサービスとして提供しており、その資源をクラウドと呼びます!
クラウドという言葉がよく使われるようになりましたが、クラウドという形態で提供されるサービスにもさらに種類があります!
クラウドの種類
ここでは先ほど紹介したクラウドについての具体的な種類について紹介していこうと思います!
SaaS
SaaSとは、クライアント側に導入せずに、サービスを提供しているサーバーに直接アクセスをしてサービスを利用する情報を指します!
IaaS
IaaSとは、サービスを利用するユーザーに、仮想化したCPUやメモリー、ストレージなどをインターネット経由で提供するサービスのことです!
特徴としては、サービスを利用する旅に金額が発生することです!
デプロイの手段
仮想サーバー
仮想サーバーとは1台のサーバーで仮想的に複数のサーバーを稼働させる仕組みです!
この仕組みには、処理速度の向上や保守コストの削減など様々な利点があります!
デメリットは以下のようになります!
- 消費するメモリが膨大である
- 高度な技術が必要
- 設定や管理などに負担がかかる
コンテナ
コンテナとは、他ユーザーから隔離された実行環境のことをコンテナと呼びます!
コンテナはホストOS上に作成されるものです!
コンテナは仮想サーバーとは違い、1つのOSで稼働するためメモリの消費が少なく、ストレージの使用もわずかで済みます!
Docker
コンテナ化を用いてアプリケーションを開発・配置・実行するためのオープンソースソフトウェアです!
デプロイの手段
カナリアリリース
一部のユーザーにのみ新機能の公開を行い、新しいバージョンにバグなどがないか検証する手法です!
もし、新機能に不具合が生じても、サービス全体には影響を及ぼさずに済む、というメリットがあります!
ブルーグリーンデプロイメント
ブルーグリーンデプロイメントとは、仮想サーバーを用い、2つの本番環境を用意します。それぞれバージョンを設定することができるデプロイの運用方法です!
イミュータブルデプロイメント
コンテナ技術を用い、常に変更を行わない環境を構築することで、デプロイ時に新しい環境に切り替える手法です!
コンテナの技術を用いることで、環境自体を新しく構築する作業が容易になり、誕生したデプロイ手法です。古い環境は削除するため、運用コストを抑えることが出来ます!
コメント