Technical Challenges of Developing a Facebook Game

4,411 views

Published on

Talk given at http://webilea.ch/

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,411
On SlideShare
0
From Embeds
0
Number of Embeds
186
Actions
Shares
0
Downloads
56
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Technical Challenges of Developing a Facebook Game

  1. Technical Challenges ofDeveloping a Facebook Game webilea Basel, 26-01-2011
  2. Who?• Patrick Hüsler / @phuesler• huesler-informatik.ch• Freelance developer• backend developer at ....
  3. Players in Facebook Game Market
  4. Game Developers• Zynga (54 games)• EA (35 games)• Pop Cap (2 games)• Crowd Star (20 games)• Digital Chocolate (13 games)• Playdom (39 games)
  5. Anatomy of aFacebook game
  6. Sandbox• iframe inside Facebook• flash client (javascript based games are still a minority)• backend• Facebook API (FBML, graph, connect, payment ...)
  7. Facebook Game Lingo
  8. Monthly Active Users (MAU)
  9. Current MAU Leader
  10. City Ville~ 100 Million MAU
  11. Daily Active Users (DAU)
  12. Current DAU Leader
  13. City Ville~ 20 Million DAU
  14. checkhttp://appdata.com
  15. Challenges
  16. Goal:~ 1’000’000 DAU
  17. 2 People for:
  18. BackendDevelopment
  19. Operations
  20. 24/7
  21. Cent/DAU(should be low)
  22. Rapid Growth
  23. Ever changingFacebook APIs
  24. Roughly estimated requirements• ~ 20’000 concurrent users• ~ 4’000 rps• ~ 60’000 DB queries/s• DB write heavy ~ 50/50• Deliver plenty of assets (flash files, images etc.)
  25. Our Architecture
  26. Status Quo (Peak)• ~ 200’000 DAU• ~ 3’000 concurrent users• ~ 660 rps peak traffic• ~ 7000 DB queries/s• 15 ms average response time
  27. Dedicated hardware• small number of machines• fast CPU’s• fast disks• fast network
  28. Automate, automate,automate!!!!!!!
  29. Monitoring• Availability monitoring with pingdom (pingdom.com)• Scout for hardware metrics and usage data (scoutapp.com)• New Relic for applications (newrelic.com)
  30. CDN to deliver assets
  31. Rails Application
  32. Yes, really!
  33. Database: Redis• very fast• powerful data structures• good fit to store different types of data• supports virtual memory
  34. Data format• One Redis hash table per user• Keys store JSON• Custom built data mapper called Remodel
  35. Durability: Flat files• Asynchronously written to disk• Replicated on file system
  36. Q&A
  37. Links•wooga.com/jobs•newrelic.com•scoutapp.com•pingdom.com•huesler-informatik.ch
  38. One last thing
  39. euruko2011.org

×