SlideShare a Scribd company logo
It's in the game: The path to micro-services
at Electronic Arts with Docker
Andrew Hately
IBM CTO Cloud
Architecture
Scott Porter
EA Cloudcell Server Lead
Melbourne Firemonkeys
GAMING MARKET GROWING ACROSS ALL PLATFORMS AND
REGIONS
Mobile PC/F2P Console
NORTH AMERICA LATAM EUROPE ASIA/ROW
GROWTH YoY 12%
REVENUES 2015est.
21B
GROWTH YoY 19%
REVENUES 2015est.
4B
GROWTH YoY 7%
REVENUES 2015est.
17B
GROWTH YoY 9%
REVENUES 2015est.
40B
17% 46% 37%41% 16% 43%
195M 182M 553M 817M
33% 24% 43% 51% 44% 5%
2015 est. Revenues Consist of Software Gaming Market
MOBILE FUELING INDUSTRY GROWTH
$3.3 $4.3
$6.1
$9.9
$17.0
$27.8
$34.0
2009 2010 2011 2012 2013 2014 2015
Mobile games industry has grown 10x in less
than a decade
Mobile Gaming Revenue, WW $B
Mobile Game Server architecture/requirements
• Mobile Gaming Back-end is a very typical Web application
• Frequent updates to game content - infrequent updates to game engine
• Daily peak users 150,000 to 250,000 simultaneous users and 1-2 million
daily
• Need to scale-up/down around release and content pack releases
• Stateless front-ends with memory caching and both SQL and no-SQL DB
• 50TB per day of data - Increasing use of analytics on user experience,
recorded game telemetry, replays, etc.
Firewall
Load
Balancer
NGNIX
Game Server REDIS
Memcache
MySQL cluster
PHP
PHP
PHP
PHP
PHP
Object Storage
Demo – Docker for
Gaming
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic Arts with Docker
• Our current Ops complexity
• Partnership with IBM
• Why we believe Docker can help
• How we integrated Docker
Scott Porter
Cloudcell Server Lead
EA Melbourne Firemonkeys
scott@ea.com
@sl_porter
EA MELBOURNE FIREMONKEYS
• Moble studio based in Melbourne,
Australia
• Formed in 2012 from two EA Mobile
studios, Iron Monkey and Firemint
• Focused on developing the highest
quality mobile titles
• Firemonkeys in house Client/Server
Tech Stack
• Mobile focused connected features
• Originally developed by Firemint for
Flight Control
Integrated into all Firemonkeys live titles
• Live Service Games
• Bi monthly client releases
• No downtime
What do we do?
• 13.5k Peak Requests/s
• ~900M Requests/day
• ~430k Peak Concurrent Players
• 5M – 8M Daily Active Players
• > 100 TB Binary Data
• 170 Hosts (60 Live Hosts)
• Team of 7
Current Scale
• Baremetal Hosts
• Nginx, PHP, Memcache, MySQL, Redis
• Batched client requests, short-lived, stateless
• Requests can touch any datastore
Architecture
Game Logic Data StorageLoad Balancing
Architecture
External Services
StatsD / Diamond /
Graphite / Graphana
Object
Storage
Datadog
• Automated Development / Manual Live process
• In house database migration and code
deployment system
• Bash & rsync
• Rollbacks are handled via code duplication
Current Deployment Methodology
• Asynchronous processes (workers) manually
configured ( services, cron jobs )
• Brittle.
• SaltStack is awesome!
• But still slow, complex, no HA
Current Orchestration Methodology
• Moved binary data to SoftLayer Object Storage
(Open Stack Swift)
• Currently provision for Peak
• Shard live environments per game title
• Interested in transitioning to microservices
Current Scalability
• Improved deployments
• Growing ecosystem
• Scalable
• Easy transition, run side by side with existing stack
Why Docker?
• Focused on the Game Logic Layer
• Decomposition
• Nginx
• Admin
• Application
• Workers
Packaging Cloudcell
• Generic Containers
• Run multiple containers, not processes
• Tradeoff considerations
Packaging Cloudcell
Code
Building Images
Jenkins
Docker Registry
Base Images
nginx
php-fpm
php-worker
Built Images
php-fpm-nfs-0001
php-fpm-nfs-0002
php-worker-a-1
nfs-0002.tar
worker-a-1.tar
nfs-0001.tar
Dev Env
Jenkins
Application Code
(SVN)
• Fleet
• Unit files per service
• Nginx
• Admin
• Application
• Each worker type
Orchestration
Load Testing
Host
Baremetal
nginx
Application
Worker A Load Generation
LTG LTG
LTG LTG
LTG
LTG
Host
Docker
Docker
nginx
php-fpm-nfs-0001
php-worker-a-1
etcd
Fleet
• Overall 5 – 10% overhead running Load Test with Docker
Load Testing Results
PLACEHOLDER
NEED A REAL
GRAPH HERE!
• Docker Private Registry
• Jenkins
• Studio Jenkins ships code to build machine
• Build machine builds and commits images to
Registry
• Generates Fleet configuration from templates
• Executes Fleet deployments
Deployments
• Config Editor
• Bridges Cloudcell Application deployments to
environment state
• Provides a simple UI for building, deployments,
and state via Jenkins and Fleet
Deployments
Deployments
Docker Build
Machine Host
Docker
etcd
Jenkins
Docker Registry
Config Editor nginx
php-fpm-nfs-0001
php-worker-a-1
Fleet
Docker enhanced architecture on SoftLayer
CentOS 7 host
Discovery/Config
Fleet managed Docker services
nginx-
confd.service
NGINX-confd
container
Orchestration Docker
php-
fpm@1.service
ea/php-
fpm:latest 1
php-
fpm@2.service
ea/php-
fpm:latest 2
php-fpm-discovery
@2.service
php-worker-
A@2.service
ea/php-
worker:latest
2
php-worker-
B@1.service
ea/php-
worker:latest
1
php-worker-A-discovery
@2.service
php-worker-B-discovery
@1.service
php-worker-
A@1.service
ea/php-
worker:latest
1
php-worker-A-discovery
@1.service
php-fpm-discovery
@1.service
Redis
Externaldataservices
MySQLMemcached
LoadBalancer
Configuration, orchestration and deployment
host
servi
ce
servi
ce
servi
ce
servi
ce
host
servi
ce
servi
ce
servi
ce
servi
ce
host
servi
ce
servi
ce
servi
ce
servi
ce
host
servi
ce
servi
ce
servi
ce
servi
ce
Configure topology, maintain state.
Build images with code, deploy to or scale target
environments.
Run containers in staging,
load test, and production.
Capture metrics.
• Centralised Logging
• Monitoring - processes inside containers
Future Work
— Scott Porter
“Using IBM and Docker container
solutions, we have been able to
build a gaming platform that is
massively scalable, highly
performant and meets our
deployment velocity needs.”
33
Thank you!
@cloudtroll
hately@us.ibm.com
Andrew Hately Scott Porter
@sl_porter
sporter@ea.com

More Related Content

PPTX
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
PPTX
DockerCon EU 2015: What's New with Docker Trusted Registry
PDF
Production Ready Containers from IBM and Docker
PPTX
Docker Networking : 0 to 60mph slides
PDF
Automated hardware testing using docker for space
PPTX
DockerCon EU 2015: Zoe: Swarming Spark applications
PDF
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
PDF
Docker for Ops - Scott Coulton, Puppet
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
DockerCon EU 2015: What's New with Docker Trusted Registry
Production Ready Containers from IBM and Docker
Docker Networking : 0 to 60mph slides
Automated hardware testing using docker for space
DockerCon EU 2015: Zoe: Swarming Spark applications
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Docker for Ops - Scott Coulton, Puppet

What's hot (20)

PPTX
Opinionated containers and the future of game servers by Brendan Fosberry
PPTX
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
PDF
DockerCon EU 2015: The Latest in Docker Engine
PDF
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
PDF
Docker Online Meetup #22: Docker Networking
PDF
Securing the Container Pipeline at Salesforce by Cem Gurkok
PPTX
DCUS17 : Docker networking deep dive
PPTX
DockerCon SF 2015: Cultural Change using Docker
PDF
DockerCon EU 2015: Trading Bitcoin with Docker
PDF
A vision of persistence
PDF
Docker for developers on mac and windows
PPTX
Experiences with AWS immutable deploys and job processing
PDF
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
PDF
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
PDF
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
PDF
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
PPTX
Windows Server and Docker - The Internals Behind Bringing Docker and Containe...
PDF
DCSF19 How To Build Your Containerization Strategy
PDF
Docker for Mac and Windows: The Insider's Guide by Justin Cormack
PPTX
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
Opinionated containers and the future of game servers by Brendan Fosberry
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
DockerCon EU 2015: The Latest in Docker Engine
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Docker Online Meetup #22: Docker Networking
Securing the Container Pipeline at Salesforce by Cem Gurkok
DCUS17 : Docker networking deep dive
DockerCon SF 2015: Cultural Change using Docker
DockerCon EU 2015: Trading Bitcoin with Docker
A vision of persistence
Docker for developers on mac and windows
Experiences with AWS immutable deploys and job processing
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
Windows Server and Docker - The Internals Behind Bringing Docker and Containe...
DCSF19 How To Build Your Containerization Strategy
Docker for Mac and Windows: The Insider's Guide by Justin Cormack
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
Ad

Viewers also liked (20)

PDF
DockerCon EU 2015: Production Ready Containers from IBM and Docker
PPTX
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
PPTX
Docker at DevTable
PPTX
DockerCon SF 2015: Panel Discussion Birds of a Different Feather Soar Together
PPTX
Open source is good for both business and humanity
PPTX
Immutable Infrastructure with Docker and EC2
PDF
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
PPTX
Dockerfile Basics Workshop #1
PPTX
DockerCon EU 2015: Monitoring and Managing Dynamic Docker Environments
PPTX
DockerCon SF 2015: Education for a digital world
PPTX
OpenStack Summit
PDF
Dockercon Swarm Updated
PDF
DockerCon SF 2015: How to Build a Secure DevOps Environment for the Government
PPTX
DockerCon14 eBay
PDF
DockerCon SF 2015: DHE/DTR
PPTX
DockerCon SF 2015: Networking Breakout
PPTX
DockerCon EU 2015: Nesting Containers: Real Life Observations
PDF
A Gentle Introduction to Docker and Containers
PPTX
DockerCon EU 2015: From Local Development to Production Deployments using Ama...
PPTX
DockerCon SF 2015: Orchestration for Devs (machine + compose)
DockerCon EU 2015: Production Ready Containers from IBM and Docker
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker at DevTable
DockerCon SF 2015: Panel Discussion Birds of a Different Feather Soar Together
Open source is good for both business and humanity
Immutable Infrastructure with Docker and EC2
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
Dockerfile Basics Workshop #1
DockerCon EU 2015: Monitoring and Managing Dynamic Docker Environments
DockerCon SF 2015: Education for a digital world
OpenStack Summit
Dockercon Swarm Updated
DockerCon SF 2015: How to Build a Secure DevOps Environment for the Government
DockerCon14 eBay
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: Networking Breakout
DockerCon EU 2015: Nesting Containers: Real Life Observations
A Gentle Introduction to Docker and Containers
DockerCon EU 2015: From Local Development to Production Deployments using Ama...
DockerCon SF 2015: Orchestration for Devs (machine + compose)
Ad

Similar to DockerCon EU 2015: It's in the game: the path to micro-services at Electronic Arts with Docker (20)

PDF
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
PDF
Mobile game architecture on GCP
PPTX
Programming the world with Docker
PDF
The journey to Native Cloud Architecture & Microservices, tracing the footste...
PDF
AWS Summit Seoul 2015 - 일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
PDF
Building Kick Ass Video Games for the Cloud
PPTX
DevOpsDays Silicon Valley 2014 - The Game of Operations
PDF
Microservices rubyconf-2013
PDF
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
PDF
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
PPTX
Continuous delivery by sergey seletsky
PPTX
Scaling Legends: Preparing for GaaS – Unite Copenhagen 2019
PDF
Microservices: How loose is loosely coupled?
PPTX
Microservices approach for Websphere commerce
PDF
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
PDF
Docker in Production: How RightScale Delivers Cloud Applications
PDF
DCEU 18: How To Build Your Containerization Strategy
PPTX
Cultural Change using Docker (DockerCon 2015)
PPTX
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
PDF
Building Microservices Software practics
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Mobile game architecture on GCP
Programming the world with Docker
The journey to Native Cloud Architecture & Microservices, tracing the footste...
AWS Summit Seoul 2015 - 일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
Building Kick Ass Video Games for the Cloud
DevOpsDays Silicon Valley 2014 - The Game of Operations
Microservices rubyconf-2013
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
Continuous delivery by sergey seletsky
Scaling Legends: Preparing for GaaS – Unite Copenhagen 2019
Microservices: How loose is loosely coupled?
Microservices approach for Websphere commerce
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Docker in Production: How RightScale Delivers Cloud Applications
DCEU 18: How To Build Your Containerization Strategy
Cultural Change using Docker (DockerCon 2015)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Building Microservices Software practics

More from Docker, Inc. (20)

PDF
Containerize Your Game Server for the Best Multiplayer Experience
PDF
How to Improve Your Image Builds Using Advance Docker Build
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
Securing Your Containerized Applications with NGINX
PDF
How To Build and Run Node Apps with Docker and Compose
PDF
Hands-on Helm
PDF
Distributed Deep Learning with Docker at Salesforce
PDF
The First 10M Pulls: Building The Official Curl Image for Docker Hub
PDF
Monitoring in a Microservices World
PDF
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
PDF
Predicting Space Weather with Docker
PDF
Become a Docker Power User With Microsoft Visual Studio Code
PDF
How to Use Mirroring and Caching to Optimize your Container Registry
PDF
Monolithic to Microservices + Docker = SDLC on Steroids!
PDF
Kubernetes at Datadog Scale
PDF
Labels, Labels, Labels
PDF
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
PDF
Developing with Docker for the Arm Architecture
Containerize Your Game Server for the Best Multiplayer Experience
How to Improve Your Image Builds Using Advance Docker Build
Build & Deploy Multi-Container Applications to AWS
Securing Your Containerized Applications with NGINX
How To Build and Run Node Apps with Docker and Compose
Hands-on Helm
Distributed Deep Learning with Docker at Salesforce
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Monitoring in a Microservices World
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Predicting Space Weather with Docker
Become a Docker Power User With Microsoft Visual Studio Code
How to Use Mirroring and Caching to Optimize your Container Registry
Monolithic to Microservices + Docker = SDLC on Steroids!
Kubernetes at Datadog Scale
Labels, Labels, Labels
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Build & Deploy Multi-Container Applications to AWS
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Developing with Docker for the Arm Architecture

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Cloud computing and distributed systems.
PDF
Approach and Philosophy of On baking technology
PDF
Modernizing your data center with Dell and AMD
PDF
Electronic commerce courselecture one. Pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Cloud computing and distributed systems.
Approach and Philosophy of On baking technology
Modernizing your data center with Dell and AMD
Electronic commerce courselecture one. Pdf
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
“AI and Expert System Decision Support & Business Intelligence Systems”

DockerCon EU 2015: It's in the game: the path to micro-services at Electronic Arts with Docker

  • 1. It's in the game: The path to micro-services at Electronic Arts with Docker Andrew Hately IBM CTO Cloud Architecture Scott Porter EA Cloudcell Server Lead Melbourne Firemonkeys
  • 2. GAMING MARKET GROWING ACROSS ALL PLATFORMS AND REGIONS Mobile PC/F2P Console NORTH AMERICA LATAM EUROPE ASIA/ROW GROWTH YoY 12% REVENUES 2015est. 21B GROWTH YoY 19% REVENUES 2015est. 4B GROWTH YoY 7% REVENUES 2015est. 17B GROWTH YoY 9% REVENUES 2015est. 40B 17% 46% 37%41% 16% 43% 195M 182M 553M 817M 33% 24% 43% 51% 44% 5% 2015 est. Revenues Consist of Software Gaming Market
  • 3. MOBILE FUELING INDUSTRY GROWTH $3.3 $4.3 $6.1 $9.9 $17.0 $27.8 $34.0 2009 2010 2011 2012 2013 2014 2015 Mobile games industry has grown 10x in less than a decade Mobile Gaming Revenue, WW $B
  • 4. Mobile Game Server architecture/requirements • Mobile Gaming Back-end is a very typical Web application • Frequent updates to game content - infrequent updates to game engine • Daily peak users 150,000 to 250,000 simultaneous users and 1-2 million daily • Need to scale-up/down around release and content pack releases • Stateless front-ends with memory caching and both SQL and no-SQL DB • 50TB per day of data - Increasing use of analytics on user experience, recorded game telemetry, replays, etc. Firewall Load Balancer NGNIX Game Server REDIS Memcache MySQL cluster PHP PHP PHP PHP PHP Object Storage
  • 5. Demo – Docker for Gaming
  • 7. • Our current Ops complexity • Partnership with IBM • Why we believe Docker can help • How we integrated Docker
  • 8. Scott Porter Cloudcell Server Lead EA Melbourne Firemonkeys scott@ea.com @sl_porter
  • 9. EA MELBOURNE FIREMONKEYS • Moble studio based in Melbourne, Australia • Formed in 2012 from two EA Mobile studios, Iron Monkey and Firemint • Focused on developing the highest quality mobile titles
  • 10. • Firemonkeys in house Client/Server Tech Stack • Mobile focused connected features • Originally developed by Firemint for Flight Control
  • 11. Integrated into all Firemonkeys live titles
  • 12. • Live Service Games • Bi monthly client releases • No downtime What do we do?
  • 13. • 13.5k Peak Requests/s • ~900M Requests/day • ~430k Peak Concurrent Players • 5M – 8M Daily Active Players • > 100 TB Binary Data • 170 Hosts (60 Live Hosts) • Team of 7 Current Scale
  • 14. • Baremetal Hosts • Nginx, PHP, Memcache, MySQL, Redis • Batched client requests, short-lived, stateless • Requests can touch any datastore Architecture
  • 15. Game Logic Data StorageLoad Balancing Architecture External Services StatsD / Diamond / Graphite / Graphana Object Storage Datadog
  • 16. • Automated Development / Manual Live process • In house database migration and code deployment system • Bash & rsync • Rollbacks are handled via code duplication Current Deployment Methodology
  • 17. • Asynchronous processes (workers) manually configured ( services, cron jobs ) • Brittle. • SaltStack is awesome! • But still slow, complex, no HA Current Orchestration Methodology
  • 18. • Moved binary data to SoftLayer Object Storage (Open Stack Swift) • Currently provision for Peak • Shard live environments per game title • Interested in transitioning to microservices Current Scalability
  • 19. • Improved deployments • Growing ecosystem • Scalable • Easy transition, run side by side with existing stack Why Docker?
  • 20. • Focused on the Game Logic Layer • Decomposition • Nginx • Admin • Application • Workers Packaging Cloudcell
  • 21. • Generic Containers • Run multiple containers, not processes • Tradeoff considerations Packaging Cloudcell
  • 22. Code Building Images Jenkins Docker Registry Base Images nginx php-fpm php-worker Built Images php-fpm-nfs-0001 php-fpm-nfs-0002 php-worker-a-1 nfs-0002.tar worker-a-1.tar nfs-0001.tar Dev Env Jenkins Application Code (SVN)
  • 23. • Fleet • Unit files per service • Nginx • Admin • Application • Each worker type Orchestration
  • 24. Load Testing Host Baremetal nginx Application Worker A Load Generation LTG LTG LTG LTG LTG LTG Host Docker Docker nginx php-fpm-nfs-0001 php-worker-a-1 etcd Fleet
  • 25. • Overall 5 – 10% overhead running Load Test with Docker Load Testing Results PLACEHOLDER NEED A REAL GRAPH HERE!
  • 26. • Docker Private Registry • Jenkins • Studio Jenkins ships code to build machine • Build machine builds and commits images to Registry • Generates Fleet configuration from templates • Executes Fleet deployments Deployments
  • 27. • Config Editor • Bridges Cloudcell Application deployments to environment state • Provides a simple UI for building, deployments, and state via Jenkins and Fleet Deployments
  • 28. Deployments Docker Build Machine Host Docker etcd Jenkins Docker Registry Config Editor nginx php-fpm-nfs-0001 php-worker-a-1 Fleet
  • 29. Docker enhanced architecture on SoftLayer CentOS 7 host Discovery/Config Fleet managed Docker services nginx- confd.service NGINX-confd container Orchestration Docker php- fpm@1.service ea/php- fpm:latest 1 php- fpm@2.service ea/php- fpm:latest 2 php-fpm-discovery @2.service php-worker- A@2.service ea/php- worker:latest 2 php-worker- B@1.service ea/php- worker:latest 1 php-worker-A-discovery @2.service php-worker-B-discovery @1.service php-worker- A@1.service ea/php- worker:latest 1 php-worker-A-discovery @1.service php-fpm-discovery @1.service Redis Externaldataservices MySQLMemcached LoadBalancer
  • 30. Configuration, orchestration and deployment host servi ce servi ce servi ce servi ce host servi ce servi ce servi ce servi ce host servi ce servi ce servi ce servi ce host servi ce servi ce servi ce servi ce Configure topology, maintain state. Build images with code, deploy to or scale target environments. Run containers in staging, load test, and production. Capture metrics.
  • 31. • Centralised Logging • Monitoring - processes inside containers Future Work
  • 32. — Scott Porter “Using IBM and Docker container solutions, we have been able to build a gaming platform that is massively scalable, highly performant and meets our deployment velocity needs.” 33
  • 33. Thank you! @cloudtroll hately@us.ibm.com Andrew Hately Scott Porter @sl_porter sporter@ea.com