えいのうにっき

a-knowの日記です

「Google Compute Engine 入門」を読んで、AWS と GCP の違いをまとめてみた

先日発売されたばかりの「Google Compute Engine 入門」(吉積 礼敏 氏 著)を読んだ。kindle版が出ていたので、買いやすかったし、読みやすかった :)

全体を通しての感想は「GCE(を中心とした、GCP)の紹介本みたい」、というかんじ。AWS の現在の状況(隆盛)を考えると、GCP に関しては、このレベルの書籍が今、ようやく出版された段階だということは、厳しいけれどまごうことなき現実なんだよなぁ、と思った。

(ちなみに、gcutil のコマンドリファレンスまであるのはちょっとやり過ぎでは...と思った。Web のリファレンス では不足があるんだろうか?)

でも、この本を読むまでは「 AWS ではなく GCP をわざわざ選ぶ理由がわからない(デメリットを上回るメリットが感じられない) 」という気持ちしかなかった自分が、読み終わったときには「 課題はいくつかあるけれど、それらがクリアされたら使ってみてもいいかも 」、と思えた。ので、AWSGCP の違い...「 AWS よりいいじゃん!と思える点 」「 ぜひクリアしていって欲しい点 」をまとめてみようと思う。

(ちなみに僕は、前職で GCP のサービスの一つである GAE をゴリゴリに使うお仕事をしていたので、GCP の一部に関してはある程度の前提知識はある。そして今は AWS を利用した開発を行ってる)

AWSGCP の違い

インスタンスの起動時間が GCP の方が早い

記述中に厳密な比較がされていたわけではないけど、「数秒で」という記述があるので、これでいくと EC2 インスタンスの立ち上げと比べると随分早いな、と。

ただ、GCP が 今の AWS の規模で使われるようになってもこのスピードを維持できるのかな?と。つまり、そこらへんのスピードが早いのは、単に GCP が不人気だからじゃね?と。そんな意地悪な疑問はあるにはある。

GCP は、Billing の設定がアカウント毎ではなく、アカウント内 Project 毎

AWS でもそういうことができるのかもわかんないけど、GCP はこの認識で間違ってないと思う。 でもこれは良し悪しかな。

GCP にも asia リージョン はあるけれど、台湾。

AWS だと Tokyo がある。

GCP の継続利用割引は嬉しい!

月間の利用時間に応じて、自動的に利用料金が割引(20%〜60% の割引率)される、というもの。 AWS だと、それに当たるのはリザーブインスタンスだと紹介されているけど、「AWS にはそれくらいしかディスカウントが望めるものはない」ということかなと。これは非常に羨ましい点。

サーバの仮想化技術が違う

AWS(EC2)は XenGCP(GCE)は KVM、だそう。KVM は後発だから、性能も高い!と書かれているけど、僕はここらへん疎いのでよくわかりません。

インターネット利用回線に対する課金は、APAC 向けに関しては GCE は割高

だそう。ただ、ここらへんの価格差の優位性はイタチごっこかなと。

データ保存に関しては一長一短

単純なデータ保持費用、ディスクI/Oに関しての費用に関しては GCE に分がある様子。ただ、スナップショット保存の費用に関しては、現時点では AWS に分があるみたい。この優位性の状況についても上記と同様かな。

リージョン数は AWS に軍配。でも...?

本の中ではリージョンの種類数を比較して AWS の方が多い、としているけど、その比較にあまり意味はないように思う。大事なのは「ローンチするサービスがメインとするターゲットの国に、いかに近いリージョンが整備されているか」で、それが日本ならば、AWS は Tokyo で GCP だと 台湾だ、というだけで。

ただ、この本には「ネットワーク回線自体を自前で各国に引く対応を行っていることから、Amazon と比べるとレイテンシについてのデメリットに配慮する必要が少なく」、とあるので、レイテンシに対して厳密な要件があるのであれば、「AWS は東京リージョンあるから、AWS で」と短絡的に決めてしまうのではなく、じっくりと検証してみてもいいのかなと思った。

UnixBench の結果は GCE の圧倒的勝利

本当に圧倒的。GCE すごい(こなみ)

課金単位時間は GCE の方が細かいので羨ましい

GCE は、利用時間の最小単位が 10分 で、その後は 1分 単位での課金なんだそう。その点、EC2 だと 1時間 が最小単位で その後も 1時間単位 での課金。うらやましい(こなみ2回目)

GCE ではロードバランサの pre-warming が不要

なんだそうです。スケールアウトさせやすい、というのは大きなメリットですね。

ツールや API の使い勝手は後発有利?

とあったけど、たとえば Web コンソールの出来栄えは AWSGCP もどっこいどっこいだと思うし、必ずしも後発有利、って感じはしないかなと。

あと、この本の中には書かれていなかったけど、RubySDK が依然としてα版、というのも頑張って欲しいところ。笑

GCE はリージョン間連携が容易らしい

AWS(EC2とか)は課金以外は基本的にリージョン毎の管理になるので、「リージョン間でのデータコピーなどもインターネット経由に」なったりもして、「AWS ではリージョン間での連携には一手間必要」なことを考えると、GCE が「容易」なら、そこは十分優位な点かなと。どれくらい「容易」なのか(一部容易でない点があるのか、とか)は不明だけど。

カスタムイメージの利用は EC2 に軍配?

らしいです。GCE の場合、「カーネルレベルでの調整を自分で行う必要がある」のだそう。

Eclipse Plugin は両者同等レベル

らしい。両方共、「十分に満足のいくレベル」とある。

Cloud Watch 相当のものがないのはキツイ

GCP では各種メトリクスを管理コンソールから確認することはできるが、それらについて「通知設定等をすることはできません」、とあります。となると、GCP の外部に監視サーバを立ててそこから...ということが必然的に必要になるので、ここは今後頑張って欲しいところ。

Amazon EMR 相当のものは、GCP にはない

でもまぁ、やりたいことによっては Google BigQuery があるし。。

ストレージは、一見両者似通っているけれど...

Google Cloud Storage には、Amazon S3 にはある Glacier相当(長期アーカイブ向け)がない。

メッセージングサービス

GCP は外部サービス(SendGrid等)との連携が前提らしい(外部への SMTP ポートでの通信が制限されている)。その点、Amazonのそこらへんのサービスは統合されている...とあるけど、正直、今までの開発であまり意識したことはない。(意識せずに済んでいる、ってことかな?)

Amazon Cloud Search に対して、SearchAPI があるけど...

GAEからしか利用できないらしい。でもこれはそのうち改善されそうな気もする。

CDN という観点

GCP だと、CDNの機能はデフォルトで有効になるらしい。追加の課金もなし。ここらへんはさすが。

DWH : Amazon Redshift

DWH領域のソリューションとして、Google BigQuery があり、「Amazon(Redshift) とよく似ていると思われます」とある。厳密な比較が行われているわけではないけれど、僕はこの分野は BigQuery を応援したい。笑

その他、「Google が一般向けに公開している API などを Google のネットワークに閉じた中で実行できる」メリット

ここでは Translate API と Prediction API が挙げられてる。

Cloud Endpoints / Cloud Datastore

GAE 専用とも言っていいサービス。これらがあることが優位性になるのなら、そうなのかもしれない。Endpoints はそこそこ可能性のある仕組みだと思うんだけど。

...とまぁ、

こんな感じかな?今回は単純にこの本に載っていることの一部をざっくりまとめただけなので、ここに書いたこと以外でも大きな違いがありそうな気もしてるし、なにより、Google は今あるこの差を埋めようと躍起になってるに違いない(なので、「今日の差は明日の優位性」、という状況になってる可能性も多いにありうるかなと)。

なんにせよ、今までおぼろげながらでしかなかった GCE(GCP)に関してのイメージがより明確になったので、「Google Compute Engine 入門」、読んでよかったです :)

関連エントリ

blog.a-know.me

blog.a-know.me

blog.a-know.me

Google Compute Engine入門

Google Compute Engine入門

Google Compute Engine入門 (アスキー書籍)

Google Compute Engine入門 (アスキー書籍)



follow us in feedly