1、LESSONS LEARNEDJuneData+AI SummitBuilding a Scalable Game Analytics Platform at NetflixINTRODUCTIONBhargavi ReddyData EngineerGames DSEMichael CuthbertSoftware EngineerGames DSENetflix Games DSEGAMES OVERVIEWMOBILE GAMESLaunched in late 2021iOS&Android100+gamesGAMES ON TVBeta launched in 2023TV&Web1
2、0+games in select regionsPhone as a controllerCOMPLEX DATA LANDSCAPE100+GamesMulti-platformMultiple game studiosMultiple data sourcesCustom game mechanics for every gameDIVERSE STAKEHOLDERSMembersStudio LeadershipGame DevelopersEARLY DAYS Focus on portfolio telemetryEarly collaboration with studios
3、that were data savvy and willing to experiment with usOne size fits all data modelsScrappy pipelinesWHY IN-GAME DATA?Because 8 year old me got stuck trying to kill a spider droid and almost gave up on my favorite game series of all time.Game Analytics Platform“A seamless modeling,logging and analyzi
4、ng tool.”DEVELOPERSDATADISCOVERYDEVELOPERSDATADISCOVERYGAMES EVENT SERVICEGES FEATURESEVENT MODELINGEasily model events in UI.CODE GENERATIONModeled events can then be converted to code.INTEGRATIONCode can be easily integrated into game code and then logged to Netflix.AUTOMATIONPipelines and Dashboa
5、rds are automatically generated for each and every event.GES WORKFLOWModelingIntegrationLoggingDashboardsGESARCHITECTUREDATA PROCESSING COMPONENTSONBOARDING Infrastructure as code solutionDYNAMIC ROUTERDynamically route eventsDESERIALIZATIONRouter app reads messagesThe Schema ID is constructed from
6、payload using message attributesMultiSubjectSchemaStore fetches the correct Avro schema for that schema ID.The message is deserialized into a GenericRecord using that schema.Flink processes the record and sends it to iceberg and druid downs