スキップしてメイン コンテンツに移動

Google Compute Engine入門を読んで


Google Cloud Platform(GCP)関連の情報をWeb検索すると、ほとんどと言っていいほどヒットする会社のサイトがある。吉積情報株式会社さんの関連サイトだ。Google関連の事業に力を入れられているようで、このたび、代表の方がGoogle Compute Engineの入門書「Google Compute Engine入門」を出版されたとの事で早速読んでみた。
内容はざっくりとこんな感じ。
  • Google Compute Engineの概要と導入手順
  • コマンドリファレンス
  • AWSとの比較
  • その他
まず、Web公式ドキュメントは全て英語なので、日本語での解説本というのはありがたい。書いてあるとおりにやれば、簡単にGCPのインスタンスにログインするところまではできる。

コマンドリファレンスまでが本書のページ数の8割強を占める。GCPはガッツリ使っていないので、リファレンス本としてはまだ出番は無さそうかな。

個人的には、機能、価格、性能(ベンチ)までとったAWSとの比較はとても参考になった。仕事でも「AWSでいいじゃん」とよく言われる事があるので、このAWSとの比較記事だけでも本書の値段分の価値はあると思っている。

先日Googleが、日本でも本格的にGCPを展開すると明らかにしていたけれど、まだまだWebや書籍の情報量が少ない。特に日本語の。だ。国内で本格的に展開するには、日本語のドキュメントが充実しているかどうかにかかっていると個人的には考えている。あとは国内の導入事例やサポート体制の情報が欲しい。

それにしてもGoogle関連の技術書の陳腐化は早い(iOSもだけど)。しょうがないことだけど、この本も来年には「こないだまではそうだったね」という部分がでてくるだろう。その時はぜひ第2版を!

コメント

このブログの人気の投稿

DatastoreとSerach APIを連携させる

Datastoreでは、複数のフィールドに対して不等式検索(!=や>など)やソートを行う場合、事前にIndexを構築しておく必要がある。しかも全ての検索条件の組み合わせごとにIndexが必要になるので、バックオフィス機能にありがちな複雑な条件での検索を行いたい場合、多くのIndexが必要だ。

Managed Virtual Machine に望むこと

先日2014年4月22日に行われた、Google Cloud Platformセッションの模様がYoutubeに公開されてた。 地方民はこういうイベントになかなか参加できないので、動画配信はほんとに助かる。ありがたや。。。 動画の中で語られている Managed VM は地味だけど、なにげにすごい機能だと思う。GAEでできなかったほとんどの事がこれで解決できるかもしれない。 ただ、個人的に Managed VMでは、(スケールアウトしなくていいので)固定IPも使えるようになってほしい。なぜなら、Google App Engineで外部のシステムと連携するとき、相手側でIPアドレス制限されている事がある。だから、連携前にあらかじめこちらのIPアドレスを教えておくのだけど、GAEはPaaSなのでその範囲も広いし、いつ変わるかわからない。まぁ、IPアドレス制限という方法自体がすでに時代遅れな感じではあるけど。 ともかく、GAEではそういうシステムと連携する時は、間にGAEでないサーバーを中継させておく必要がある。なので、このためだけにOSやApacheのメンテが発生する。これは、ほんとにアホらしいことだ。もし、Managed VMで固定IPが使えれば、対外部システムとの処理だけそのインスタンスで行えばいいし、中継サーバーも不要になるので、だいぶ楽になるのだ。 Googleさん、よろしくおねがいします。

BlobstoreUploadHandlerの文字化け問題の解決方法

Google App Engine Python2.7環境で、blobstore_handlers.BlobstoreUploadHandlerを使って、ファイルアップロードする際、日本語のリクエストパラメータが文字化けする問題に長年悩まされていた。 「文字化け」といっても、マルチバイト文字はBase64にエンコードされて送信される、という謎仕様。さらに、文字の組み合わせによっては Base64ではなく、Quoted-printable にエンコードされたりと、意味がわからない。。。 そんなわけで、ファイルとテキストは、別のリクエストに分けたりと、クライアント側で対処していた。 先日、この問題をGCPのサポートに問い合わせた結果、あっさりと対応方法を教えてくれた。 app.yamlに以下を追加すれば良いだけ。 libraries: - name: webob version: "1.2.3" なんと、WebObのバグだったようだ。 http://docs.webob.org/en/stable/changes.html#id25 GAEのPython2.7環境では、webobの1.1.1(かなり古い)がデフォルトらしく、1.2.3で解決されたこのbugfixのため、この対応で回避できる。という事らしい。 といっても、1.2.3もかなり前のバージョンなので、もっと上位のバージョンしても問題なさそうだけど、今回はこのバージョンで様子見で。。。 そろそろ、Goに移行しようかなぁ。。。