Continuous Delivery @ Outsmart Games Taking it to the next level with Blood Gate
Nathan Smith, Technical Director
How do we enable rapid delivery of updates to
Blood Gate?
Building Mobile App
Local Dev
Delivering Mobile App
QA ; 1 week+
1 hour
AppStore
Content Manager Outputs
Content Data 500 KB
Asset Bundles 80 MB
Content Manager Publishing
Client version
Sandbox first
Selective about changes (optional)
Content Manager Publishing
CDN (S3 CloudFront) < 1 min
Designers /Artists
/Publishers
QA
Content Distribution
CDN (S3 & CloudFront)
Server Instance
Client
3. Content Version Parameter
4. Cached in-process Indexed & Immutable
2. Cached
1. Latest?
Service Call
Monitoring Content Distribution
Content Manager CI/CD
Elastic Beanstalk
Dev
S3 content,
configuration, assets.
Content Manager
Microservices
Customer Service
DynamoDB
Monitoring Hystrix, CloudWatch,
SumoLogic
Player State
Edge authentication,
routing
Microservices Architecture
Deployment
Microservices
Failure Isolation & Monitoring
Microservices
Alerting on Failure
Cloud Watch
Understanding Failure
Microservices
Snapshot & Export Game State
Service A
Edge
Middle Tier
Service B Worker
Delivering Microservices
Dev
App Version Ready
Delivering Microservices
Elastic Beanstalk
Dev
Ops
Success? /Rollback? Cloud Watch
App Version Ready
Blue/Green or Rolling?
Blue/Green with Legacy Clients
Legacy Client
New Client
Shared Data
Blue
Green
Outcomes
• Milestone every 2 weeks
• Tooling for Designers/Artists/Publishers
• A/B Testing and Balancing
• Major Update Soon
Thank you!
Nathan Smith, Technical Director [email protected]