Ruby on azure で game server service
Upcoming SlideShare
Loading in...5
×
 

Ruby on azure で game server service

on

  • 1,646 views

10月16日に開催されたWindows Azure セミナーで発表した「Ruby on Azure で GameServer Service」の発表資料。 ...

10月16日に開催されたWindows Azure セミナーで発表した「Ruby on Azure で GameServer Service」の発表資料。
ダウンロードで PowerPoint ファイルをスライドショー表示するとアニメーションも再生できます。

Statistics

Views

Total Views
1,646
Slideshare-icon Views on SlideShare
1,643
Embed Views
3

Actions

Likes
2
Downloads
2
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ruby on azure で game server service Ruby on azure で game server service Presentation Transcript

    • Ruby on Azureで Game Server Service株式会社グルーヴノーツ 〒810-0021 福岡県福岡市中央区 〒153-0043 東京都目黒区東山1-6-5Groovenauts, Inc. 今泉1丁目20番2号 天神MENTビル 4F 中目黒杉田ビル 6Finfo@groovenauts.jp TEL:092-986-2701 TEL:03-5794-3747http://www.groovenauts.jp/ FAX:092-986-2793 FAX:03-5794-3757
    • Summary • GameServer Service の紹介 • システム構成 • Ruby on Azure  IaaS vs. PaaS  能楽堂  Azure 上でのデプロイ方式 • Azure の機能活用  Virtual Network  Swap Deployment  Load Balancer Probe2012/11/5 Copyright Groovenauts, Inc. 2
    • Chapter1. GAME SERVER SERVICE2012/11/5 Copyright Groovenauts, Inc. 3
    • GameServer ServiceGameServer Service は、ゲームタイトルの利益最大化を最優先とし、ゲームの企画〜運営までトータルでサポートいたします。2012/11/5 Copyright Groovenauts, Inc. 4
    • Chapter2. SYSTEM ARCHITECTURE2012/11/5 Copyright Groovenauts, Inc. 5
    • システム構成 能楽堂 非同期処理 Virtual Machine(Linux) + mongo DB Railsアプリ tengine Windows Azure データ集計標準のロードバランサによるリクエスト分散 データ解析 Virtual Network SQL Server 2012 ↓ ↓ Windows Azure シャード追加による Cloud Service の スケールアウト インスタンス追加による 動的なスケールアウト Virtual Network 2012/11/5 Copyright Groovenauts, Inc. 6
    • Chapter3. RUBY ON AZURE2012/11/5 Copyright Groovenauts, Inc. 7
    • Azure上でのRuby on Rails • IaaS (Virtual Machine) • Linux • 慣れ • 自由度が高い • アプリケーションデプロイに時間がかかる • 一度に大量のインスタンスを起動できない • Paas(Cloud Services) • Windows Server • 管理が不要 • インスタンスの増減が容易 • 自由度が低い • Windows未対応のRubyライブラリの存在2012/11/5 Copyright Groovenauts, Inc. 8
    • Azure SDKs .NET node.js java php python の開発SDKはオフィシャルに提供 Ruby は?2012/11/5 Copyright Groovenauts, Inc. 9
    • 能楽堂 on Azure • 能楽堂(NougakuDo)  Windows 上で Rails アプリケーションを 実行するための環境  Ruby インタプリタ  専用HTTPサーバ 演能(ennou)  アプリケーションサーバ(ランチャ)  ポピュラーなライブラリをプリインストール  Ruby のコミッタ arton 氏が開発 • NougakuDoCompanion • 能楽堂を Windows Azure 上へデプロイする Webアプリケーション2012/11/5 Copyright Groovenauts, Inc. 10
    • 能楽堂 on Azure 起動 Application NougakuDo Ruby on Rails 能楽堂 Companion Ruby IIS ennou Http.sys Windows Server 20082012/11/5 Copyright Groovenauts, Inc. 11
    • 能楽堂 on Azure 起動 デプロイ Application NougakuDo Ruby on Rails 能楽堂 Companion Ruby IIS ennou Http.sys Windows Server 20082012/11/5 Copyright Groovenauts, Inc. 12
    • 問題点 • Paas(Cloud Service)のインスタンスの起動自体は高速 NougakuDoCompanion起動後Railsアプリケーションがサー ビス提供可能になるまでタイムラグがある  起動が遅い(停止時間が長くなる)  Load Balancer がサービス提供できないインスタンスに リクエストを振り分けてしまう NougakuDoCompanion 能楽堂/アプリ デプロイ アプリ実行 デプロイ 時間2012/11/5 Copyright Groovenauts, Inc. 13
    • Chapter5. SWAP DEPLOYMENT2012/11/5 Copyright Groovenauts, Inc. 14
    • Swap Deployment • Windows Azure の Cloud Service の機能 • 1つの Cloud Service に Production と Staging という2種類の環境 • 公開アドレスのVIP(Virtual IP) が Production に割り振られる • Swap で VIP の割り当てを交換 PRODUCTIO STAGING N Instance Swap Instance #1 #1 Instance Instance #2 #2 Instance Instance #3 #32012/11/5 Copyright Groovenauts, Inc. 15
    • Swap Deployment • シナリオ:アプリケーションのアップデート 1. STAGINGへ新バージョンアプリケーションデプロイ 2. SWAP 3. STAGING(元PRODUCTION)のインスタンスを削除無停止アップデートが可能 STAGING PRODUCTIO N Instance Swap Instance #1 #1 Instance Instance #2 #2 Instance Instance #3 #32012/11/5 Copyright Groovenauts, Inc. 16
    • Chapter6. LOAD BALANCER PROBE2012/11/5 Copyright Groovenauts, Inc. 17
    • Load Balancer Probe • Windows Azure ロードバランサの デフォルト設定 • 単純なラウンドロビンアルゴリズム • Load Balancer Probe  ロードバランサのアルゴリズムをヘルスチェックを用いるよ う設定可能  Cloud Service + 能楽堂を用いた時のインスタンス起動から サービス提供可能になるまでのタイムラグの間リクエストが 割り振られないようように2012/11/5 Copyright Groovenauts, Inc. 18
    • ServiceDefinition.csdef <LoadBalancerProbes>要素は <ServerDefinition>の開きタグ直下に • ServiceDefinition.csdef に設定を追加 置かないとスキーマエラーに<ServiceDefinition> <LoadBalancerProbes> http(サービス監視 レイヤ7) <LoadBalancerProbe or name=”Probe名“ tcp(ポート監視 レイヤ 4) protocol=“http” path=“エンドポイントPath” ライフチェックに利用する Path と Port番号の指定 port=”80” intervalInSeconds=”15” ライフチェック間隔とタイ timeoutInSeconds=”31” /> ムアウト時間の指定 </LoadBalancerProbes>2012/11/5 Copyright Groovenauts, Inc. 19
    • ServiceDefinition.csdef • さらに Endpoint の設定にProbe名を指定 <WebRole> <Endpoints> <InputEndpoint name="NougakuDo" protocol="http" port="80" loadBalancerProbe="Probe名" /> <LoadBalancerProbe> の name </Endpoints> 属性に指定したProbe名を指定 </WebRole>2012/11/5 Copyright Groovenauts, Inc. 20
    • Chapter4. VIRTUAL NETWORK2012/11/5 Copyright Groovenauts, Inc. 21
    • Virtual Network Windows Azure の Cloud 能楽堂 + Virtual Machine(Linux) Service/Virtual Machine mongo DB Railsアプリ のインスタンス間の内部 IPでの通信はできない データ集計Public IP による アクセス Virtual Network ただし同一の Virtual Network に配置すること で内部 IP アドレスでの 通信が可能になる 内部IPによるアクセス Virtual Network 2012/11/5 Copyright Groovenauts, Inc. 22
    • Virtual Network • Virtual Machine  Windows Azure Command-line Tools を利用し てインスタンス生成 $ azure vm create <host名> -w <ネットワーク名> -s <サブネット名> • Cloud Service  デプロイ時に指定する ServiceConfiguration.Cloud.cscfg に設定を追加2012/11/5 Copyright Groovenauts, Inc. 23
    • ServiceConfiguration.Cloud.cscfg <NetworkConfiguration> <VirtualNetworkSite name=”VirtualNetworkA" /> <AddressAssignments> <InstanceAddress roleName=""AdminWeb""> <Subnets> <Subnet name=“SubnetA" /> </Subnets> </InstanceAddress> </AddressAssignments> </NetworkConfiguration>2012/11/5 Copyright Groovenauts, Inc. 24
    • Ruby on Azure • Windows Azure で PaaS を利用して Ruby on Rails アプリケーション サービス構築可能 • Azure の機能を駆使する必要がある • Windows Server 上で対応できなければ 慣れたLinux VM も利用可能2012/11/5 Copyright Groovenauts, Inc. 25