INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014
Server Architecture @ Kooapps
Kooapps A really long journey… If any of you wanna start your own company, we can chat : )
Product Services & Storage for our games Services Storage
Product Services Leaderboard Flights (a/b testing) Push Notification Social (gifts/etc) User/Save files Logs & Metrics Game Logic Storage Additional content (more levels, more puzzles) Binary limit (10mb in early days, now 100mb) Facebook share images (attachment => more permissions)
Information Architecture
Information Architecture on AWS Very Simple! Game Content S3 Leaderboards, Game Config, A/B Testing, Social, User Data, Logs & Metrics RDS Front-End EC2 Front-End EC2 Games & Apps Red = Storage Blue = Compute Yellow = Load Balancer Green = Data flow
Mobile Apps/Games Most mobile apps/games have more simple back-end requirements so you have services like https://parse.com/
Key Decision All compute nodes run all services for all games (generalized nodes) Easier to scale Better load balancing Tier 1/Tier 2 RDS I actually have 2 RDS services Tier 1 (user data) Tier 2 (logs/metrics) => more data, less stable Dashboard calculates every 3 hours No worker role. Basically just web role forks out thread to do work every 3 hours.
Dashboard Stats aren’t exactly right. Pirates!
Continuous Integration https://circleci.com/ Fail GitHub CircleCI Test Container (EC2) Dev Pass Kooapps production servers (EC2)
Questions?