感想
以下のトピックが印象的でした。
LAMBDA
Googleのプレゼンで紹介されていた LAMBDA という考え方
みなさん知ってました? 私は初めて聞きましたが、今やっていることがこれななのだと改めて納得。
その後ググってわかりやすい説明をみつけました。
Lambda Architecture: Nathanのプリゼンから、「Runaway complexity in Big Data and a plan to stop it」
Data 解析インフラサービス
AWSだけでなく、Google Cloud , Microsoft Azureも
Data解析に特化したインフラサービス充実させていきています。
とくにMicrosoft はExcelをフロントエンドとしてその裏でAzureに直結している
解析サービスを始めているので 自社で似たようなものを作る場合の超強力なライバルかと思いました。
PaaSとIaaS両方のいいとこどり
- PaaSとIaaSを組み合わせて Manageできるということが最近のトレンドです。
AWS : Elastic BeansTalk + 他のプリミティブなインスタンス
Google : AppEngine + ManagedVM + replica pool (Immutable) + compute engine
Microsoft: Cloud service + Virtual Network + Virtual Machine
以下各社からの発表めもです。
Amazon
(ゲーム開発者を意識したはやいとか、スペックを意識した発表)
前置き
Dynamoの機能は日々強化されてます
cr type のmemory 増強インスタンス
Elastic beans talk Docker suport!
値下げ 3-6割
本題:Cloud でゲームPFを構築するとは?
最近のインスタンスタイプには CPUのマシンタイプが表示されている
- C3 でたときは、性能が3倍になってみんな乗り換えたよー
- 2012 からは、 EBSにもプロビジョンドIOPS 100-4000指定可能
- EC2-EBS 最適化オプションで専用線
モバイル ビッグデータ解析例
Start 時点はsimpleに
Log direct User Device -> S3 -> RedShift
Redshift の説明
リーダーノード
コンピュートノード
Tableu + Redshift
DynamoDBとの統合
Elastic beans talk Dynamo -(S3)-(EMR)-> Redshift
Realtimeの要求
S3の代わりにKinessis に直接Putする
Kinessis -(EMR Spark) - > RedShift
MIT Jo ITO さんより
- イノベーションを起こしたいなら、 失敗のコストをさげなさい
- AWSならさがるよ!
塩入賢治さん: Cloud Platform sales specialist
Google Datacenter
- 公開されている情報としては20弱
- 究極の効率化&全世界にNetworkをもっています
たとえば検索している時も、Internetではなく途中から専用線になります
- Googleがこれまで起こしてきたSW Inovation
. Corossus
. Dremel
. Spanner/F1
. Omega
Google Cloud Platform
Compute
- Coumpute Engine
- AppEngine
Storage
- Cloud Storage
- Cloud SQL
- Cloud DataStore
Application
- BigQuery
- Cloud Endpoints
Google App Engine
Auto Scale
- 自動スケールします
- AKB 総選挙の時に29,000 QPS が必要になったけどさばけました。
事例
Google Compute Engine
- Google Global Network(SDN/Andoromeda)
- Google 仮想化
性能
- VM起動 20-40秒
- Andoromeda 導入で2倍(SDN/Andoromeda)
- 準備時間の必要なく100万QPSまで対応
- HWメンテナンスの影響をうけない
(それはもはや特別なことじゃないきがするけど、、) - 最低10分から1分単位で課金
BigQuery
- 例えば、Android 9億DLの Top20はというクエリーが数行で20秒以内でこたえを出す
Lambda architecture
最近 提唱されている バッチも、リアルタイム解析も対応するデータ分析アーキテクチャ
http://www.infoq.com/articles/lambda-architecture-scalable-big-data-solutions
リアルタイムダッシュボードも1か月程度で提供予定です
Iaas/Paasの融合
全部 AppEngineを使っていたところが、Iaas+Paasの構成にしています
以下のような層でトータルサポート
AppEngine
- 手早く
ManagedVM
- PAAS のサポートしていないところ仮想的にIAASを提供する
レプリカプール
- Immutable infra ( VMイメージをプールしておいてひつような時だけつかう、起動時間がかからない)
Compute Engine
- 下支え
IBM
(全般的に、設計者の人らしく あまりプレゼン慣れしていなく、すべてが唐突で楽しめました。
ただちょっと内職しましたのであまりメモりませんでした)
Demo
- いきなりPing を US, Singapore に実行 (意味がわからないけどクラシカルだね)
- Unityのデモ 重心がずれたボールをけるでも、、(斬新すぎて何を伝えたいのかよく分からない)
Softlayer
- 最近IBMになったNot仮想、but 物理 server service です
- 物理占有環境が 依頼してから4時間くらいで使えるようになります
- 壊れても2時間以内に部品を交換します、、(だめじゃない?)
- 専用網 上下10Gbps 使い放題
- 実は slidshare, tiwtpic, yelp, avastもつかっている
Softlayer を選んだユーザーの理由
- ベアメタルを選べる
- DC間トランザクションが無料
- DDOS対策をベンダーが対策
Microsoft Azure
砂金信一郎(テクニカルエバンジェリスト)(@shin135)
もともと Windows Azureの責任者 サティアが社長になりました
AWSにかつまでやめません!
DC
- 日本オープン 東日本、西日本サブリージョン
- 全世界でMicrosoftがビジネスするために世界中に展開
Azureの現在の特徴
コンピューティング
- 仮想マシン (HyperV)
- Webサイト
データ管理
- SQL
- NoSQL
Microsftの強み
- ExcelをFrontとして使えますでデータ分析の
- パチンコ、メディカル、自販機 いまWindowsはいろいろはいってます
- そこからくるデータの集積場所とに使ってます
- StoreSimple をいれると かってに
- AWSにあわせてとにかく価格をさげます
- スタートアップに600万円までサポートできます
実例紹介
広瀬一海さん GIRLANDE http://thinkit.co.jp/author/3709
Virtual Network
- LAN(L2 network) を作れる
- VPNではない
- PaaS, IaaS を同じネットワークにつくれる
Cloud service web roles, worker roles
- Windows Server 2012 R2 + IIS8.5
- PHP5.5 + Phalcon PHP + Fast CGI
- 一台のWebServerでどのくらい性能を伸ばせるか?
- Cloud service は Chef と同様に環境構成をながせる
- Zure管理コンソールから任意のタイミングで配信対象プログラムを更新
- 100インスタンス10分程度でスケール
Azure Storage BLOB
- 画像リソース
- HTTP Etag キャッシュコントロール
Virtual Machine (IaaS) Maria DB Galera cluster
- Ubuntu
- Azure 1TBのdiskでも使った分だけ
- Update 更新系のトラフィックが増えると失敗する
Virtual Machine Couchbase Cluster
- 1key に対して複数サーバーにレプリケーション
- memcached/couchbaseを併用できる
- リバランスを自動でやってくれる
CROOZ
モンスターエッグアイランドなどのモバイルゲーム
一般的な考慮
ベンチマークの考慮
- インスタンス性能は3か月で大きく異なる
- 複数リージョン、複数インスタンス、異なる曜日でとる
重要指標
- Storage IOPS, Queries/s
- Cache request/s
Scalability
- Cache/DB
- sharding/partitioning
Capacity
- Web 性能限界のポイント
- Cache/DB のレスポンス遅延
- ローカルポート不足 (デフォル30000弱)
- ip_local_port_range で約50000
- tcp_max_tw_buckets で time_wait 数を調整
cost
- 1インスタンスあたり Max DAU
- 参考例
Web m3.2xlarge 60,000 DAU
DB hi1.4xlarge 120,000 DAU
Cache m24xlarge 180,000 DAU
想定Max DAUから必要インスタンス数を算出
月額売上の?%をコスト目標にする
Storage I/O
DB
- innodb_buffer_pool_size
- 数K IOPS
- queries/sの方が限界に達する
- だいたい1万qps が限界
Cache (m2.4xlarge)
- redis限界は 50,000 request
- BGSAVEはさせない
- スタンバイインスタンスをとっている
オンラインゲームのプロトコル
- Websocket
- Java(GlassFish)
- Http/2 も検証予定
- 来年くらいには選択肢になってくるだろう
server 配置
1st step US Region
Latency 1.5s-3s
2nd step edge を配置
各リージョンにedge, proxyを配置
ユーザーへのDNS service でedgeサーバーへ
edge<=> App 間は専用線で500ms-1.5S
3rd 各リージョンにApp,DB配置
まだとおい先になる予定