Contenu connexe Similaire à Gmo media.inc 第9回西日本ossの普及を考える会 (20) Gmo media.inc 第9回西日本ossの普及を考える会5. 自己紹介
名前 : 宇津井 大(うつい だい)
Twitter : @utsuidai
職業 : オペレーションエンジニア @ GMO-Media.Inc
趣味 : サーフィンとお酒と勉強会巡り。
自宅サーバー : 1台のみ!
6. GMOインターネットグループ
WEBインフラ・EC事業 インターネットメディア事業 インターネット証券事業
2位 セキュリティ 1位決済
1位 EC支援
2,755万視聴者 2位FX取引 3位 株式取引
375万顧客(12月末)
1,150万ライブプラグイン 20万口座 12万口座
1位 サーバー (6,500万累計配布)
1位 ドメイン アクセス ネット広告 リサーチ
「人財・技術」 「資金」
スマートフォン
ソーシャルアプリ
技術力・営業力 ゲームプラットフォーム テクノロジー
サーバー運用ノウハウ 共同マーケティング
4位クーポン
ソーシャル・スマートフォン関連事業
7. GMOメディア:会社概要
メディア事業 デジタルコンテンツ提供事業
• 楽しく便利な情報を提供するサイ • コンテンツプロバイダーとして、壁
トや、ブログ・SNSなどのコミュニ 紙画像や着メロなど様々なコンテ
ティサービスを運営する事業です。 ンツを制作・収集し、お客様に提供
• スポンサー企業様からの広告をお する事業です。
届けする無料サービスと、月額課 • スポンサー企業様からの広告をお
金制のサービスがあり、現在、P 届けする無料サービスと、月額課
C・携帯併せて10サイト以上の 金制のサービスがあり、現在、P
サービスを提供しています。 C・携帯併せて30サイト以上の
サービスを提供しています。
9. 沿革
• インターネット広告および情報提供サービス事業を主力としたアイ・ウェブ・テ
2000年10月 クノロジー・ジャパン株式会社(現GMOメディア株式会社)を設立
• 商号をユーキャストコミュニケーションズ株式会社に変更
2002年5月 • 本店の所在地を東京都渋谷区に移転
• 壁紙ドットコム株式会社と合併し、GMOモバイルアンドデスクトップ株式会社
2004年3月 が発足
• GMOメディアアンドソリューションズ株式会社のメディア事業・EC事業と統合
2005年5月 し、商号をGMOメディア株式会社に変更
• GMOメディアホールディングス株式会社から「ヤプログ!」事業を会社分割に
2007年8月 より承継
• GMOティーカップ・コミュニケーション株式会社を吸収合併
2009年4月
13. OSD(Open Source Definition)
1. 再頒布の自由
2. ソースコードの入手
3. 派生ソフトウェア
4. 作者のソースコードの完全性(integrity)
5. 個人やグループに対する差別の禁止
6. 利用する分野(fields of endeavor)に対する差別の禁止
7. ライセンスの分配(distribution)
8. 特定製品でのみ有効なライセンスの禁止
9. 他のソフトウェアを制限するライセンスの禁止
10. ライセンスは技術中立的でなければならない
http://www.opensource.jp/osd/osd-japanese.html
15. OSSを使用する最大の理由
• ベストプラクティス
– 作りたい物を最も早
く、かつ安価に構築
できる仕組み・体系
• ソースの存在
– 世界中で開発されて
いる
– 必要なら改変が可能
– 例え開発が止まって
もソースがあれば維
持できる
16. その他のメリット
• インフラ要素
– OSSのRHEL(及びRHELクローン)は最新かつ高性能、高効率な
インフラ機器を利用可能
– x86サーバー、SSD、PCI-Express型ストレージ、メモリ
等々
– 省エネも実現
• 人材
– OSSに関わるエンジニアが増加傾向
17. 全国のOSC参加人数
• 年度別参加者数推移
– 2005年 2,350
– 2011年 8,150
• 年度別参加コミュニ
ティ数推移
– 2005年 97
– 2011年 503
http://www.ospn.jp/visitors/
18. 全国のOSC参加人数
• 西日本と東日本の比較
– 西日本
• 2005年 200
• 2011年 3,470
– 東日本
• 2005年 2,150
• 2011年 4,680
http://www.ospn.jp/visitors/
19. その他のメリット
• 教育
– 初期教育コストがかなり抑えられる
– 情報はweb、オープンなコミュニティから得られる
– rhelならRedHatのサポートも得られる
– 省エネも実現
• コミュニティ
– 人気のプロジェクトは各地で勉強会が開催される
– MLも活発
– 助けあいの文化
21. 当時の仮想環境 2010.2
• ごった煮状態
– Xen,KVM,VMware Serverで構築した仮想サーバー(vm)
が散乱。
• 開発環境不足
– 充分なリソースを割けず、開発・テスト・ステージング環境
が野放しに
– エンジニアが自由に弄れるサーバー環境が皆無
22. Why Red Hat Enterprise Virtualization for Servers
• KVM(OSS)
– カーネル2.6.20からマージされたKVMをどうしても使いた
かった。
• ソケットライセンスでの価格優位性
– 集積度を上げるため12コア AMD Opteron 6000シリーズ
(Magny-Cours)を使いたかった。
– (当時の)VMWareではvSphere4 Advanced、
Enterprise Plusには手が出せない。
– (現在の)VMWareでもvSphere5 Enterprise Plusには手
が出せない。
25. メディアクラウドv1 2010.6
動的かつスケーラブル
The Internet な
仮想環境
Ethernet 1G Network
Server
Dell R815 * 3
AMD Opteron 6164HE 12Core * 4socket
4GB * 96 module
CPU Total 144 core : Memory total 384GB
iSCSI 10G Network
Storage
Dell EqualLogic PS6010XV SASmodule
14TB
26. メディアクラウドv2 2010.8
The Internet
Server
Dell R815
CPU 144 core -> 288
core
Memory 384GB ->
768GB
Storage
Dell EqualLogic
PS6010XVSASmodle
14TB -> 28TB
28. 要件1
• ストレージは重要
– ストレージが落ちると全体障害になりえる
– データセンター内のネットワークはfablicを求めている
– ベンダーロックインを減らす
– i/o負荷の高いDBも仮想化したい
31. 導入の効果
• ストレージの分離
– StoragePoolManagerが3つに。全体障害の回避。
• シンプル構成
– CPU Socket辺りの10Gb利用ポート数が約62%現象
• iscsiネットワーク内の話でブレードフル搭載の場合
– 現在はシャーシ辺り5台運用なので約37%。
» しかも全部10Gにしたのでポート数は増えてます
– 配線が約60%減少
• 拡張性
– スケールアウトが容易
• エンクロージャに空スロットを用意しておけば増設が非常に楽
• エンクロージャ足すのも旧来の2Uサーバーと同等程度の作業量
33. Hypervisor Deployment
• pxeboot
– 2台以上のhypervisorを利用するなら必須
– Installは手作業で実施(自動化も可能)
– Upgradeはキーボード2回たたくだけ
– 詳しくはrhel6のHypervisor 導入ガイド
» http://docs.redhat.com/docs/ja-
JP/Red_Hat_Enterprise_Virtualization/3.0/html/Hypervisor_D
eployment_Guide/sect-Deployment_Guide-
Preparing_Red_Hat_Enterprise_Virtualization_Hypervisor_ins
tallation_media-
Deploying_RHEV_Hypervisors_with_PXE_and_tftp.html
34. Hypervisor Deployment
• pxelinux.cfg/defaultの例
– Install
label 9
kernel rhevh-6.2-20120510.0/vmlinuz0
APPEND rootflags=loop initrd=rhevh-6.2-20120510.0/initrd0.img root=live:/rhevh-6.2-20120510.0.iso
rootfstype=auto ro liveimg nomodeset check rootflags=ro crashkernel=512M-2G:64M,2G-:128M
elevator=deadline processor.max_cstate=1 install rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM
ONERROR LOCALBOOT 0
– Upgrade
label 10
kernel rhevh-6.2-20120510.0/vmlinuz0
APPEND rootflags=loop initrd=rhevh-6.2-20120510.0/initrd0.img root=live:/rhevh-6.2-20120510.0.iso
rootfstype=auto ro liveimg nomodeset local_boot nocheck check rootflags=ro crashkernel=512M-2G:64M,2G-
:128M elevator=deadline processor.max_cstate=1 install rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM
ONERROR LOCALBOOT 0
35. VM deployment
• Templates
– 事前にテンプレート(AIMみたいなもの)作っておけば10
分程度でclone作成(50GB程度の場合)
– テンプレートからThin-Provisioningなら即時
– 新規に入れる場合はkickstartで10分程度
36. REST - API
• Vm情報取得
# rhevm-config -s SearchResultsLimit=1000
# service jbossas restart
# curl -s -X GET -H "Accept: application/xml" -H "Content-Type: application/xml" --
cacert rhevm.cer -u 'admin@internal:[pass]' https://[RHEVM Host]:8443/api/vms
> vms.xml
• Vm起動
# curl -X POST -H "Accept: application/xml" -H "Content-Type: application/xml" --
cacert rhevm.cer -u 'admin@internal:[pass]' -d "<action/>" https://[RHEVM
Host]:8443/api/vms/0b08f839-f790-4612-99b9-db0d56ee93f6/stop
• Vm停止
# curl -X POST -H "Accept: application/xml" -H "Content-Type: application/xml" --
cacert rhevm.cer -u 'admin@internal:[pass]' -d "<action/>" https://[RHEVM
Host]:8443/api/vms/0b08f839-f790-4612-99b9-db0d56ee93f6/start
詳しくはAPI Guide
– http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Virtualization/3.0/html/REST_API_Guide/index.html
38. エンジニア向けVPS提供
• 全エンジニア(インフラ・PG)へvm提供
– 仮想CPU : 1Core~4Core
– メモリ:1GB~4GB
– ストレージ:70GB
– Global IP(ipv4):希望者のみ
– クラウド事業者の最少プランで実現すると・・・
• GMOクラウド Publicだと月額2,400円*50vm
– 4年償却で約576万円。
• ○○○のクラウドだと月額2,920円*50vm
– 4年償却で700万円程度・・・
39. ソーシャルアプリ1
• モバゲー,Mixi向けアプリ
– Amazon Web Serviceから完全
移行
– サーバ性能というよりネットワー
ク(RTT)の改善により大幅にパ
フォーマンスアップ(当時は東京
リージョンが無かった)
– 大幅なコストダウン
• AWS月額 約20万円 ⇒ RHEV
約2万円
40. ソーシャルアプリ2
• 自社プラットフォームソーシャルアプリ
– apサーバの高負荷で急遽利用開始
– サーバ10台 緊急配備
• 11時に意思決定
-> 17時に本番稼動開始
• APIリクエスト数
– 2億 req/day
(2010/10現在)
– 2.7億 req/day
(2012/2現在)
41. その他
• データセンター移転 2010.8
– 300台程度のDualCoreサーバ群
– rhev環境に積極的に取り込み実施。
• vmの数は物理台数の約半数で稼動可能だった。
• P2Vは不採用
– 100万円/月のコスト削減に成功!
– 節電にもかなり貢献した(はず)!
43. その他:GlusterFS 3.2
• スケールアウト可能なファイル置場をMediaCloud
上に構築
GlusterFS 3.2クラスタ on MediaCloud
vm1:brick1:50GB vm2:brick2:50GB vm3:brick3:50GB vm4:brick4:50GB
100GB
fuse NFS
S3,swift REST Hadoop
GlusterFS 3.3
vm5:client1 vm6:client2
45. OSS概要
MongoDB (from "humongous") is a scalable,
high-performance, open source NoSQL database.
Written in C++, MongoDB features:
http://www.mongodb.org
46. MongoDBを利用したタイムラインシステム
UPDATES
REST
API
WEB SERVICE TIMELINE SYSTEM
TIMELINE
ブログサービスのフレンド更新タイムライ
ン
画像投稿サービスのお気に入りユー
ザー投稿タイムライン
47. システム概要
Kestrel
Scala
MQ WORKER
HTTP
Casbah
Scala
Java
Jetty
PHP
WEB SERVICE API MongoDB
48. システム概要
サービス規模
24,000,000 API CALL / DAY
2,400,000 ユーザ
34,000,000 STATUS UPDATES / DAY
データ規模
TOTAL 55GB
8 DATABASES
2,200,000 COLLECTIONS
100,000,000 DOCUMENTS
49. システム概要
サーバー構成
2 API SRVS API / WORKER / MQ
2 Worker SRVS
2 MQ SRVS
3 MongoDB SRVS 3 NODE REPLICA SET
NO SHARDING
8 DATABASES
2.2 MILLION COLLECTIONS
MongoDB
51. OSS概要
Fluentd is a log collector daemon written in Ruby.
Fluentd receives logs as JSON streams, buffers them, and
sends them to other systems like MySQL, MongoDB,
or even other instances of Fluentd.
http://fluentd.org/
Redis is an open source, advanced key-value store.
It is often referred to as a data structure server since keys
can contain strings, hashes, lists, sets and sorted sets.
http://redis.io/
52. システム概要
自社Webサービスに導入したリアルタイム
EXEC
レコメンデーションシステム
LOG
FORWAR
FILE
FLUENTD
FLUENTD
D
SCRIPT
RUBY
FLUENTD
WORKER
PHP
SCALA
WEB
REDIS
API
54. システム概要
サーバー構成 WEB
18 WEB SRVS
6 REDIS SRVS
4 API SRVS WORKER
4 WORKER SRVS
API
REDIS