You build an MMOG – really?• Room based games (2-32 players) – FPS, Racer, Casual Game – Broadcast of Messages to all Players – U4ia: Offensive Combat, Codemasters: F1 Online• MMO games – Hundreds of People per Map/World/Region – Interest Management – Innogames: Kartuga, FOX: Family Guy Online
The Golden Thread• What is it: Photon Cloud?• Design Goals & Requirements• Battle Cloud vs Dedicated• Learnings and realworld data• Summary
Design Goals of our Cloud• Hosting – „Unlimited“ scale – Global hosting (US, EU, Asia)• Ops (deploy, updates, manage, add) – Manageable by a small team• Architecture – No persitence – Failsafe (nodes can fail), Self Healing
Cloud vs Dedicated: Features Cloud/VMs Dedicated/IronRamp up ++ „Instant“ - 1-3 daysRamp down ++ „Instant“ - MonthlySnapshots ++ Yes. - 3rd partyAutomation ++ Rightscale, OpsCode + Manual, ScriptsPower/CCU + „Weak“ Socket ++ Better „bang“ for performance the „buck“.Services (Saas) ++ DB, MsgQueues, + Backup Storage, Backup
Understand your Load• Scenario – 25 rooms x 16 players = 400 CCU – 2 x 50 bytes reliable / s, 10 x 50 bytes unreliable / s• Server: Quad-Core, 8GB RAM, Win7 x64 – In: 4,500 msg/s (1,2 MB/s) – Out: 65,000 msg/s (7.5 MB/s) – CPU: ~30% – NIC (100Mbit): 80% saturated – Client RTT: ~40ms
CCU is Overestimated• Optimistic rule of thumb: 1,000,000 downloads 500k : MAU (50% of downloads) 50k : DAU (10% of MAU) 5k : CCU (10% of DAU)• Real World Sample: Online Mobile Shooter – 4,000,000 DL : 3,000 CCU
Real World: Our own Cloud• Largest game has 21,000 CCUs• 1,200,000 msg/s (req, resp, ev)• 150 TB per month traffic• 50 Servers• US, Europe & Asia• Our „perfect“ Box – Single CPU, 4 Cores, 4GB RAM, 5TB traffic
Cloud is Trend, Focus is Trend• Storage: Cloudant• Social API: Roar Engine, Scoreloop• Realtime: Photon• Ad: Playhaven• Notification: Urban Airship• Analytics: GA, Honey Tracks, Flurry, Kotagent• Mix with your own!