Cultural Change using Docker (DockerCon 2015)

Preview:

Citation preview

Cultural Change using Docker Dockerizing Demonware

@tomwillfixit #dockercon

Who am I?

• Build Engineer at Demonware (Activision)

• Originally from a small town called Carrickfergus in Northern Ireland. Moved to Dublin in 2002.

• Previous roles include :- QA engineer at Sun Microsystems

- Configuration Manager at Citigroup

- Automation Engineer at Oracle

Who are Demonware?

• Demonware provide online services and infrastructure for some of the world’s most popular video game franchises.

Mission statement

"To enable the creation of great online experiences for gamers by being the most fearless and reliable provider of online services in the gaming industry."

Demonware facts

• Founded in 2003 by Dylan Collins and Sean Blanchfield

• Acquired by Activision Blizzard in 2007

• Offices in Dublin (Ireland), Vancouver and Shanghai

• We have created services for and supported over 100 games since 2004.

Demonware by the numbers

• ~200 employees• 469 million registered gamers• 4800 servers• 132 billion API calls per month• 15.1 million requests per second at peak• 1.2+ million metrics a minute• 25 Million Database queries per second

Most popular game services

• Matchmaking

• Leaderboards

• Storage

• Identity Management

Tech Stack

Changes in the gaming industry

• Gamers want more content, more often

• Online Public Betas are becoming more common

• Multiple Triple A title releases per year

• Increasingly complex services

Changes in the gaming industry

• Number of platforms has increased and mobile gaming market is expanding

Growth

Challenges facing Demonware

• Shorter development cycles

• Increasingly complex services

• Supporting more platforms

• Longer term support cycle per title

• More innovation to meet gamer diversity

Engineering culture at Demonware

Core values

• Passion

• Diversity

• Honesty

• Fun

Engineering culture at Demonware

• Open source/Commercial/Internal

• Fail fast, learn faster

• Missing deadlines is not an option

• Automate everything

• Build the right software abstractions

Engineering culture at Demonware

• Maintain a respectful work environment

• Invest in automated testing

• Build a culture of learning and continuous improvement

• Hire the best

• MGN (Make GO Now)

Introducing Docker into Demonware

• Docker demos

• One to One tuition

• Meetups and Bootcamps

• Docker-focused sprints

• Swag giveaways

Why Docker?

• What was it about Docker? - Easy to use- Low entry level- Solved some issues overnight- Encourages sharing and responsibility- Honest- Polarizing- Standard interface to diverse applications

How we use Docker

• Introduced by the Build Engineering team in September 2013 as a solution to "Dependency Hell".

• Currently used for :- Continuous Integration Pipelines- Development of customer-facing services- Development and deployment of internal

tooling

2013

2015

8 Steps towards change

8 Steps towards change

• Started in September 2013

• Based on Kotters 8 Step process for leading change

• How to introduce a disruptive technology into Demonware ... without disruption??

1: Create a sense of urgency

• Highlight current flaws in CI

• Paint a vision of the future

• Stress the importance of core values

• Avoid selling Snake Oil

2: Building a coalition

• Superstars

• Management

• Developers

• Ops

3: Forming a Strategic Initiative

• Short and long term plan

• Selling Docker across Demonware

• Freedom of choice

• "Cool" and "Fun" are not plans

4: Enlist an army

• Encourage the coalition to standardize on Docker

• Provide early access to the latest and greatest Docker releases

• Demonstrate tooling in the Docker Eco-system

• Organize Meetups, Bootcamps, Hackathons

5: Remove barriers

• Provide pre-baked VMs to Developers

• Docker Registry set up

• Build Engineering tools Dockerised

• Simplify Docker integration with CI (Bamboo)

6: Generate short term wins

• Isolated builds

• Parallel Unit Testing

• Share core tooling

• Greater portability

7: Sustain and Accelerate

• Demonware are currently at this stage

• Increasing use cases for Docker

• Shorter feedback loops for developers

• Rapid prototyping and cross functional demos

• Still some convincing required

8: Institute change

• This is where Cultural Change really starts

• Reiterate the benefits

• Ensure successes are visible and

communicated

• Reinforce the culture in new hires

Summary

• Changing your toolset is easy, mindset not so much

• Docker can be used to support and reinforce core values

• Docker gives us the tools to scale while remaining technically diverse

Thank youThomas Shaw

@tomwillfixit #dockercon

Recommended