Taking the next hot mobile video game live with Docker and IBM SoftLayer. Scott Porter, Daniel Krook, Shaun Murakami

Similar documents
Requirements Change Management and Artifact Workflow. DOP-1027 DOORS Next Generation

IBM Watson IoT Platform Analytics Real-Time Insights. Wayne Riley

Transformation Journey from Multiple Document Management Systems to IBM ECM Products DCP-2535

No CRM, No FTP, No Problem?

ADY-1727: IBM Watson Analytics and Cognos Business Intelligence for Line of Business Smart Data Discovery

Cryptographic Keys Life Cycle Management for your Company

The Weakest Link: Ethically Hacking the Connected Building. Paul Ionescu IBM X-Force Ethical Hacking Team

B2B Omni-channel Marketing with IBM Marketing Cloud MCL-1825

MNB-5587 : imobile by ICICI Bank - The First Foray into Servicing Customers on Mobile by Any Bank in India

JOURNEY DESIGNER: Transforming how Marketing Plans Customer Experiences

BBP-2665 IBM BPM Process Modeling Experience on the Web

How IBM Bluemix and Watson Helps Zurich to Improve Communities' Flood Resilience

YS4331 Leverage zos and Cloud Storage for Backup/Archive Efficiency and Cost Reductions. Eddie Lin IBM STSM, DS8000 Architecture

Bring Your Own Client with IBM mail support for Microsoft Outlook Andy Yiu, Senior Product Manager Nathan Barry, Senior Software Engineer

Enterprise Java Monitoring on z/os: Discover, Alert, Optimize. Chris Walker IBM

Provably Secure Data Protection in the Cloud. ICDES (IBM Cloud Data Encryption Services)

Soar into the API Economy by Moving Services and Metadata. from WSRR to IBM API Connect

Deliverability 101. #amplify International Business Machines Corporation

Help!! I need people with z skills!! Christy Schroeder, WW z Skills Client Leader Academic Initiative Interconnect Session 2679 February 24, 2016

Deliverability 201. #amplify International Business Machines Corporation

Adopting IBM DevOps and the Scaled Agile Framework. Subtitle here

YSS-1841 IBM Cloud Storage Options. Tony Pearson IBM Master Inventor and Senior Software Engineer

Keynote: Cyber Intelligence and Cyber Security Overview

Java and Other Languages

Speeding Cloud Foundry with Open Source OpenPOWER Hardware

L'automazione dei test come elemento chiave delle pratiche DevOps

IBM Integration Bus & Transformation Extender: One Platform for Internal & External Integration HBB-2467

Getting Started with IBM Bluemix: Web Application Hosting Scenario on Java Liberty IBM Redbooks Solution Guide

IBM FlashSystem Cloud Performance and Capability

What new with Informix Software as a Service and Bluemix? Brian Hughes IBM

z/os V1R11 Communications Server system management and monitoring

Database lifecycle management

Deploying a private database cloud on z Systems

Creating Applications in Bluemix using the Microservices Approach IBM Redbooks Solution Guide

DataPower z/os crypto integration

Communications Server for Linux

Easily deploy and move enterprise applications in the cloud

IBM Tivoli Service Request Manager 7.1

IBM Software Information Management Creating an Integrated, Optimized, and Secure Enterprise Data Platform:

Effective Storage Management for Cloud Computing

IBM Tivoli Storage Manager for Virtual Environments

Reduce your data storage footprint and tame the information explosion

Leveraging WebSphere Commerce for Search Engine Optimization (SEO)

Focus on the business, not the business of data warehousing!

IBM PureApplication System for IBM WebSphere Application Server workloads

IBM WebSphere Data Interchange V3.3

IBM BA Software Practice Accelerator Program Leveraging IBM s Technical Strength

IBM Tivoli Endpoint Manager for Lifecycle Management

IBM Research Day: Containers Changing the Game in Cloud. Gosia Steinder Distinguished Research Staff Member

Building the perfect cloud with IBM System z

CS z/os Application Enhancements: Introduction to Advanced Encryption Standards (AES)

Tivoli Endpoint Manager for Configuration Management. User s Guide

IBM Enterprise Marketing Management. Domain Name Options for

Big Data Analytics with IBM Cognos BI Dynamic Query IBM Redbooks Solution Guide

Platform as a Service: The IBM point of view

IBM Cognos Controller Version New Features Guide

IBM Configuring Rational Insight and later for Rational Asset Manager

Strengthen security with intelligent identity and access management

IBM Cognos Controller Version New Features Guide

Name: Srinivasan Govindaraj Title: Big Data Predictive Analytics

IBM Maximo Asset Management Essentials

Optimize workloads to achieve success with cloud and big data

IBM SmartCloud for Service Providers

Consolidated security management for mainframe clouds

6 Things To Think About Before Implementing BYOD

Effective storage management and data protection for cloud computing

Shifting Enterprise Development into the Fast Lane

Integrating ERP and CRM Applications with IBM WebSphere Cast Iron IBM Redbooks Solution Guide

WebSphere Commerce V7.0

Cloud-based web hosting consolidation with an IBM Drupal solution

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

IBM Tivoli Netcool Configuration Manager

IBM Software Cloud service delivery and management

Business Process Management IBM Business Process Manager V7.5

IBM Tivoli Endpoint Manager for Lifecycle Management

Tivoli Automation for Proactive Integrated Service Management

Lunch and Learn: BlueMix to Mainframe making development accessible in the

IBM Security QRadar Version (MR1) Checking the Integrity of Event and Flow Logs Technical Note

Empowering intelligent utility networks with visibility and control

Big data management with IBM General Parallel File System

Taking control of the virtual image lifecycle process

IBM s Cloud Platform : IBM Bluemix

White paper December Addressing single sign-on inside, outside, and between organizations

Advanced application delivery over software defined networks

Tivoli Endpoint Manager for Security and Compliance Analytics. Setup Guide

Safeguarding the cloud with IBM Dynamic Cloud Security

IBM Software Group. SW5706 JVM Tools IBM Corporation 4.0. This presentation will act as an introduction to JVM tools.

Addressing IT governance, risk and compliance (GRC) to meet regulatory requirements and reduce operational risk in financial services organizations

IBM Tivoli Endpoint Manager for Security and Compliance

Maximo Business Intelligence Reporting Roadmap Washington DC Users Group

IBM Endpoint Manager for Core Protection

C05 Discovery of Enterprise zsystems Assets for API Management

Premier. Helping healthcare providers deliver the best possible care to their patients. Smart is...

IBM Tivoli Network Manager Best Practices Session

IBM z13 for Mobile Applications

BLACKICE ERA and PureData System for Analytics

Plan for Success with a Hybrid Cloud! Thanks to IBM Power Systems OpenStack SoftLayer and UrbanCode

Version 8.2. Tivoli Endpoint Manager for Asset Discovery User's Guide

Understanding your customer s lifecycle journey

IBM PureFlex System. The infrastructure system with integrated expertise

Transcription:

Taking the next hot mobile video game live with Docker and IBM SoftLayer Scott Porter, Daniel Krook, Shaun Murakami

Agenda Mobile video gaming on the cloud The video gaming market in 2016 Typical mobile video gaming architecture EA Firemonkeys workload characteristics Mobile video gaming workload profile and pre-cloud architecture Challenges and opportunities to leverage a new open cloud architecture EA Firemonkeys cloud solution deep dive Containerizing application components with Docker Creating a DevOps pipeline for application deployment orchestration Performing service management and cluster configuration Improvements in performance, flexibility, and speed to market 2

About us Scott Porter Cloudcell Server Lead, Electronic Arts - Firemonkeys @sl_porter Daniel Krook Senior Software Engineer, Cloud and Open Source Technologies, IBM @DanielKrook Shaun Murakami Senior Software Engineer, Cloud and Open Source Technologies, IBM @stmuraka 3

Mobile video gaming on the cloud

There are over a billion video game players worldwide NORTH AMERICA LATIN AMERICA EUROPE ASIA 195 M 182 M 553 M 817 M 41% 16% 43% 17% 46% 37% 33% 24% 43% 51% 44% 5% Mobile PC Console 2015 est. Revenues Consist of Software Gaming Market

Mobile gaming is powering the next wave of growth Mobile Gaming Revenue, WW $B Mobile games industry has grown 10x in less than a decade

Typical mobile game server architectures Mobile gaming backends are very typical web applications Frequent updates to game content infrequent updates to game engine Daily peak users of millions hundreds of thousands simultaneously Need to scale-up/down around release and content pack releases Stateless frontends with memory caching and both SQL and NoSQL databases Growing use of analytics on user experience, recorded game telemetry, replays Firewall Load balancer NGINX Game server PHP PHP PHP PHP PHP Object storage Redis Memcached MySQL cluster

EA Firemonkeys workload characteristics

FIREMONKEYS

EA MELBOURNE FIREMONKEYS EA Mobile 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

What do we do? Mobile free-to-play live service games Bi monthly client releases often with new connected features Global market means no downtime, ever

What is Cloudcell? Firemonkeys in house Client/Server Tech Stack Mobile focused connected features Originally developed by Firemint for Flight Control

Cloudcell is integrated into all Firemonkeys live titles

We handle almost a billion requests a day 13.5k Peak Requests Per Second ~ 900M Requests Per Day ~ 100s of Thousands of Peak Concurrent Players Scalable to Millions of Daily Active Players > 100 TB Player Game Data > 170 Hosts (60 Live Hosts) Team of 8

Firemonkeys Mobile Video Gaming Architecture Load Balancing Object Storage Game Logic StatsD External Services Data Storage

But there are several opportunities to improve operations Deployments are manual Orchestration is brittle, even with SaltStack For scalability we shard by title and provision for the peak expected load on new game features

Adopting Docker offers us several benefits Growing ecosystem with automated solutions Run anywhere simplifies scaling with VMs Easy transition, run side by side with existing stack and tightly manage risk

EA Firemonkeys cloud solution deep dive

Packaging Cloudcell as Docker containers: Approach Focused on the Game Logic Layer Decomposition to MVP Game Logic Web Services (admin, database) Workers NGINX

Packaging Cloudcell as Docker containers: Decisions Generic containers helped simplify workers Run multiple containers - not processes - for simplicity, load distribution Patching live trade-off between speed and traceability Orchestration limited to host

The new Docker enhanced deployment on SoftLayer CentOS 7 host fleet managed Docker services Load balancer 80 80 9000 172.17.1.xx nginx-confd.service NGINX-confd container php-fpm@1.service ea/phpfpm:latest 1 php-fpm-discovery @1.service php-worker-a@1.service ea/php-worker:latest 1 php-worker-a@2.service ea/php-worker:latest 2 php-worker-a-discovery @1.service php-worker-a-discovery @2.service MySQL Redis External data services 172.17.1.xx 9000 php-fpm@2.service ea/phpfpm:latest 2 php-fpm-discovery @2.service php-worker-b@1.service ea/php-worker:latest 1 php-worker-b-discovery @1.service Memcached Orchestration Discovery/Config Docker Native host services

Orchestration is managed using fleet (a distributed init system) Unit files per service type NGINX Admin Game logic Each worker Each service has a sidekick discovery process

Service management: Request, registration, and discovery fleet manages the lifecycle Of the Docker containers Service request Docker container Sidekick process monitors/ registers services PHP-FPM Sidekick PHP-Worker Sidekick PHP-Admin Sidekick confd etcd holds service registry and configuration confd Configures NGINX dynamically based on service discovery results Service registration NGINX confd Service discovery

A pipeline builds releases and packages them as container images Application Code (SVN) nfs-0001.tar nfs-0002.tar nginx php-fpm php-fpm-nfs-0001 php-fpm-nfs-0002 Jenkins worker-a-1.tar php-worker php-worker-a-1 Dev Env Code Base Images Built Images Docker Registry Jenkins

Jenkins is used to execute build, deploy, and scale jobs 1. Jenkins ships code to build machine 2. Build machine builds and commits images to Docker private registry 3. Generates fleet configuration from templates 4. Executes fleet deployments 5. Executes scale requests

A Configuration Editor is used to manage and track deployments Simple management UI for Jenkins and fleet APIs Maps Cloudcell deployments to the state of each environment Maintains history of code promotions, status changes, error messages

Configuration, orchestration, and deployment pipeline Configure topology, maintain state. Run containers in staging, load test, and production. Capture metrics. host srv Build images with code, deploy to or scale target environments. host srv host srv host srv

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. 28

What s next Continue to migrate to microservices Need container-centric monitoring for hundreds of containers 29

Summary Mobile video gaming on the cloud The video gaming market in 2016 Typical mobile video gaming architecture EA Firemonkeys workload characteristics Mobile video gaming workload profile and pre-cloud architecture Challenges and opportunities to leverage a new open cloud architecture EA Firemonkeys cloud solution deep dive Containerizing application components with Docker Creating a DevOps pipeline for application deployment orchestration Performing service management and cluster configuration Improvements in performance, flexibility, and speed to market 30

Thank you Scott Porter Cloudcell Server Lead, Electronic Arts / Firemonkeys @sl_porter Daniel Krook Senior Software Engineer, Cloud and Open Source Technologies, IBM @DanielKrook Shaun Murakami Senior Software Engineer, Cloud and Open Source Technologies, IBM @stmuraka 31

Notices and disclaimers Copyright 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law 32

Notices and disclaimers con t. Information concerning non-ibm products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-ibm products. Questions on the capabilities of non-ibm products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera, Bluemix, Blueworks Live, CICS, Clearcase, Cognos, DOORS, Emptoris, Enterprise Document Management System, FASP, FileNet, Global Business Services, Global Technology Services, IBM ExperienceOne, IBM SmartCloud, IBM Social Business, Information on Demand, ILOG, Maximo, MQIntegrator, MQSeries, Netcool, OMEGAMON, OpenPower, PureAnalytics, PureApplication, purecluster, PureCoverage, PureData, PureExperience, PureFlex, purequery, purescale, PureSystems, QRadar, Rational, Rhapsody, Smarter Commerce, SoDA, SPSS, Sterling Commerce, StoredIQ, Tealeaf, Tivoli, Trusteer, Unica, urban{code}, Watson, WebSphere, Worklight, X-Force and System z Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml. 33

Thank You Your Feedback is Important! Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.