今回は課題としてクラウドサービスの現状を調べました。今後閲覧しやいために、ここでまとめました。

クラウドとは

概念的な説明をすると、クラウドとは、インターネットに接続することを前提とする各種のサービスのことです。 主体がインターネットの向こう側にあり、利用量に応じて柔軟にキャパシティを増やせることが特徴といえます。サービスは、コンピュータリソースだったり、アプリケーションだったり、OSであったり、様々なものを提供しています。 そこからクラウドの意味も人によって様々な捉え方をされているようです。

例えば、 ・メールやカレンダーといったグループウェアなどのように捉えている ・データを保存するストレージのように捉えている ・開発環境のように捉えている などなど…。

言葉のみでみると、それらは別個のものであり、とても同じ「クラウド」を指しているようには見えないかも知れません。しかし、実はこれらは全て「クラウド」を指しています。 クラウド、で表す意味の範囲はとても広く、幅広く様々な意味で解釈されています。そのため実際に仕事上の会話で利用する場合、現在では、利用形態によって分類した用語が使用されます。 それが、「IaaS」「PaaS」「SaaS」に当たります。 それでは、この「IaaS」「PaaS」「SaaS」とはどのようなものなのかを、以下で説明します。

IaaS、PaaS、SaaSの違い

IaaS

”Infrastructure as a Service”つまり「サービスとしてのインフラ」と訳されるIaaS。読み方は「イァース」「アイアース」です。 情報システムの稼動に必要な仮想サーバをはじめとした機材やネットワークなどのインフラを、インターネット上のサービスとして提供する形態のことを指します。少々乱暴に区分すると、これまでのホスティングサービスと言われるサービスと提供範囲の区分ではほぼ変わりません。では何が異なるかと言うと、IaaSの最後の「サービス」という点になります。サーバを利用する際に必要なハードウェアのスペックやOSを、ユーザーが自分で自由に選定して、ネットワーク越しに利用することが可能です。Google Compute Engine や Amazon Elastic Compute Cloud (EC2) が代表的なサービスとして挙げられます。 IaaSでは 仮想サーバ ハードディスク ファイアーウォール などのインフラを提供します。 PaaSと違って最低限の環境しか提供されないので メリット:アプリ・プラットフォームをかなり自由に開発できる デメリット:開発には専門的なスキルが必要 という2点が特徴です。例えるなら「土地だけを借りてお店を作る方法」ですね。

具体的には Google Compute Engine Amazon Elastic Compute Cloud Xサーバーなどのレンタルサーバーなどのサービスがあり、無料CMSのWordPressを利用するために使われることもあります。 また、VPSとの違いは IaaS:料金は使った分だけで、柔軟にリソースの量を変えられる VPS:料金は一定で、リソースを変えるためには契約を変えなければならない というポイントです。

PaaS

PaaSとは”Platform as a Service”の略で、読み方は「パース」です。主に、PaaSは企業でのサービス開発に利用されます。 アプリケーションソフトが稼動するためのハードウェアやOSなどのプラットフォーム一式を、インターネット上のサービスとして提供する形態のことを指します。 このPaaSは、エンドユーザにオンライン上でサービスを提供するSaaSの考え方をさらに深化させたものとなり、プラットフォームを大規模なデータセンターなどに用意して外部に開放し、主に企業などのユーザーが、その上にサービスを開発するものになっています。 開発者は、あるシステム設計に沿った方法でアプリケーションを開発できるので、コストを抑えてかつ早くシステム開発をおこなうことができます。 Google App Engine やMicrosoft Azure(マイクロソフト・アジュール)などが代表的なサービスとして挙げられるでしょう。

PaaSは「サービスとしてのプラットフォーム」という意味で、開発に必要な ネットワークなどのインフラ OSなどのプラットフォームをインターネット上で使用できます。必要な環境がすでに揃っているので、プログラムを作ることに集中できるのは大きなメリットです。

お店で例えるならすでに電気・水道などのインフラがそろった、ショッピングセンターのテナントですね。 以前はセキュリティの問題もありましたが、サービス提供元の対策やユーザー側の意識アップにより改善しつつあります。 また2017年現在、具体的なPaaS提供サービスは

Google App Engine(Google Cloud Platform) Microsoft Azure(マイクロソフト・アジュール) Heroku(へロク) IBM Bluemix などです。Python/Java/Go/PHP/Node.JS/Ruby on Railsなどのプログラミング言語が使われます。 また、価格は従量課金制であることが多く、使った分だけ料金を支払う形がほとんどです。

SaaS

普段からよく使う方も多い Gmail、Yahoo!メール Google Photo 無料ブログサービス などはSaaSです。”Software as a Service”の略で「サース」と呼ばれます。

これまでパッケージ製品として提供されていたソフトウェアを、インターネット経由でサービスとして提供・利用する形態のことを指します。 SaaSの特徴としては、以下のようなものが考えられます。 ・データをインターネット上に保存することができる ・PC、スマートフォン、タブレットなど端末を選ばずにデータにアクセスできる ・複数の人間が同一データを共有し、更に編集もできる Google Apps やSalesforceなどがSaaS型サービスの代表例として挙げられるでしょう。

メリット・デメリットは以下の通りです。 メリット:全てのサービスがウェブ上で使えるので、開発のスキルや手間なく使える デメリット:すでに用意してあるサービスなので、自由度は低い お店で例えるなら、以前のお店が残した設備がある居抜きのようなものです。スピーディにサービスを利用したいときには便利ですが、カスタマイズをしたいなら自由度は低く感じるでしょう。

まとめ IaaS、PaaS、SaaSの区別についてまとめると、ソフトウェアサービスを提供するのに必要な構成要素の提供段階によって区別することができます。 その構成要素は大きく分けて、ネットワーク、ハードウェア、オペレーティングシステム(OS)、ミドルウェア、アプリケーション、の5つに区分されます。基本的にはこの5つはこの逆順に依存関係にあります。アプリケーションはミドルウェアが無いと動作せず、ミドルウェアはOSが無いと動作しない、ということを覚えておくと良いでしょう。 SaaSは5つの要素がすべて含まれており、近年最も利用されているクラウドサービスです。 SaaSを導入することで、これまでソフトウェアを購入・インストール するコストや時間、セキュリティの問題などが大幅に改善され、ユーザーのサービス利用におけるハードルが劇的に緩和されるようになりました。

2、クラウドプラットフォームの紹介

最初に簡単な既存のクラウドプラットフォームの紹介です

・Google Cloud Platform (GCP): GCPの開始は2011年10月6日のことだ。開始後わずか5年で、市場で大きな存在感を示すようになった。 まずYouTubeやGoogleといった自社のサービスを稼働させることから始まり、後にはエンタープライズサービスを作り上げ、誰もがクラウドを使えるようになった。運営するのはGoogleだ。

・Amazon Web Services (AWS): 11年もの稼働年数を持つAWSは市場で最も歴史あるサービスの1つだ。彼らのサービスは幅広く、配置やモバイルネットワーキングなどクラウドでの重要な分野をカバーしている。 運営するのはAmazonだ。

・Microsoft Azure: Azureの歴史も6年ほどで、市場における有望株だ。市場をリードしているAWSとも楽に組み合わせることができる。Azureもまた一通りのクラウドサービスを提供している。運営はMicrosoftだ。 注:クラウドサービスは予め設定された製品の組み合わせによって構成されている。

各クラウドサービス社の世界シェア

下記はクラウドサービスの世界シェア表

クラウドサービスの世界シェア
クラウドサービスの世界シェア
Source: Gartner (September 2017)

AWSは世界のクラウド市場の中で圧倒的なシェア (44%)を堅持。

#各社の比較

仮想マシンの起動速度

仮想マシンを起動する際、起動が完了するまでの時間には大きな違いがあります。どのクラウドも自動スケーリングに対応してはいるものの、この速度の違いにより、対応の柔軟性には大きな差がでることになるでしょう。

AWS:1分程度 Azure:2分30秒以上 Google Cloud Platform:40秒以内

VMの選択方法

マシンタイプの選択方法も異なります。AWS、Azureでは、あらかじめ用意されたマシンタイプの種類から選択しなければなりませんが、サービスもあれば、Google Cloud Platform では、用途に合わせて自由にマシンをカスタマイズですることができます。

AWS:コア数、メモリ、ディスクのセットから選択 Azure:コア数、メモリ、ディスクのセットから選択 Google Cloud Platform:カスタムマシンにより、コア数、メモリ、ディスクを別々に設定可能

たとえば、大容量のSSDストレージを利用したいけれど、高いCPU処理能力は必要ないといったケースでも、柔軟にカスタマイズすることができるため、無駄なCPUリソースに対して支払いをする必要はありません。

計算方法、課金対

この三つのクラウドでは、仮想マシンやストレージなどのサービスの利用料金は従量制となっています。しかし、実際には、その計算方法や、課金対象は同じではありません。たとえば、AWS、Azureでは1時間単位での従量課金ですが、Google Cloud Platformでは分単位の課金となります。環境の検証や、スパイクへの短時間のスケール等の用途では、短い単位での課金形式の方が、コストメリットが大きくなるでしょう。

AWS:時間単位課金 Azure:時間単位課金 Google Cloud Platform:分単位課金

ディスカウント

クラウド事業者ごとに、ディスカウントの仕組みにも違いがあります。たとえば、AWSでは長期の利用があらかじめ分かっている仮想マシンに対して、数1年~3年のリザーブドインスタンス契約をすると大幅な割引がされるシステムが用意されています。Azureにも、同様の長期契約が用意されています。他方で、Google Cloud Platformでも、このような長期利用に対する割引を用意されてはいますが、事前の契約は必要なく、利用の長さに応じて自動的に適応されます。 また、Azureの大規模なエンタープライズ向けの割引や、Google Cloud PlatformのプリエンプティブルVMに対する大幅な割引など、それぞれのクラウド独自のものも用意されています。

AWS:リザーブドインスタンス割引 Azure:12カ月の前払い割引。大規模なエンタープライズ向け割引 Google Cloud Platform:自動適用の長期利用割引。プリエンプティブルVM割引

ライセンス利用

AWS、Azure、Google Cloud Platformでは、クラウド内利用できるライセンスにも違いがあります。特にRDBMSに関して、AWSとAzureではMySQL、PostgreSQLなどのオープンソースのものに加え、Oracleを使用することもできます。しかし、Google Cloud Platform のCloud SQLではMySQLしか利用することができません。Googleはオープンソースソフトの相性の良さを強みとしていますが、商用ライセンスの正式サポートを必要とする場合には、AWSかAzureを選択する必要があるでしょう。

AWS:Oracleサポート有り Azure:Oracleサポート有り Google Cloud Platform:MySQLのみ

データ分析サービスの違い

パブリッククラウドを利用する際、ビックデータの解析基盤として利用するケースも多いでしょう。AWS、Azure、Google Cloud Platformのどのクラウドでも、ビックデータの蓄積・分析のためのデータウェアハウスのサービスが用意されていますが、それぞれ大きく異なった特徴を持っています。

AWSのデータ分析基盤であるRedshiftは、インスタンスを大量に用いて分散処理させることで、最大1.6PBまでスケールアウトすることが可能という強みを持っています。しかし、そうした計算リソースのセットアップを行う必要があったり、チューニングが必要であったり、一定の手間がかかることになります。

AzureのSQL Dataware Houseも、Redshiftのように大規模な並列処理を行う基盤です。Redshiftと比べて、ストレージとコンピューティングを分けて設計できる点、リソースのスケール速度が速い点などが強みとなりますが、Redshift同様の手間と料金がかかることに変わりません。

他方で、GoogleのデータウェアハウスBigQueryは、この二者とは全く異なった特徴をもっています。ビッグデータの分散処理を行う際、BigQueryではGoogleのデータセンター内の大量のリソースが自動的に割り振られるため、利用者は計算リソースを全く意識する必要はありません。料金も、使用したリソースではなくクエリーに対しての従量課金となるため、必要なときにだけ、非常に安価に分析を行うことができます。さらに、数十億行という膨大なデータも数秒で処理ことができるほどの性能を持っているため、リソースの細かいチューニングなどを行わなくとも高速な分析基盤を利用することが可能です。

参考文献:

AWS、Azure、Google Cloud Platform の比較 Gartner「Gartner Says Worldwide IaaS Public Cloud Services Market Grew 31 Percent in 2016」 Microsoft Azure vs Amazon Web Services徹底比較 GCP vs AWS vs Azure vs IBM、クラウド事情2017年版まとめ