|Zynga Inc. CEO and founder Marc Pincus|
Staging of Infra
1. Zynga started their journey of in-house infrastructure
2. The requirement grew ( zero to six million), and they migrated to cloud.
3.And once the platform stabilizes, they know exact requirement, later they move particular application (Ville) to their own private cloud (Z-cloud) from Amazon EC2 server.
ArchitectureZynga uses Apache PHP on the front end, MemBase
Zynga uses LAMMP configuration ( Linux, Apache HTTP server, MemBase
The basic architecture differences arise between social network sites and gaming sites are reads and writes. Games uses lot of writes compared to websites like Facebook.
In 2009, Farmville is using the MemCache+ MySQL, now MemBase (from 2011 onwards) is used in new architcture. This will able to provide optimized read and writes.
Server side :
- LAMP based webstack
- Game logic in PHP
- HTTP communication
This will have additional "Game Logic" compared to the webstack
- Game logic in MMO
- Socket connections
- Live Game support data
Client side :
This is FarmVille Architecture
- High production quality games
- Game logic in client
- Can open socket
This is MafiaWars architecture
- Game is just a webpage
- Limited graphics and animations
- Minimal system requirements
- LAMP stack on the backend
- The server aspects of game simulation are in PHP
MySQL backend, sharded by userid used in an almost purely NoSQL style Memcache layer, again sharded by userid
- A CDN used to serve game assets
Additional info: Based on comments from Quora user:
Zynga is moving towards SOA and many of services being exposed to 3rd party developers