Skip to main content

Cloud

Overview

クラウドサービスについてまとめているセクション。

マネージドサービス

「マネージドサービス」とは、AWSなどのクラウド事業者がインフラの保守や運用をしているクラウドサービスを指します。

オンプレミスでは、システム構築後は開発チームと運用チームに分かれて管理するケースがあり、各チームの責任範囲が曖昧になることがある。
そこでAWSは、開発チームが「提供するシステム全体の責任を持つ」ことが望ましいと考えた。
そして、AWSは開発チームの運用負荷を軽減するために、サーバーレス、フルマネージドなサービスを提供するようになった。

マネージドとアンマネージドの違い

1番の違いはクラウドサービスの提供形態によって、クラウド事業者と利用者の責任範囲が異なること。
クラウド事業者側が管理する領域をマネージド
利用者が管理する領域をアンマネージド
クラウドサービスにはIaaS、PaaS、SaaSと呼ばれる提供形態があり、オンプレミスと比較した際の責任範囲は次の通り。

Image from Gyazo

IaaS(Infrastructure as a Service)

IaaSとはサーバー・ネットワークなどのインフラ設備を提供してくれるサービス
たとえば、AWSのサービスではEC2が該当する。
AWS側の責任範囲は物理的なデータセンターやサーバーといったインフラ設備のみ。
そのため、利用者はOSやデータベースなどのミドルウェアはすべて自分で選択する必要がある。
つまり、ソフトウェアの更新やセキュリティ対策といったOSの管理を利用者で行う必要があるため、構築や運用に関してある程度の専門知識が必要となる。

クラウドデメリット

ネットワーク帯域への負荷が大きく、オンプレで運用した方が圧倒的にコストも低くなる動画配信サービスのようなものであればコンテナは選択肢から外れる。

IaaS(Infrastructure as a Service) : イアース → インフラのみ提供

IaaSではネットワーク・ハードウェア(マシン本体)・OSまでをセットにして提供する。
つまりレンタルの形式と同じくサーバやネットワークをサービスとして提供する
構築したサーバ上にOS(Linux, Windows)やミドルウェア(Ruby On Rails Mysql)を入れたり、ネットワークの設定をするのはクラウドの利用者の役割となる。

PaaS(Platform as a Service)

PaaSとはサーバー・ネットワークなどのインフラ設備に加え、OSやデータベースなどのミドルウェアまでを提供してくれるサービス。
たとえば、AWSのサービスではAmazon RDSが該当する。
AWS側の責任範囲にはインフラ設備に加え、ミドルウェア部分も含まれる。
そのため、利用者はOSやミドルウェアの設計・構築・運用などを考慮せずアプリケーション開発に集中してリソースを割くことができる。
クラウドの利用者はそのプラットフォーム上で動作するアプリだけを作成して配置する。


heroku

SaaS(Software as a Service)

SaaSとはインフラ設備・ミドルウェアに加えてアプリケーションまでも提供してくれるサービス。
一般的なサービスではZoomやMicrosoft365などが該当し、AWSのサービスではAmazon EventBridgeやAmazon QuickSightなどが該当する。
またStripeやFormrunなども該当される。
AWS側の責任範囲にはインフラ設備・ミドルウェアに加え、アプリケーション部分も範囲に含まれる。
そのため、利用者には専門スキルや構築、運用をするノウハウは不要。
使いたい機能が搭載されているサービスを導入し、必要な設定だけ行えばすぐにサービスを利用できる。