SlideShare a Scribd company logo
Skypilot
Thomas Shaw
Build Engineer, Demonware
(Activision)
Delivering Amazing
Game Experiences
through Containerized
Pipelines
Skypilot
1. Who are Demonware?
2. What is Skypilot?
3. Skypilot Principles
4. Workflows
5. Takeaways
Agenda
Who are Demonware?
We provide online services and
infrastructure for some of the world’s
most popular video game franchises.
DockerCon2017 - Skypilot
A brief history of Demonware time
2009(MW2)
Company size
Concurrent users
Size of our monolith
Number of services
Operational overhead
Gastric ulcer size
2013 (Ghosts) 2015 (BO3)
What was Skypilot ?
Goal : deliver and run game services for a
production title, Skylanders Imaginators.
How : through a containerised continuous
delivery pipeline.
Length : 9 months.
Deliver an amazing build, test and deploy pipeline that
aims to be so reliable, effective and easy to use that our
product and title departments will end up writing high
value gaming services without giving a second thought
to how they may reliably deliver these in record time.
Unlocking engineering agility allows us to deliver
“amazing value in record time”.
Mission Statement
Building, configuring, testing, deploying [and running]
services
• requires specialist knowledge
• is not safe (incomplete and/or unreliable automation)
• is not efficient
• is not consistent across environments
• does not allow us to work in small batch sizes
The problem
“Evolution of our
existing tools was
doomed to fail. What
we needed was a
revolution”
- Morgan Brickley, Dev Lead
This wasn’t a greenfield project. We had some legacy issues
and tech debt that we needed to address
• Services had always run on bare metal
• Monolithic codebase
• Internal tooling didn’t support container deployment
• Software choices made a decade ago no longer made sense
• Processes were inconsistent across teams
• Processes were immature
Some other challenges
We want to work in small batch sizes in order to
• reduce iteration time
• increase quality
• fulfil our mandate: unlock engineering agility
We also wanted to
• codify our deployments
• become lean
• reduce the entry-level to service deployment
The solution
From hero to zero
1 - Initial
2 - Repeatable
3 - Defined
4 - Managed
5 - Optimizing
Process
M
aturity
“What’s the smallest number of
steps, with the smallest number of
people and the smallest amount
of ceremony required to get new
code running on your servers?”
- Erik Kastner
Reliable
Simple
Fast
Skypilot Principles
Keeping it familiar and simple
● git
● docker
● docker-registry
● docker-compose
Introducing something new
● Jenkins
● Mesos/Marathon
● CoreOS
Databases
● MySQL in containers
● Data stored on GP2 EBS volumes
● Simple master/slave topology (no master
promotion)
● Slaves attempt sync on startup
Workflows
● Building service containers
● Adding configuration
● Deploying service containers
Developer
Developer
Developer
Centralized
Artifact Repo
Building Service Containers
Adding Configuration
Configuration
Shared Build Infrastructure
Deploying Service Containers
Configuration
Shared Build Infrastructure Production Infrastructure
Restricted
Production
Artifact Repo
So how did it work out?
Skylanders was successfully launched on
October 13th, 2016 without issue.
Efficiencies
Time to build a shared cluster days → 15 - 20 minutes
Time to deploy a title environment hours → 10 - 15 minutes
Time to recover from a full outage hours → 8 - 15 minutes
Time to recover from a database failure hours → 40 - 60 seconds
What next ?
● Provide a better UX for deployments
● Reduce new deployment time by
parallelizing the CD test stage
● Prepare for larger scale deployments
● Educate
“I was able to update a
service from scratch within
45 mins. This included setup
time, learning git and 30
mins of user error
debugging”
- Lisa Reilly, Project Manager
“With zero Ops
experience, I was able
to create a Production
cluster, on my own, in
minutes”
- Anar Rahimli, Skypilot customer
Thank You!
@docker #dockercon @demonware

More Related Content

PDF
Containerised Testing at Demonware : PyCon Ireland 2016
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
PPTX
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
PDF
Container orchestration from theory to practice
PDF
The pain and gains running Docker in live @Pipedrive
PDF
DockerCon EU 2015: Trading Bitcoin with Docker
PDF
Jenkins & IaC
PDF
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Containerised Testing at Demonware : PyCon Ireland 2016
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Container orchestration from theory to practice
The pain and gains running Docker in live @Pipedrive
DockerCon EU 2015: Trading Bitcoin with Docker
Jenkins & IaC
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose

What's hot (20)

PDF
Taking Docker to Production: What You Need to Know and Decide
PDF
Building Your Docker Swarm Tech Stack
PDF
Docker for Java Developers - Fabiane Nardon and Arun gupta
PDF
Troubleshooting tips from docker support engineers
PDF
DCEU 18: Building Your Development Pipeline
PDF
OpenStack Preso: DevOps on Hybrid Infrastructure
PPTX
Docker Meetup 08 03-2016
PDF
DockerCon EU 2015: Shipping Manifests, Bill of Lading and Docker Metadata and...
PDF
Docker for Ops - Scott Coulton, Puppet
PDF
Jenkins Days - Workshop - Let's Build a Pipeline - Los Angeles
PDF
Docker to the Rescue of an Ops Team
PDF
The Fairy Tale of the One Command Build Script
PDF
DCSF19 CMD and Conquer: Containerizing the Monolith
PDF
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
PDF
Docker for any type of workload and any IT Infrastructure
PDF
DCSF19 How To Build Your Containerization Strategy
PDF
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
PDF
Kubernetes laravel and kubernetes
PDF
How application performance requirements impacted the (r)evolution of the Doc...
PDF
Practical Design Patterns in Docker Networking
Taking Docker to Production: What You Need to Know and Decide
Building Your Docker Swarm Tech Stack
Docker for Java Developers - Fabiane Nardon and Arun gupta
Troubleshooting tips from docker support engineers
DCEU 18: Building Your Development Pipeline
OpenStack Preso: DevOps on Hybrid Infrastructure
Docker Meetup 08 03-2016
DockerCon EU 2015: Shipping Manifests, Bill of Lading and Docker Metadata and...
Docker for Ops - Scott Coulton, Puppet
Jenkins Days - Workshop - Let's Build a Pipeline - Los Angeles
Docker to the Rescue of an Ops Team
The Fairy Tale of the One Command Build Script
DCSF19 CMD and Conquer: Containerizing the Monolith
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
Docker for any type of workload and any IT Infrastructure
DCSF19 How To Build Your Containerization Strategy
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Kubernetes laravel and kubernetes
How application performance requirements impacted the (r)evolution of the Doc...
Practical Design Patterns in Docker Networking
Ad

Similar to DockerCon2017 - Skypilot (20)

PDF
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
PDF
DevOpsDays Galway 2017 - Skypilot Project
PPTX
SkyBase - a Devops Platform for Hybrid Cloud
PPT
Aeroflite Capabilities Brochure: Aerospace Systems Engineering
PPTX
Ep keyote slides
PPTX
Ep keyote slides
PDF
DevOps and BigData Analytics
PDF
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
PDF
Containers on AWS
PDF
StackEngine Demo - Docker Austin
PDF
DevOps Pragmatic Overview
PPTX
DockerCon SF 2015: Cultural Change using Docker
PPTX
Cultural Change using Docker (DockerCon 2015)
PPTX
GOTO Berlin 2016
PDF
Internet of Aviation
PPTX
Gaming in the Cloud: How Gearbox Software Uses Amazon Web Services to Reach M...
PPTX
Introduction to testing in Cloud / AWS
PDF
GDG Cloud Southlake #25: Jacek Ostrowski & David Browne: Sabre's Journey to ...
PDF
Cloud Native Future
PDF
Optimize your CI/CD with GitLab and AWS
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
DevOpsDays Galway 2017 - Skypilot Project
SkyBase - a Devops Platform for Hybrid Cloud
Aeroflite Capabilities Brochure: Aerospace Systems Engineering
Ep keyote slides
Ep keyote slides
DevOps and BigData Analytics
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers on AWS
StackEngine Demo - Docker Austin
DevOps Pragmatic Overview
DockerCon SF 2015: Cultural Change using Docker
Cultural Change using Docker (DockerCon 2015)
GOTO Berlin 2016
Internet of Aviation
Gaming in the Cloud: How Gearbox Software Uses Amazon Web Services to Reach M...
Introduction to testing in Cloud / AWS
GDG Cloud Southlake #25: Jacek Ostrowski & David Browne: Sabre's Journey to ...
Cloud Native Future
Optimize your CI/CD with GitLab and AWS
Ad

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
A Presentation on Touch Screen Technology
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Encapsulation theory and applications.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
1. Introduction to Computer Programming.pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Getting Started with Data Integration: FME Form 101
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
August Patch Tuesday
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Mushroom cultivation and it's methods.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Enhancing emotion recognition model for a student engagement use case through...
TLE Review Electricity (Electricity).pptx
A Presentation on Touch Screen Technology
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Group 1 Presentation -Planning and Decision Making .pptx
Encapsulation theory and applications.pdf
Approach and Philosophy of On baking technology
1. Introduction to Computer Programming.pptx
Hindi spoken digit analysis for native and non-native speakers
A comparative analysis of optical character recognition models for extracting...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
WOOl fibre morphology and structure.pdf for textiles
Getting Started with Data Integration: FME Form 101
OMC Textile Division Presentation 2021.pptx
August Patch Tuesday
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Mushroom cultivation and it's methods.pdf
NewMind AI Weekly Chronicles - August'25-Week II

DockerCon2017 - Skypilot

  • 1. Skypilot Thomas Shaw Build Engineer, Demonware (Activision)
  • 2. Delivering Amazing Game Experiences through Containerized Pipelines Skypilot
  • 3. 1. Who are Demonware? 2. What is Skypilot? 3. Skypilot Principles 4. Workflows 5. Takeaways Agenda
  • 4. Who are Demonware? We provide online services and infrastructure for some of the world’s most popular video game franchises.
  • 6. A brief history of Demonware time 2009(MW2) Company size Concurrent users Size of our monolith Number of services Operational overhead Gastric ulcer size 2013 (Ghosts) 2015 (BO3)
  • 7. What was Skypilot ? Goal : deliver and run game services for a production title, Skylanders Imaginators. How : through a containerised continuous delivery pipeline. Length : 9 months.
  • 8. Deliver an amazing build, test and deploy pipeline that aims to be so reliable, effective and easy to use that our product and title departments will end up writing high value gaming services without giving a second thought to how they may reliably deliver these in record time. Unlocking engineering agility allows us to deliver “amazing value in record time”. Mission Statement
  • 9. Building, configuring, testing, deploying [and running] services • requires specialist knowledge • is not safe (incomplete and/or unreliable automation) • is not efficient • is not consistent across environments • does not allow us to work in small batch sizes The problem
  • 10. “Evolution of our existing tools was doomed to fail. What we needed was a revolution” - Morgan Brickley, Dev Lead
  • 11. This wasn’t a greenfield project. We had some legacy issues and tech debt that we needed to address • Services had always run on bare metal • Monolithic codebase • Internal tooling didn’t support container deployment • Software choices made a decade ago no longer made sense • Processes were inconsistent across teams • Processes were immature Some other challenges
  • 12. We want to work in small batch sizes in order to • reduce iteration time • increase quality • fulfil our mandate: unlock engineering agility We also wanted to • codify our deployments • become lean • reduce the entry-level to service deployment The solution
  • 13. From hero to zero 1 - Initial 2 - Repeatable 3 - Defined 4 - Managed 5 - Optimizing Process M aturity
  • 14. “What’s the smallest number of steps, with the smallest number of people and the smallest amount of ceremony required to get new code running on your servers?” - Erik Kastner
  • 16. Keeping it familiar and simple ● git ● docker ● docker-registry ● docker-compose
  • 17. Introducing something new ● Jenkins ● Mesos/Marathon ● CoreOS
  • 18. Databases ● MySQL in containers ● Data stored on GP2 EBS volumes ● Simple master/slave topology (no master promotion) ● Slaves attempt sync on startup
  • 19. Workflows ● Building service containers ● Adding configuration ● Deploying service containers
  • 22. Deploying Service Containers Configuration Shared Build Infrastructure Production Infrastructure Restricted Production Artifact Repo
  • 23. So how did it work out? Skylanders was successfully launched on October 13th, 2016 without issue.
  • 24. Efficiencies Time to build a shared cluster days → 15 - 20 minutes Time to deploy a title environment hours → 10 - 15 minutes Time to recover from a full outage hours → 8 - 15 minutes Time to recover from a database failure hours → 40 - 60 seconds
  • 25. What next ? ● Provide a better UX for deployments ● Reduce new deployment time by parallelizing the CD test stage ● Prepare for larger scale deployments ● Educate
  • 26. “I was able to update a service from scratch within 45 mins. This included setup time, learning git and 30 mins of user error debugging” - Lisa Reilly, Project Manager
  • 27. “With zero Ops experience, I was able to create a Production cluster, on my own, in minutes” - Anar Rahimli, Skypilot customer