david lowe, sr. technical director, eai
TRANSCRIPT
David LoweSr. Technical Director
Electronic Arts
Free games• 100+ board, casino, puzzle, word, arcade games• Community – avatars, chat, challenges• Prizes, tokens – rewarding performance &
participation
Subscription service• 40+ exclusive games• Enhanced community – badges, profiles• Microtransactions (gems) – premium items, badge
albums• $5.99/month or $39.99/year
Distributed games service• Online and mobile• Facebook• iPhone• Yahoo! Games
Traditional Centralized ITSingle shared project queueLarge overhead for small projectsCostly & inflexible
Monolithic Deployments – don’t miss the bus!
Hotly contested shared integration environments
For us, the decision to leverage the cloud was easyBut how?
No silver bullet
Identify & separate services
Over time we plan to migrate more and more services to the cloud
SimpleDB
SQSRDSEBS
Core Services
S3
Oracle RAC
Other EA Services
REST / jSON / HTTPsAWS Based
EA Hosted
Problem: QA needs to regularly update to test the latest build – how do we automate this step?
Typical answer: let’s write an installer!• Better than nothing, but…• Kitchen sink scripting• Ownership avoidance• Solution is unique to QA or dev environments, not
production
We can do better
Source Control
(P4)Automated Builds
(Maven & Hudson)
Maven Repository
(Nexus)
Debian RepositoryJetty
JDK
• Everything deployed is contained in an OS package
• A package contains version info and all dependencies (internal or external)
Ubuntu EC2 node%apt-get pogoweb_v123
AWS Based
EA Hosted
RightScale has terrific monitoring capabilities.You can easily extend these capabilities yourself
Web Application JMX
IntegrationScript collectd RightScale
Example Performance Metric
We use syslog-ng, Hive, & Hadoop to crunch logs and summarize data into SimpleDB - Extensive performance & internal error reportingBusiness insights via scheduled Microstrategy/Hive jobs
Amazon’s MapReduce makes this easy
Web Node1
Web Node2
Web Node3
…Syslog Node S3
Transform jobs
Other EA data
• Deployments are faster and require no downtime
• Integration environments are inexpensive• Consistent build & deploy pipeline• Rollback is easy• Adding capacity is easy• Team is more empowered and enjoys additional
ownershipExciting transition for software developersContinually raising software abstractions higher and higherIt really works