20201111_アウトプット②(サーバー・デプロイの知識)

アプトプット画像

学んだこと 2時間

サーバーとは?

大きく2つの意味がある。
(1)クライアントに応じてデータを送るソフトウェア(プログラム)‥Ruby on Railsなどのアプリケーション
(2)Webサービスを提供するパソコン本体‥Herokuなどのサービス

サーバーの種類とは?

上記「(2)Webサービスを提供するパソコン本体」の種類について。 大きく4種類に分けると下記になる。

(1)レンタルサーバー‥管理してくれる業者がいて、みんなで共有
(2)VPS‥自分で管理、自分専用の仮想専用サーバー
(3)オンプレミス‥物理的に自社にサーバーあり
(4)クラウド‥オンライン上にサーバーあり(後から増やせる)

この猫の図がイメージしやすくわかりやすかった!

knowledge.sakura.ad.jp


クラウドとは?

インターネットに接続することを前提とする各種サービスのこと。 ひとことに「クラウド」といっても、利用形態によって分類される。

略称(読み方) 利用形態 内容
IaaS(イアース・アイアース) Infrastructure as a Service ネットワーク経由でハードウェアやインフラを提供
PaaS(パース) Platform as a Service アプリケーション実行のための動作環境をインターネット経由で提供
SaaS(サース・サーズ) Software as a Service インターネットを経由して提供されるソフトウェアパッケージ


必要な構成要素の提供段階によって区別されることを理解。
OSとアプリケーションの間に入って「特別なことをするときに基本機能を提供してくれる」のがミドルウェア
www.cloud-ace.jp




デプロイの手段とは?

サービスをアップデートする瞬間が最もトラブルが起きやすい。 それを防ぐための様々な工夫がなされている。

デプロイの手段 方法
カナリアリリース🦜 一部のユーザーのみに新機能の公開をして新しいバージョンにバグがないかを検証する
ブルーグリーンデプロイメント🔵🟢 仮想環境を使い2つの本番環境を用意。交互にリクエストの向きを変えて継続的なデプロイをする
イミュータブルデプロイメント🗑 コンテナ技術を使う。常に変更を行わない環境で構築することで、デプロイ時に新しい環境へ切り替える。(古い環境は削除するのが特徴)

仮想サーバーとコンテナって?

  • 仮想サーバー‥1台のパソコンで、仮想的に複数のサーバーを稼働させる仕組み。
    *消費するメモリが膨大
    *高度な技術が必要
    *設定や管理などの負荷がかかる

  • コンテナ‥他のユーザーから隔離された実行環境のこと。(コンテナはホストのOS上に作成される)🐳Dockerと呼ばれるオープンソースのソフトウェアが圧倒的なシェアを占めている。



積み残し(復習したいこと)

  • MySQLCSVをエクスポートする

    感想

  • クラウドや、サーバー、バージョンアップのデプロイについて、早く実際にやってみたいなと思った(難しそうなため)

  • 今会社で使っているパソコンについて、自宅で使っているパソコンよりも、仮想環境などが複雑なことが想像できた。あれどうやって作ったんだろう。

  • 今日は眠くて23時すぎに寝ることにした。

  • 平日の勉強時間取れているのは大きい。明日も進める。