「クラウドコンピューティング」という言葉を聞くようになって久しいですが、皆さんはこの言葉の正しい意味を理解されていますでしょうか。
クラウドと一言に言っても様々な種類があり、それぞれに長所・短所があるのです。この記事ではクラウドの定義や分類について説明したうえで、導入にあたって考えるべきメリット・デメリットを解説していきます。
クラウドとは?
クラウドコンピューティングとは、ITに関する様々なサービスをインターネット経由で利用するシステムを指します。クラウドが出現するまで、コンピュータは「オンプレミス」と呼ばれる単独での利用が中心でした。例えば利用するソフトウェアは単一のコンピュータにインストールする必要があり、ほかのコンピュータで同じソフトウェアを使うには別途インストールしなければなりません。そのほかにも、例えばソフトウェア運用のためサーバを用意する場合も同様です。以前はサーバ本体を購入する必要があり、そのぶんのリソースだけを使用できるというのが当たり前でした。
ところが、インターネットの発達によりクラウドという概念が生まれてその状況が一変しました。クラウドサービスを使用することで、インターネットを介して別のサーバ上にあるソフトウェアをリアルタイムで利用できるようになったのです。ソフトウェアは各コンピュータにインストールしなくとも利用が可能で、サーバの利用においてもインターネット上のサーバを間借りする形で利用して、スペックの拡張・縮小も柔軟に行うことができるようになりました。
このようにクラウドは、自身の環境にソフトウェアやサーバなどのリソースがなくともインターネット上の別のコンピュータ上にある環境を利用できるサービスを意味するのです。
クラウドの種類
クラウドは、サービスの包括範囲によって主に3種類に分類されます。それが「SaaS」「PaaS」「IaaS」です。この3種類の違いがどういったところにあるのか解説していきます。
SaaS
SaaSは「Software as a Service」の略で、ソフトウェアを提供するクラウドサービスです。代表的なサービスとしては、Google社の提供する「Gmail」「Googleマップ」やMicrosoftの提供する「Microsoft 365」などがあります。一般的にインターネットブラウザ上で動作するものが多く、ほとんどのパソコンやスマートフォンで動作することが特徴です。
SaaSではサービスを提供するにあたって基盤となるサーバやネットワーク、OS、アプリケーションなどはクラウドベンダー側が管理しています。よって、ユーザが管理責任を持つのはアプリケーションで扱うデータだけです。ただしユーザの責任範囲が狭い一方で、自由なカスタマイズがしにくいという特徴もあります。
PaaS
PaaSは「Platform as a Service」の略で、プラットフォームを提供するクラウドサービスという意味があります。言い換えるなら、アプリケーションを開発する環境を提供するサービスです。PaaSの具体例としては、Amazon社が提供する「AWS Lambda」などが挙げられます。AWS Lambdaは、アプリケーションの実行環境を提供するサービスです。サーバを立てたりミドルウェアをインストールしたりといった事前準備をしなくとも、アプリケーションの実行に必要な環境をすぐに利用することができます。
用途に応じて様々なアプリケーションを実行できるため、SaaSと比べてより自由度の高いサービスです。ただしその反面、アプリケーション自体はユーザー側が管理をする必要があり、ユーザー側の管理責任は大きくなります。OSやミドルウェアの障害はクラウドサービス側で障害対策をしてくれますが、アプリケーションの障害についてはユーザー側が可用性を高める対処をしなければなりません。
IaaS
IaaSは「Infrastracture as a Service」の略で、ITインフラを提供するクラウドサービスという意味です。Amazon社の「AWS(Amazon Web Service)」Microsoft社の「Microsoft Azure」などが挙げられます。先述したAWS LambdaはAWSサービスの1種ですが、AWSにはそのほかにもサーバー・データベース・ストレージ・セキュリティなど様々なサービスを展開しており、それらを組み合わせることでITインフラを構築することができます。
1からインフラを構築できるため用途に合わせたカスタマイズの自由度はとても高いですが、その分利用者側の責任範囲はPaaSよりもさらに広くなります。クラウドベンダーの責任範囲はインフラを提供する物理的なサーバーやネットワークだけとなり、そこに搭載するOSやミドルウェア、アプリケーションなどをすべてユーザー側が管理する必要が出てきます。IaaSを利用する際は、この責任分界点をきちんと理解して適切な対策を施すことが重要です。
代表的なクラウドベンダー
クラウドサービスを展開するベンダーは多くありますが、それぞれにどのような違いがあるのでしょうか。ここでは代表的な4つのサービスをご紹介します。
AWS
AWSは、Amazon Web Service社が提供するクラウドサービスです。仮想マシンを提供する「Amazon EC2」、ストレージサービスである「Amazon EBS」「Amazon S3」などをはじめとして、200種類以上のITクラウドサービスを展開しており、現在も次々と新しいサービスがリリースされています。
AWSの特徴は伸縮自在な拡張性です。例えばシステムの利用者が増えて仮想マシンのスペック増設が必要になった際、AWSでは設定画面からすぐにCPU・メモリ・ストレージなどを変更することができます。また一定以上の負荷がかかった際に自動的にスペックを増強したり、昼夜・平日・休日など利用者数が変わる時間帯ごとにスペックの調整をしたりと、柔軟に調整を行うことができるのです。AWSについてより詳しく知りたい方は、以下の記事も参考にしてみてください。
Azure
AzureはMicrosoft社が提供するクラウドサービスです。主にIaaS、PaaSを中心に展開しており、Microsoft社のサービスであることからWindowsやMicrosoft Officeとの親和性が高くなっています。オンプレミスでWindows Serverを使用していたり、Microsoft Officeとの連携をしていたりする場合はスムーズな移行が可能です。
また、「可用性ゾーン」「可用性セット」といった複数地域・複数サーバーでの可用性の高い運用が可能であることも特徴です。それぞれの仮想マシンの稼働率は、可用性ゾーンを設定した場合は99.99%、可用性セットを設定した場合は99.95%がSLAにより保証されています。さらに詳しい情報は、こちらの記事もご参照ください。
GCP
GCPとはGoogle Cloud Platformの略で、Google社が提供するクラウドサービスです。Google社が提供する検索サービスやGoogle Map、YouTubeなどもGCP上で稼働しています。GCPの特徴は、世界最新鋭ともいえるGoogle社のAI・機械学習・ビッグデータ解析技術をクラウド上で利用できる点です。これらの機能を主に利用する場合は、GCPの比較検討もおすすめできます。詳細は、こちらの記事もご覧ください。
OCI
OCIはOracle Cloud Infrastructureの略で、Oracle社のクラウドサービスです。OCIは、ほかのクラウドサービスと比較してコストが低い点が大きな特徴となっています。特にIaaSは他者よりも9割以上安価な場合もあり、既にOracle社の製品を利用していてライセンスを所有している場合はそのままそれをOCIへ移行することも可能です。価格が安くともしっかりとした機能性・可用性を備えています。詳しく知りたいという方は、解説記事もご覧ください。
クラウドを使用するメリット
クラウドサービスを利用することによって、オンプレミスよりも便利にITサービスを使用することが可能です。ここでは主なメリットを3つご紹介します。
初期費用が抑えられる
オンプレミスでハードウェアやソフトウェアを利用する場合、初めにそれらを購入する必要があり、初期費用がかかります。特にサーバなどITインフラをゼロから整えるには様々な機器や環境を購入しなければならず、大きな費用負担です。しかしクラウドサービスでは、クラウドベンダー側が保有しているリソースを間借りする形になるので、使い初めの費用を抑えることができます。
メンテナンスの負担が削減できる
オンプレミスでITインフラを管理する場合、ハードウェア・ネットワーク・OS・ミドルウェア・アプリケーションのすべての分野でメンテナンスが必要です。しかし、クラウドサービスを利用することでそれらを最低限に抑えることができます。ユーザー側での管理が最も必要となるIaaSでも、物理的なサーバーやネットワーク自体の管理についてはクラウドベンダー側が行うため、メンテナンスコストが大幅に削減可能です。
スケールアップ・ダウンが容易
基本的にクラウドサービスは利用範囲の拡大・縮小がとても簡単です。例えばオンプレミスサーバーの保存領域を増設する場合、HDDやSSDなど記憶媒体を物理的に購入し、サーバーに取り付けなければなりません。それに対してクラウドサービスでは、設定を変更するだけでスペックの増減が可能です。またサービスによっては時間帯や稼働状況を監視し、自動的にスケールアップ・ダウンを行なってくれるものもあります。
クラウドを使用するデメリット
クラウドサービスは便利な一方で、利用に際して注意しなければならない点も存在します。そこで、クラウド導入の際に対策を検討すべき点を大きく2つご紹介します。
セキュリティの懸念
クラウドサービスはその性質上、インターネットに接続しなければ利用することができません。そのため、第三者によるデータの抜き取りやアカウントの乗っ取りなど、常にセキュリティリスクにさらされることになります。このデメリットに対する対策としては、
VPNやハイブリッドクラウドの利用が挙げられます。 VPNとはVirtual Private Networkの略で、仮想的に引かれた専用のネットワークです。VPNを使用することで外部から不正な通信をすることが困難となり、セキュリティが向上します。またハイブリッドクラウドとは、オンプレミスとクラウドの両方を使ってITインフラを構成することです。高いセキュリティが求められるシステムはオンプレミスで、より柔軟に拡張したいシステムはクラウドで、といった使い分けが可能になります。
責任分界点の認識
先述したように、特にIaaSを利用する場合は自由度が高い代わりにユーザ側が管理責任を持つ部分も多くなっています。具体的にはデータ・アプリケーション・ミドルウェア・OSはユーザ管理となり、別途可用性を高める対策が必要です。この対策として代表的なのは、「LifeKeeper」などのHAクラスターです。HAクラスターは複数のサーバーをあたかも1台のサーバーとして扱い、万が一稼働系がダウンしてもそれを検知して即座に他のマシンへシステムを移行する仕組みです。これにより、アプリケーション等に問題が起きても事業やサービスの安定した供給が可能となります。
自社システムをそのままクラウドへと移行する場合、上記のようなユーザー側の責任範囲を理解して対策を施すことはとても重要です。クラウドサービスは良くも悪くもクラウドベンダー依存のシステムとなってしまうため、メリットを十分に享受するためにもデメリットへの対策が欠かせません。
クラウド利用の際はしっかりとデメリットへの対策を
ここまで説明したようにクラウドはとても便利なサービスですが、同時に全ての管理をクラウドベンダーに任せることができるわけではありません。きちんと利用者側の責任範囲を理解し、適切な対策を実施するようにしましょう。特に継続してシステム運用をする上では、高可用性を担保することが重要です。LifeKeeperなどのHAクラスターを利用して、万が一の障害に備えるようにしましょう。各クラウドサービスでLifeKeeperを利用する方法は、下記の記事をご覧ください。