本の正式名称は、「ゲーム開発が変わる!Google Cloud Platform 実践インフラ構築」。
ゲーム開発が変わる!Google Cloud Platform 実践インフラ構築 (NextPublishing)
- 作者: 野下洋,芝尾幸一郎,シリコンスタジオ株式会社,長谷川祐介
- 出版社/メーカー: インプレスR&D
- 発売日: 2016/03/04
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
僕は今はゲーム系の開発をしているわけではないのだけど、GCP でのインフラ構築に関する文献が少ない中での貴重な出版物ということで、何かしら参考になるものはあるだろう、ということで購入。
以下、読みながらメモったことを列挙。感想はその後に。
読書メモ
GCE インスタンスの継続割引について
「GCE は、ただ使っているだけで継続割引が効くからおトク!」ぐらいでしか頭のなかに留めていなかったのだけど、その割引の詳細がイメージしていなかったような形態なものだったので、メモ。
本を読むまでもなく、 Google Compute Engine Pricing | Compute Engine Documentation | Google Cloud にもある通りなんだけど、
Usage Level (% of month) | % at which incremental is charged | Example incremental rate (USD/hour) for an n1-standard-1 instance |
---|---|---|
0%-25% | 100% of base rate | $0.050 |
25%-50% | 80% of base rate | $0.040 |
50%-75% | 60% of base rate | $0.030 |
75%-100% | 40% of base rate | $0.020 |
この表の通り(表は 2016-03-30 現在のもの)で、たとえば、その月の 25% までは100% の料金がチャージされるけど、それ以降〜月の50%までは通常の80% の料金で利用できる。っていうかんじ。この割引率は、この本の執筆時点では AWS EC2 を 1年でリザーブドするのとほぼ同等、らしい。
ちなみに、「月」、っていってるけど、一ヶ月は730 時間と規定している。これは 365 ÷ 12 * 24h 、で、730h 。
まぁ、細かいこと抜きにして安くなるのは嬉しいし、これが自動適用されるというのも嬉しい。
ちなみに、preemptible instance(最大24時間の寿命を持つインスタンス)は一律 70% オフ。余剰リソースの割り当てによって起動できる VM なので、必ずしも起動できるとは限らない。ユースケースとしては、CI とかに使うのがいいのかなーと。こちら↓、手前味噌だけど、所属会社の技術ブログで書いた記事なので、よろしければ。
データ転送課金について
egress データ転送には課金発生・ゾーンをまたいだ通信も発生・同一ゾーン内は無料。ただし、通常であれば課金が発生するような経路でも、他の Google サービスとの連携という場合には課金されないケースもある。
Startup Script、メタデータも便利。
特に Project-Wide メタデータ。Startup Script は AWS でいう cloud-init みたいなもんか。
多分あんまし共感されない気もするんだけど、ここらへんってあんまり多用しすぎるとベンダーロックインされる感じがして窮屈さを感じちゃうんだよねー。便利すぎるがゆえに。
リファレンスだいじ。
BigQuery を用いたログ解析についての章で、 EXACT_COUNT_DISTINCT
とか PARTITION BY
とかが出てきたとき、BigQuery のリファレンスを頻繁に・しっかり見るの、だいじだなと思った。
特に、「ちょっと BigQuery から遠ざかった期間があって、久々にまた触り始める」ってときには、すぐに触りたくなる衝動を抑えつつ、まずはリファレンスを見直す、っていうのを心掛けるようにしてもいいかもしれない。
BigQuery で、SQL を使って集計できるテーブルの数は 1000 件まで!
まで!!
その他感想
ポジティブなもの・為になったもの(○)も、ネガティブなもの(×)も含めて。
○
- ゲームインフラを構築する際、なにを考えどのように構築していくのがいいか、ということについての指南書。というかんじの本だった。
- ゲームインフラに求められるものの考え方がうっすら掴めそうだな、と思った。
Aiming では自社内で resumable uplod に対応した Ruby の gem ライブラリを作り、これを使ってデータをアップロードしている
- その gem 気になる!!(GitHub とか見てみたけど、公開してはいなさそう?)
- GCP、アカウント管理が楽なのは地味に良いよね!
- fluentd の in_tail プラグインの read_from_head オプション、知らなかった!設定しておこう。。(GCP 関係ないw)
- 開発規模が大きくなると、「fluentd では整数値を期待しているのに、実際に送られてきたのは小数値」みたいな「バッドデータ」の対策もしておかなきゃいけないの、なるほど感ある。
- 非エンジニアの人にとって BigQuery が、「どんなクエリを実行しても、そこにあるデータを壊し得ない」、というのが大きな安心材料になった。というのも、なるほど感ある。
×
- 著者間での内容の重複をもっと調整して欲しかった
- 「GCP は(AWS やオンプレミスに比べて)どのくらい "大丈夫" か」というところに終始してしまっているかんじがした
- もうちょっと具体的なインフラ構築・設定のノウハウを読みたかった
- streaming insert によるログの欠損問題についても言及されていた
- 著者は TD と併用してた期間があったからこそわかったようなものの...、、こわい。
- 対処への考え方とかまでは言及されていなく、もう一声!感はある。
- この本にある記述だけでは、すっきりとはしない、かな
- 「収集したデータの活用とKPI」は、さすがに GCP がテーマのこの本に載せられても....感あった
いろいろ書いたけど、「×」として挙げさせてもらってる点は、ひとえに「もっと違うところが知りたかった」「そのためにお金を払いたかった(払ったつもりだった)」っていうところなのかなぁ、という感じ。繰り返しになるけど、「なぜ GCP なのか?」というところを知りたい、説明・説得しなければならない、という人には、具体的に書かれているところも多いので、とても良い本だと思う。
今後の抱負
今月の頭くらいから、趣味の範囲ではあるのだけど、GCP でごくごく小さなネットワークを組もうと考えていて。
で、「どうせ組むのならこの文献にお手本のようなものも書かれているかもしれないし、この本が出るのを待つかー」というスタンスだったのだけど、晴れて読み終えたので(残念ながら、趣味レベルの構成では参考になるところは少なかったのだけど)、明日からは実際にその構築に着手しようかな、と思った!٩(ˊᗜˋ*)و がんばるぞー