• 検索結果がありません。

10億人のソーシャルプラットフォームを目指すグリーの大規模インフラ運用

N/A
N/A
Protected

Academic year: 2021

シェア "10億人のソーシャルプラットフォームを目指すグリーの大規模インフラ運用"

Copied!
84
0
0

読み込み中.... (全文を見る)

全文

(1)

Copyright © GREE, Inc. All Rights Reserved.

グリー株式会社

開発本部

大場 光一郎 & 村上 政志

Internet Week 2012, 2012-11-20

10億人のソーシャルプラットフォームを

目指すグリーの大規模インフラ運用

12年11月20日火曜日

(2)

Copyright © GREE, Inc. All Rights Reserved.

大場 光一郎

SIerから2011年12月にグリ

ー株式会社へ転職。

主に開発環境整備に従事。

開発本部/インフラストラクチ

ャ統括部/クラウド基盤チーム

(3)

SIerから2012年8月にグリー

株式会社へ転職。

主に仮想基盤の設計・運営に

従事。

開発本部/インフラストラクチ

ャ統括部/クラウド戦略チーム

Copyright © GREE, Inc. All Rights Reserved.

村上 政志

(4)

Copyright © GREE, Inc. All Rights Reserved.

アジェンダ

グリーの紹介

GREEのテクノロジースタック

グローバルかつ大規模なインフラ

グリーのクラウド戦略

(5)
(6)
(7)

テキスト

http://developer.gree.net/sp/globalplatform/en/products/

(8)

世界10億人に対応するソーシャルプ

ラットフォームです。

It s a social platform

supporting 1 billion people in

the world.

(9)

GREE Platform

Stream

Social Graph

Community

Auth

App Portal

Web Platform

GREE

Platform

SDK

Social API

Web Service

Node

Mi

dd

lew

are

12年11月20日火曜日

(10)

統一されたSDK/APIにより、1度

の開発で最大169の国および地域

のユーザーにアプリケーションを配

信できます。

Unified SDK/API enables

delivery of applications to

users in 169 countries.

(11)

テキスト

(12)
(13)

San Francisco

São Paulo

Vancouver

London

Tokyo

Beijing

Singapore

Amsterdam

Seoul

Dubai

Osaka

11 branches in the world

(14)

GREEの

テクノロジースタック

(15)
(16)

GREE is build on

Open Source

(17)

Beijing

Tokyo

New York

San Francisco

Amsterdam

79ms

Tokyo: 200ms

162ms

Tokyo: 260ms

Tokyo: 105ms

90-100ms

SanJose: 190ms

100ms

RJCN

Shortest route between EU to JP

approx 195 ms

Sao Paulo

South Africa

Dubai

(18)
(19)

管理コンソールとの統合

高負荷環境

複数のDBが存在

(20)

Copyright © GREE, Inc. All Rights Reserved.

PrimDNS

ゾーン情報をDBをモジュール化

ロックの無いマルチスレッド設

計により高速

キャッシュ機構で負荷に対応

(21)
(22)

Copyright © GREE, Inc. All Rights Reserved.

github.com/ebisawa/primdns

OSSとして公開

(23)

冗長化

(24)

Copyright © GREE, Inc. All Rights Reserved.

ユーザーへ継続的にサービス

を提供

(25)

LVS

Proxy

(Apache+mod_proxy)

Web

(Apache+PHP)

標準構成

12年11月20日火曜日

(26)

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

Web

LVS

(27)

Copyright © GREE, Inc. All Rights Reserved.

Web

Web

Web

g2proxy

g2proxy

MySQL

MySQL

MySQL

MySQLの冗長化

(28)

Copyright © GREE, Inc. All Rights Reserved.

g2proxy

通常のmaster/slave構成に

適用可能

slaveのロードバランス

マスターがダウンしたら自動的

にマスター切り替え

(29)

Copyright © GREE, Inc. All Rights Reserved.

OSSとして公開(予定)

(30)
(31)

サービスを稼働した

まま更新する

Live Update

(32)

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

Web

LVS

Deploy

(33)

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

Web

LVS

Deploy

12年11月20日火曜日

(34)

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

Web

LVS

Deploy

(35)

Storage

(36)

Copyright © GREE, Inc. All Rights Reserved.

MySQL

Flare

(37)

Copyright © GREE, Inc. All Rights Reserved.

Flare

memcached互換

データ永続性(Tokyo Cabinet)

レプリケーション

パーティショニング

動的再構築

ノード監視

12年11月20日火曜日

(38)

Web

Application

Storage

LVS

MySQL

Flare

PHP

Apache

NginX

(39)

Copyright © GREE, Inc. All Rights Reserved.

github.com/gree/flare

OSSとして公開

(40)

Copyright © GREE, Inc. All Rights Reserved.

github.com/gree

(41)

グローバルかつ

大規模なインフラ

Global and Massive Infrastructure

(42)

グローバル

(43)

Copyright © GREE, Inc. All Rights Reserved.

(44)

Copyright © GREE, Inc. All Rights Reserved.

海外オリジナルゲーム

(45)

Copyright © GREE, Inc. All Rights Reserved.

世界のユーザに快適なゲーム環境を

Beijing

Tokyo

New York

San Francisco

Amsterdam

79ms

Tokyo: 200ms

162ms

Tokyo: 260ms

Tokyo: 105ms

90-100ms

SanJose: 190ms

100ms

RJCN

Shortest route between EU to JP

approx 195 ms

Sao Paulo

South Africa

Dubai

立ちはだかるネットワーク遅延

12年11月20日火曜日

(46)

Copyright © GREE, Inc. All Rights Reserved.

各国の法律への対応

EUデータ保護指令

インターネット検閲

(47)

世界中にDCが

あります。

(48)

Copyright © GREE, Inc. All Rights Reserved.

世界をつなぐネットワーク

世界のDCでASを運用

AS55394

AS199108

AS32316

・・・・

(49)

なぜ、

ソーシャルゲーム事業者が

ASを運用するのか?

(50)

Copyright © GREE, Inc. All Rights Reserved.

世界をつなぐネットワーク

複数のキャリアとの接続

最適な経路

(51)

Copyright © GREE, Inc. All Rights Reserved.

IPv6って?

IPv6 is Ready.

• AS番号 55394

• IPv6-Prefix 2400:8700::/32

12年11月20日火曜日

(52)

Copyright © GREE, Inc. All Rights Reserved.

(53)

Copyright © GREE, Inc. All Rights Reserved.

CDNの利用

世界にコンテンツを配信するためCDNを活用。

複数のCDNのトラフィクを、特性に応じて自動

的に変更。

CDNを利用することで、新しい地域への進出を

スモールスタートが可能。

12年11月20日火曜日

(54)

Web

(Apache)

(Apache)

Web

Web

(Apache)

Web

(Apache)

(Apache)

Web

Web

(Apache)

Web

(Apache)

(Apache)

Web

Web

(Apache)

Copyright © GREE, Inc. All Rights Reserved.

システム構成

CDN

LVS

LVS

Squid

Squid

Squid

LVS

LVS

Proxy

(Apache)

(Apache)

Proxy

Web

(Apache)

(Apache)

Web

Web

(Apache)

Proxy

(Apache)

cache

LB

Origin

(55)

大規模なインフラ

Massive Infrastructure

(56)

Manage many servers

たくさんのサーバを管理

(57)

Server

Dashboard

(58)

サーバ構成管理

OS/CPU spec

サーバ役割

場所(DC,ラック)

IP/名前

サーバ初期化、構成変更

状態、負荷監視(Ganglia)

(59)
(60)
(61)

http://api/product_id/servers

テキスト

{“results”  =>

   [{“property”  =>

 {“server_type”  =>  “DB”,

   “ipdaddr”  =>  “XX.XX.XX.XX”,

   “hardware”  =>  “Intel  Xeon  2.6Ghz”,

   ...

   }

}

(62)

Copyright © GREE, Inc. All Rights Reserved.

Server Dashboardの構成

Webポータル

RESTful

AP

I

パートナー

デプロイツール

(original)

性能管理

(Ganglia)

障害監視

(AWACS)

管理理者

開発者

Server  Dashboad

コマンド

ツール群

サーバ構成変更

(Provisioning)

サーバ構成

DB

(CMDB)

仮想

サーバ

ファーム

物理

サーバ

ファーム

(63)

Copyright © GREE, Inc. All Rights Reserved.

Server Dashboadの特徴

世界各地、数万台のサーバを管理

物理サーバも仮想サーバも

システム構築の自動化

APIでアクセス可能

外部システムとの連携

12年11月20日火曜日

(64)

ソーシャルゲーム

における仮想化

(65)

Copyright © GREE, Inc. All Rights Reserved.

サーバ仮想化の一般的な目的

サーバの集約による各種削減効果

• 物理サーバ削減, 消費電力削減

• コスト削減(機器、電力、運用、etc)

迅速なサーバの準備

• クローンによるVMデプロイ

容易な構成変更

• CPU, Mem, Disk追加

• ネットワーク構成変更

(66)

Copyright © GREE, Inc. All Rights Reserved.

サーバ仮想化の一般的な目的(つづき)

可用性向上

• HAクラスタ機能

• ライブマイグレーション機能

• ディザスタリカバリ

仮想マシンのモビリティ

• 古いOSの延命

• VMエクスポート、インポート(OVF)

• 仮想アプライアンス

(67)

Copyright © GREE, Inc. All Rights Reserved.

サーバ仮想化の一般的な目的(つづき)

リソースプールの実現

• リソースの効率利用

• サイロなシステムの廃止

• マルチテナントの実現

12年11月20日火曜日

(68)

Copyright © GREE, Inc. All Rights Reserved.

ソーシャルゲーム

では、ちょっと事情が

違うようだ

(69)

Copyright © GREE, Inc. All Rights Reserved.

ソーシャルゲームのサーバファームは

・1タイトルのゲームで、数百台の規模がある

• 1日に何度かのピーク

・複数のタイトルで、サーバリソースをシェア

• すぐに使い回しがきく。

・システム構成は極度に共通化されている。

• OS/MWパッケージもすべて共通。

12年11月20日火曜日

(70)

Copyright © GREE, Inc. All Rights Reserved.

実際にグリーでは

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

共通サーバプール

ゲームA

ゲームB

ピークにあわせて、共通サーバプールから

リソースを追加可能。

Server Dashboard

※OS, IPアドレス

 設定済み

※システム構築の自動化

(71)

gsch --state preparing

--type db -x

テキスト

$  gsch  -­‐-­‐state  preparing  -­‐-­‐type  db  dbsXXX.xxx  -­‐x

server  state(s)

dbsXXX.xxxx                initialized        -­‐>  preparing

server  type(s)

dbsXXX.xxxx                storage        -­‐>  db

*  apply  server  changes.

dbsXXX.xxxx                    

XXX.XXX.XXX.XXX

               preparing                  db

(72)

Web

(Apache)

(Apache)

Web

Web

(Apache)

Copyright © GREE, Inc. All Rights Reserved.

Web

(Apache)

(Apache)

Web

Web

(Apache)

LVS

LVS

Proxy

Proxy

Web

(Apache)

(Apache)

Web

Web

(Apache)

Proxy

LVS

Proxy

Web

(Apache)

(Apache)

Web

Web

(Apache)

Web

(Apache)

(Apache)

Web

Web

(Apache)

DB

Master

Slave

DB

Slave

DB

Master

DB

Slave

DB

すべてがスケールアウトできる構成

LVS

Proxy

⇒ 個々のサーバ構成を変更することはない。

(73)

Web

(Apache)

(Apache)

Web

Web

(Apache)

Copyright © GREE, Inc. All Rights Reserved.

Web

(Apache)

(Apache)

Web

Web

LVS

LVS

Proxy

Proxy

Web

(Apache)

(Apache)

Web

Web

Proxy

DB

Master

Slave

DB

Slave

DB

壊れたら捨てる

+

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

物理理サーバ

共通サーバプール

故障対応・サーバ返却

Web

新規デプロイ

故障対応->新規デプロイ

12年11月20日火曜日

(74)

Copyright © GREE, Inc. All Rights Reserved.

仮想化の導入目的とのギャップ

仮想化導入の目的

グリーの場合

迅速なサーバの準備

不要:セットアップ済み  

容易な構成変更

不要:構成変更しない

可用性向上

不要:壊れたら捨てる

仮想マシンのモビリティ 不要:特定サーバに依存しない

リソースプールの実現

不要:大量物理サーバで実現

(75)

ソーシャルゲームで

仮想化は不要か?

(76)

Copyright © GREE, Inc. All Rights Reserved.

ソーシャルゲームで仮想化基盤を作る意味

この部分の料料⾦金金は要らなくなる

リソースの効率化

サーバ数削減

(77)

Copyright © GREE, Inc. All Rights Reserved.

GREEの仮想基盤

Proxy

Slave

DB

Web

LVS

仮想ホスト

タイプの異なるVMを配置

(リソース特性を考慮)

ローカルディスクを利用

(ボトルネック回避)

12年11月20日火曜日

(78)

GREEの

クラウド戦略

(79)

プライベートクラウドの強化

• 分散ストレージ導入

• OpenFlow / L2overL3

• オートスケール(API連携による自動化)

パブリッククラウドとの連携

Copyright © GREE, Inc. All Rights Reserved.

グリーのクラウド戦略

private

public

Autoscale

Distributed

Storage

--->

OpenFlow

12年11月20日火曜日

(80)

まとめ

(81)

枯れた技術で

世界と戦えるインフラ

を作っています。

We are making Infrastructure globally

with mature technology.

(82)

必ずしも

クラウド=仮想化

ではない。

※仮想と物理の狭間で

Cloud is not only Virtualization.

(83)

グリーではたくさん

のオープンソースを

使っています。

公開もします。

Also using many other OSS.

We provide OSS too.

(84)

Making the world a better place

through the power of the Internet.

参照

関連したドキュメント

<第2次> 2022年 2月 8 日(火)~ 2月 15日(火)

大正13年 3月20日 大正 4年 3月20日 大正 4年 5月18日 大正10年10月10日 大正10年12月 7日 大正13年 1月 8日 大正13年 6月27日 大正13年 1月 8日 大正14年 7月17日 大正15年

日本への輸入 作成日から 12 か月 作成日から 12 か月 英国への輸出 作成日から2年 作成日から 12 か月.

日本への輸入 作成日から 12 か月 作成日から 12 か月 英国への輸出 作成日から2年 作成日から 12 か月.

Selecting the Run button once auto save checkbox is checked, ensures continuous measurement and consecutive auto generation of custom named files to set location with

4 IPBES(Intergovernmental science-policy Platform on Biodiversity and Ecosystem

夜真っ暗な中、電気をつけて夜遅くまで かけて片付けた。その時思ったのが、全 体的にボランティアの数がこの震災の規

令和4年3月8日(火) 9:00 ~ 9:50 10:10 ~ 11:00 11:20 ~ 12:10 国  語 理  科 英  語 令和4年3月9日(水) 9:00 ~ 9:50 10:10 ~