Slide 1

Slide 1 text

Copyright © GREE, Inc. All Rights Reserved. サービスの効果を高める グリー内製ツールの技術と紹介 だいぶインフラストラクチャ寄りです グリー株式会社 堀口真司 2014/11/22

Slide 2

Slide 2 text

Copyright © GREE, Inc. All Rights Reserved. インフラ女子 グリー株式会社 会社紹介 六本木に 構えてます 知名度低め 偉い人がよくわからない ことをやっている グリー CTO GREE 10th

Slide 3

Slide 3 text

Copyright © GREE, Inc. All Rights Reserved. 自己紹介 • 31歳ゲーム好き。仕組みを調べたり作ったりする方が好き。 • 生まれも育ちも東京です。北区→渋谷区→練馬区→大田区→港区 • インフラエンジニアには珍しいゲーム業界系 (?) 家庭用ゲーム GC/PS2 家業 MMO-RPG 独自プロトコル系 PC/PS2~PSP アーケードゲーム ハードウェア系 PS3/Linux ソシャゲ インフラ系 ? 18歳 10歳 C/C++ チート・セキュリティ t

Slide 4

Slide 4 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • 用語や構成 • 問題解決しようとしたこと • ツール一覧 • 今後の展開 • まとめ

Slide 5

Slide 5 text

Copyright © GREE, Inc. All Rights Reserved. 用語や構成 アプリケーションサーバ データベース サーバ・ハードウェア ラック・データセンター プロキシ・ロードバランサ ブラウザなど CDN DNS 冗長性 柔軟性 高更新頻度 拡張性 手軽さ

Slide 6

Slide 6 text

Copyright © GREE, Inc. All Rights Reserved. 用語や構成 アプリケーションサーバ データベース サーバ・ハードウェア ラック・データセンター プロキシ・ロードバランサ CDN DNS ブラウザなど • フィーチャーフォン • Android / iOS • Unity3D • Adobe AIR • flashlite • HTML5 • ほとんどモバイル端末

Slide 7

Slide 7 text

Copyright © GREE, Inc. All Rights Reserved. ブラウザなど 用語や構成 アプリケーションサーバ データベース サーバ・ハードウェア ラック・データセンター CDN DNS プロキシ・ロードバランサ • LVS (DSR) • LVS (NAT) • Apache • nginx • ハコモノ

Slide 8

Slide 8 text

Copyright © GREE, Inc. All Rights Reserved. よくある LVS(DSR) – Proxy - httpd LVS LVS proxy proxy proxy httpd httpd httpd httpd ….. LVS は global ip を持ち インターネットからの 入り口になる。 2台一組で片方は待機系 1 Reverse proxy へは WRR によって割り振られる。 DSR なのでレスポンスは LVS を通らず直接返す 2 httpd へは WR で割り振られる。 サーバスペックによって重みがある。 このレイヤでだいたい100台ぐらい 3 LVS または proxy のレイヤーが無いパ ターンもある VIP

Slide 9

Slide 9 text

Copyright © GREE, Inc. All Rights Reserved. プロキシ・ロードバランサ ブラウザなど 用語や構成 データベース サーバ・ハードウェア ラック・データセンター CDN DNS アプリケーションサーバ Apache 内で動くものが大半。 ほとんどが PHP たまに Ruby。 一部 node.js によるフルスタック

Slide 10

Slide 10 text

Copyright © GREE, Inc. All Rights Reserved. いにしえの全部いり戦略 httpd a.game.gree.jp b.game.gree.jp support.gree.jp dev.gree.jp stg.gree.jp api.gree.jp 可能な限りすべてのソースを持ってる。 Virtual host によって機能使い分け。 CLI agent スマホ時代まで

Slide 11

Slide 11 text

Copyright © GREE, Inc. All Rights Reserved. プロキシ・ロードバランサ ブラウザなど 用語や構成 アプリケーションサーバ サーバ・ハードウェア ラック・データセンター CDN DNS データベース • MySQL • flare • MongoDB • ZooKeeper

Slide 12

Slide 12 text

Copyright © GREE, Inc. All Rights Reserved. ふつうの MySQL app • Master • Slave しかし、尋常でない レベルの可用性。 ほとんどの運用も 無停止で行う

Slide 13

Slide 13 text

Copyright © GREE, Inc. All Rights Reserved. プロキシ・ロードバランサ ブラウザなど 用語や構成 アプリケーションサーバ データベース ラック・データセンター CDN DNS サーバ・ハードウェア • Debian • ubuntu • solaris • Fusion IO • ZFS

Slide 14

Slide 14 text

Copyright © GREE, Inc. All Rights Reserved. 基本セット サーバ NIC3 ipmi RAID1 No-battery SCSI-HDD SCSI-HDD 主系スイッチ 従系スイッチ 操作系スイッチ 電源 系統 A 系統 B 系統 C インターネットもローカルもこれ一本 電源は一基のみ。 系統がダウンすると 1/3 のサーバが ダウンしてしまう SCSI-HDD SCSI-HDD バッテリ管理コストの 都合でキャッシュの バッテリ無し。 用途によって 容量が違う bonding NIC1 active NIC2 standby コスパ重視 NIC4 ? 1 2 3

Slide 15

Slide 15 text

Copyright © GREE, Inc. All Rights Reserved. プロキシ・ロードバランサ ブラウザなど 用語や構成 アプリケーションサーバ データベース サーバ・ハードウェア CDN DNS ラック・データセンター メインは東京 ラック間転送量や 電源容量、重量など を考慮し配置する

Slide 16

Slide 16 text

Copyright © GREE, Inc. All Rights Reserved. プロキシ・ロードバランサ ブラウザなど 用語や構成 アプリケーションサーバ データベース サーバ・ハードウェア ラック・データセンター DNS CDN 画像やアプリパッケージ配信。 CDN 用サブドメインにて アクセスすると CDN 経由になる。 多様な使い方。

Slide 17

Slide 17 text

Copyright © GREE, Inc. All Rights Reserved. プロキシ・ロードバランサ ブラウザなど 用語や構成 アプリケーションサーバ データベース サーバ・ハードウェア ラック・データセンター CDN DNS カオス

Slide 18

Slide 18 text

Copyright © 2004-2014 GREE,Inc. All Rights Reserved. Confidential 問題解決しようとしたこと

Slide 19

Slide 19 text

Copyright © GREE, Inc. All Rights Reserved. 当時の状況 ゲーム プラットフォームや SNS 課金など ダウンさせられない 齟齬があってもダメ 若干妥協できる 速度・効率重視 フィーチャーホン スマートフォン アプリデベロッパー 端末も多く、 利用される技術はとても多い

Slide 20

Slide 20 text

Copyright © GREE, Inc. All Rights Reserved. 当時の状況 ゲーム プラットフォームや SNS 課金など • 負荷に応じてサーバをた くさん追加 • 月末月初は慎重に • ダウンしたらすぐに電話 • 気合と根性で運用 フィーチャーホン スマートフォン アプリデベロッパー 早い、安い、うまい 似てるようなゲームが多い しかし特殊な表現も一部あり

Slide 21

Slide 21 text

Copyright © 2004-2014 GREE,Inc. All Rights Reserved. Confidential ツール一覧

Slide 22

Slide 22 text

Copyright © GREE, Inc. All Rights Reserved. ツールもくじ • オリジナルや OSS の組み合わせ

Slide 23

Slide 23 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Cascade • ミドルウェア • github 公開済み • SQL や KVS 等のデータ にアクセスできる • PHP かつ仕組みが単純 なので扱える人が多い • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 24

Slide 24 text

Copyright © GREE, Inc. All Rights Reserved. Cascade • サービスを止めずにデータソースを切り替えられる • データへのアクセス方法が統一されている アプリケーション KVS RDBMS Cascade parameter パラメータの書き換えは頻繁 かつコードを書かない人も 編集できるぐらい単純 ORM でなく比較的ベタな SQL . クエリの可視化をしやすくすることで 問題解決やチューニングもしやすく。

Slide 25

Slide 25 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Awacs • アラート発行システム • agent をインストール • 監視ツールのクローラー が限界だった • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 26

Slide 26 text

Copyright © GREE, Inc. All Rights Reserved. Awacs agent agent agent 各種サーバにインストール されている agent から大量 のレポートが送られてくる 1 queue filter filter topic summarizer queue mail 重要なものをまとめる 2 メールや電話を行う 3

Slide 27

Slide 27 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Server (サーバ管理) • 通称ファースト環境 • サーバ機材の一生を管理 する • 納品から破棄まで • 数万台分のエントリ • 僅かながら状態を持てる • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 28

Slide 28 text

Copyright © GREE, Inc. All Rights Reserved. 昔のサーバ管理方法は • PHP の配列に直接書いておく • サーバの IP アドレス • サーバの用途

Slide 29

Slide 29 text

Copyright © GREE, Inc. All Rights Reserved. Server • 他のサービスと同じように、全部いりのうちのひとつ • 自身のサーバも当システムに登録、利用 api.server グリーのプラットフォームや ゲーム等のデータも入っている。 データベースの運用品質も お客様向けサービスと全く同じ

Slide 30

Slide 30 text

Copyright © GREE, Inc. All Rights Reserved. Server • データセンター、ラック、配置場所などの納品情報 • いつ、どのように機材の役割が変わったかなどの履歴 • 生まれたて → データベースサーバとして → ウェブとして → 破棄 • ホスト名、タグ、用途、アドレスなど僅かな状態 web api

Slide 31

Slide 31 text

Copyright © GREE, Inc. All Rights Reserved. 状態確認ツールなど • 状態確認や MySQL の稼働状況、トポロジの確認、 Proxy の設定変更 など CLI による一つのコマンドで出来るようになっている • 実装言語が多種。 sh > php > pl > rb . わずかに python,node.js • 野良ツールもあわせると100個をおそらく超える

Slide 32

Slide 32 text

Copyright © GREE, Inc. All Rights Reserved. 例えば、デプロイツール api.server deploy1 deploy2 deploy… デプロイ対象の アドレスや状態を 問合せ platform game sns 数十並列x数千台に ソースコードや画像等を rsync していく proxy 更新中のサーバに アクセスできないよう Proxy でコントロール 1 2 3

Slide 33

Slide 33 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Flare / cloud Flare • KVS • 単体機能は memcache • コアは C/C++ • マネジメントツールは Haskell • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 34

Slide 34 text

Copyright © GREE, Inc. All Rights Reserved. 制御システム ノード サーバ管理システム cloud flare Message Queue Message Queue 制御 サーバ 制御 サーバ 制御 サーバ ノード 状態管理サーバ Operator ノード ノード ノード ノード ノード 個々のノードの 構成管理を行う ノードの 監視と制御 大部分が Haskell にて できている

Slide 35

Slide 35 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Skail • Skype Bridge が元 • Skype,IRC,CW,mail • それぞれのチャンネルの 内容を同期 • Chat-ops • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 36

Slide 36 text

Copyright © GREE, Inc. All Rights Reserved. Skail Skype mail CW skail IRC1 IRC2 MacBook で動いている BOT deploy1 deploy2 deploy… worker BOT にコマンド を送ることができる JIRA jenkins イベントの通知

Slide 37

Slide 37 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • SH bot (通称) • ふるまいは常識的なもの • ログイン~対戦~終了 • HTTP ではない • やさぐれたエンジニアが Haskell を使って開発 • 軽量、高速 • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 38

Slide 38 text

Copyright © GREE, Inc. All Rights Reserved. SH Bot Realtime server Api (www) 独自プロトコルのサーバを シナリオに応じて ブラックボックステストを行う Haskell 軽量、高速、安定

Slide 39

Slide 39 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • LWF • Flash の軽量プレイヤー • Web,Unity,Cocos 等が ターゲット • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 40

Slide 40 text

Copyright © GREE, Inc. All Rights Reserved. LWF .swf json Unity3D HTML5 Cocos2d 入稿データは swf を利用できる プレイヤーがサポート しているプラットフォーム。 他

Slide 41

Slide 41 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • RUM • NewRelic 参考 • ページ読み込み速度取得 • 釧路出身者が設計から実 装、導入まですべて対応 • JS と Python • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 42

Slide 42 text

Copyright © GREE, Inc. All Rights Reserved. RUM CDN varnish 普通の www Python の daemon fluentd HDFS RUM のダウンロードと 通知は CDN で行う 1 フィルタによって通常の アクセスか RUM クエリ かを振り分ける 2 整形して分析 ツールに保存 3

Slide 43

Slide 43 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • PrimDNS • MySQL を参照しレコー ドを返す • 内部利用のみ • C/C++ • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 44

Slide 44 text

Copyright © GREE, Inc. All Rights Reserved. PrimDNS PrimDNS 作業用 app app PrimDNS サーバ管理システムの データベースを参照している 一般的な primary,secondary による冗長化 ゾーン毎に 任意のコマンドで 解決できる

Slide 45

Slide 45 text

Copyright © GREE, Inc. All Rights Reserved. DNS 戦国時代 • Bind • gree.jp を管理。 CDN でキャッシュされている • Unbound • 外部ドメインの中間キャッシュ • tinydns • 殆どのサーバに入っているローカルキャッシュ • 設定が柔軟で使いやすい • PowerDNS • 主に MySQL アクセスコントロール用 • LVS(NAT) で負荷分散し PowerDNS の機能でアドレスを WRR できる • dnsmasq • tinydns と同じ用途で利用 • ubuntu では主にこちら • PrimDNS • 内部サーバのホスト名解決用

Slide 46

Slide 46 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Release M@aster • “Server” 環境対応 • ソースコードデプロイの 排他制御を行う • 以前はチャットで音頭を 取り合う • 比較的モダンな GUI • ユーザ制御デプロイ記録 • Ruby • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 47

Slide 47 text

Copyright © GREE, Inc. All Rights Reserved. 手動時代 チャットや空気を 読んで作業する。 かなり多い デプロイの依存関係マトリクス。 他の人がデプロイ中に 依存しているコードをデプロイ してはいけない

Slide 48

Slide 48 text

Copyright © GREE, Inc. All Rights Reserved. Release M@aster nginx unicorn rails api.server deploy1 deploy2 deploy… worker MySQL Redis worker がジョブを読んで デプロイを実行。 完了したらジョブの状態を 更新して次へ。 開発者がブラウザを ポチポチしてジョブを設定 1 ジョブの状態は MySQL へ。 実行時に Redis にキュー 2 3

Slide 49

Slide 49 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • GTP • MySQL へのアクセスを コントロール • 障害の起こったサーバを 外す • マスターサーバの場合 フェイルオーバーを行う • node.js / MongoDB • 東川町(旭川の隣)出身者 が設計、開発 • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 50

Slide 50 text

Copyright © GREE, Inc. All Rights Reserved. GTP 大規模向け MySQL の状態を クローリング。 100台/sec 1 Master の DB が ダウンした場合は Slave の昇格 2 www www www www Power DNS 問題のあったサーバの エントリ書き換え 3 どの DB サーバにアクセス するかは名前解決の結果に よって制御される GTP GTP GTP

Slide 51

Slide 51 text

Copyright © GREE, Inc. All Rights Reserved. GTP 小規模向け GTP www www www www 名前解決使うのは同じ nsswitch.conf を拡張した Agent のエントリを書き換え 3

Slide 52

Slide 52 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Server Dashboard (SDB) • パートナー企業さんも利 用できる • 閉じられたネットワーク を使える • Ruby • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 53

Slide 53 text

Copyright © GREE, Inc. All Rights Reserved. Server Dashboard (SDB) gw proxy www www www www stg QA batch gw proxy www www www www stg QA batch gw proxy www www www www stg QA batch サービス毎に仕切りが あり他のネットワーク にアクセス できない SDB

Slide 54

Slide 54 text

Copyright © GREE, Inc. All Rights Reserved. gateway SDB SDB Web, API Worker template gateway にシェルスクリプトの template を送り Worker に実行させる node node node 普通の MVC アプリ

Slide 55

Slide 55 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Aegis • SDB を PHP で疎結合に 作り直したもの • 札幌出身者が! • chef で構築などを行う • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 56

Slide 56 text

Copyright © GREE, Inc. All Rights Reserved. Auth Aegis Web Render Core API tool Server 構成管理 awacs Controller node node node Chef を Controller で実行 することで Core の負担軽減。 HTML レンダリング 情報も API から 取得してくる ノードからの ログは awacs に送る 社員 LDAP 協力会社 LDAP

Slide 57

Slide 57 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Ganglia • サーバモニタリング • agent をインストールす るだけでお手軽運用 • 大量のメトリクス • どんどん増えた • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 58

Slide 58 text

Copyright © 2004-2014 GREE,Inc. All Rights Reserved. Confidential Ganglia MySQL関連だけで 100個ぐらい 追加しやすいので とりあえず表示が多い

Slide 59

Slide 59 text

Copyright © GREE, Inc. All Rights Reserved. ganglia Ganglia frontend (reverse proxy) gmetad agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent agent rrd web gmetad rrd web agent agent agent agent agent agent agent agent agent agent agent agent agent agent gmetad rrd web 見かけ上、これ一基で すべてのサーバのメトリクス を監視、調査できる マルチキャストでなく、 ユニキャストで二回 別々の gmetad に送ってる /24 単位でクラスタ。 大量のクラスタ。

Slide 60

Slide 60 text

Copyright © GREE, Inc. All Rights Reserved. もくじ • Andes • MySQL Master 向き • DRBD によるストレージ 多重化 • Cascade • Awacs • (1st) Server • Flare • Skail • SH bot • LWF • RUM • PrimDNS • Release M@aster • GTP • SDB • Aegis • ganglia • Andes

Slide 61

Slide 61 text

Copyright © GREE, Inc. All Rights Reserved. standby active Andes MySQL MySQL DRBD DRBD app vip VIP で active 選択 Pacemaker corosync で制御 専用 NIC で直結。 データ同期に問題が出る 可能性はとても低い。 Standby 側の MySQL 起動に数秒の時間がかかる

Slide 62

Slide 62 text

Copyright © GREE, Inc. All Rights Reserved. 他にも • 分析ツール • レポートツール • サポートツール • 野良アプリ公開広場 • などなどたくさんある…

Slide 63

Slide 63 text

Copyright © GREE, Inc. All Rights Reserved. gpdata www www www www MySQL Web HDFS HDFS Zoo Keeper Azkaban MR Hive Presto Macaron Solaris / log HBase オリジナル Frontend とても たくさん ある 分析基盤は よくわからない

Slide 64

Slide 64 text

Copyright © GREE, Inc. All Rights Reserved. region PowerDNS VIP LVS (NAT) LVS (NAT) Power DNS MySQL tinydns Power DNS MySQL Power DNS MySQL region VIP LVS (NAT) LVS (NAT) Power DNS MySQL Power DNS MySQL Power DNS MySQL tinydns データセンター毎に ワンセットずつある 最寄のリージョンに 問い合わせる。 DB の内容は同じだが 名前解決の結果を リージョン毎に変えられる

Slide 65

Slide 65 text

Copyright © GREE, Inc. All Rights Reserved. ツール系開発言語分析 32% 21% 18% 10% 7% 6% 4% 2% 0% 利用言語 PHP Ruby Shell Perl JavaScript Haskell C/C++ Python Java

Slide 66

Slide 66 text

Copyright © GREE, Inc. All Rights Reserved. 今後の展開

Slide 67

Slide 67 text

Copyright © GREE, Inc. All Rights Reserved. ウェブからネイティブゲームへ • 昔のプラットフォーム • Mixi • Mobage • Gree • さらに昔は任天堂、SCE、SEGA • すこし前の開発環境 • Web で高度な表現をするためには • HTML5,LWF,WebGL,enchant.js 等.. • 今のゲームプラットフォーム • App Store • Google Play

Slide 68

Slide 68 text

Copyright © GREE, Inc. All Rights Reserved. ツール開発の目標 • 大規模は見据えつつも • 大ヒットしない可能性 • 運用維持費の考慮 • オリジナルか、汎用かの比較 • クライアントアプリ技術は収束気味 • Unity3D または Cocos2d • ウェブ技術は停滞気味 • Web の利点が生かしにくく、 HTML5/WebGL は進化せず • ダウンロード不要 → むしろ Store に案内しにくい • セキュリティ → アプリ毎に権限の可視化で軽減 • ウェブ臭がむしろ避けられる

Slide 69

Slide 69 text

Copyright © GREE, Inc. All Rights Reserved. インフラの今後 • 必要なときに必要な分だけ • これは今も昔も変わらず • ネイティブ(クライアント)寄りになってきて、サーバの演算リソースが低下 • HTML レンダリング → API コール • 他変わらず • クラウドの展開 • クラウドゲーミングが普及した場合、サーバの演算リソースが必要になるが… • P2P のサポートとか • ゲームロジックを書ける SaaS とか

Slide 70

Slide 70 text

Copyright © GREE, Inc. All Rights Reserved. まとめ 大量のサーバ 大量のツール 如何にして展開していくか

Slide 71

Slide 71 text

Copyright © GREE, Inc. All Rights Reserved. まとめ • 規模が大きくなったら • OSS ではまかないきれない • アレコレ考えるより作るほうがよい • 拡大はいつか必ず止まる • よく起こる(起こった)問題 • 短期的に作られたツールが広く長く利用されてしまい、メンテコストが上がる • 社内向けだからとセキュリティが甘いことがあり、対応が先送りになる • CLI 派と GUI 派があり、両対応コストがかさむ • ある既存ツールの置き換えツールができたとき、依存しているツールの対応コスト が増える • 進化の足かせにもなる • 短期的にはサーバ全体の需要は下がるであろう • HTML レンダリングは無くなり、 API 利用にシフト

Slide 72

Slide 72 text

Copyright © 2004-2014 GREE,Inc. All Rights Reserved. Confidential Confidential Copyright © 2004-2010 GREE,Inc. All Rights Reserved. ありがとうございました