BullよりElk

洋服と食をこよなく愛するWebプログラマ。

Google Cloud Platformって結構気に入った

Google Cloudで始めるDocker実践入門に参加してました。
講師は、「プログラマのためのDocker教科書」や「Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門」の著者の阿佐志保さんでした。
今回は、もう少し自分で試したいのでDockerの内容は置いといて簡単にGoogle Cloudについて紹介したいと思います。
Google Cloud Platformとは、Googleが提供しているクラウドサービスです。

リージョン

現在利用できるリージョンは、次のとおりです。AWSに比べると全然少ないですね。f:id:b1a9id:20161023220505p:plain

プロダクト 北アメリカ ヨーロッパ アジア
Cloud Storage カウンシルブラフス, バークレー郡, アトランタ サン・ギスラン(ベルギー) 彰化県(台湾)
Cloud Storage(Alpha) レノア, メイズ郡, ダラス - -
Cloud SQL バークレー - アジア
Cloud Datastore バークレー - -

ただ、なんと嬉しいことに2016年中に東京リージョンができるとのこと!その他、オレゴンも追加だそうです。

サービス

全部で48サービス提供されています。(2016年10月23日現在)
主なものをAWSのサービスと比較して紹介してみます。

サービス名 説明 AWSでは
Compute Engine Googleのインフラにホストされている仮想マシンを使った、大規模ワークロードの実行 EC2
App Engine スケーラブルなアプリケーションや、モバイルバックエンド構築のためのプラットフォーム Beanstalk
Cloud Load Balancing Google Cloud Platformのハイパフォーマンス、スケーラブルロードバランサー Elastic Load Balancer
Cloud DNS Googleの世界中のネットワークから供給される高信頼でレジリエントな、低レイテンシーDNS Route 53
Cloud Strage グローバルなエッジキャッシュを備えた、コストバランスに優れるシンプルなオブジェクトストレージ S3
Cloud SQL フルマネージドのMySQLリレーショナルデータベースを利用したデータの保存と管理 RDS
初めて使ってAWSより便利と感じたこと
  • プロジェクトという単位で管理すること

うちの会社ではAWSをつかっておりますが、お客様ごとにアカウントを分けて親アカウントからSwitch rollで目的のアカウントにログインするという運用をしております。毎回これめんどいなーって思ってるんですよね。しかし、GCPではプロジェクトという単位でサービスの管理ができるのです。システムごとにプロジェクトを作成すれば、他のシステムに影響を及ぼす心配もないです。もし、このシステムもういらないってなった場合は、プロジェクトごと削除してしまえばその中で使用していたサービスも一緒に削除できてしまうんです!

  • Cloud Shell

ざっくり言うとブラウザのマネジメントコンソール上にコンソールが起動しちゃうんです。
マネジメントコンソールの左上ヘッダメニュー赤枠のとこを選択すると
f:id:b1a9id:20161023220455p:plain
マネジメントコンソール上にコンソールが起動します。
f:id:b1a9id:20161023220505p:plain
ブラウザからコマンドラインクラウドリソースに直接アクセスできます。クラウドシェルでは、GCPAPIをたたくgcloudコマンドやよく利用すると思われるコマンドがすでにインストールされています。
また、Java、Go、Python、Node.js、PHPRubyの開発・デプロイツールがすでにインストールされているため、Cloud Shellのインスタンス上でアプリを起動してブラウザからプレビューを見ることができます。
1番感動したのは、Cloud Shellを終了してもコマンド履歴やファイルが残っていることです。Cloud Shellでは、Cloud Shellインスタンス上のホームディレクトリに5GBの永続ディスクがマウントされています。永続化されるのは、ホームディレクトリ配下のみみたいです。.bashrcや.vimrcも対象です!


こんな感じでけっこうおもしろそうなのでいろいろ試してみたいと思います。(AWSは12ヶ月の無料枠だが、GCPは60日の無料枠ていうのが残念)