Top Banner
56

B 2 line game cloud - our personal ec2

Apr 16, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: B 2 line game cloud - our personal ec2
Page 2: B 2 line game cloud - our personal ec2

Currently on the Cloud

Page 3: B 2 line game cloud - our personal ec2

1 Our situation in 2014 2 How we improved 3 Sweet things 4 More sweet things 5 Future

Page 4: B 2 line game cloud - our personal ec2

1 Our situation in 2014 2 How we improved 3 Sweet things 4 More sweet things 5 Future

Page 5: B 2 line game cloud - our personal ec2

Our situation in 2014

1st gen “HSP” – (2014) from cybercafe/漫画木さ/PC방 platform

2nd gen ECDH-based key exchange

Platform Billing/AAA/Monitoring, etc. & Game servers

“LGC” – (cloud release) 3rd gen: “Trident” – (current)

Page 6: B 2 line game cloud - our personal ec2

Globalization Issues abroad

Loading… Loading… L o ad i n g … L o a d i n g …

Fail !

Page 7: B 2 line game cloud - our personal ec2

Process

Dev/QA/Sandbox/REAL…

Get VM

Get L4 binding

ACLs/storage, etc.

From hours to days…

Page 8: B 2 line game cloud - our personal ec2

Thus, the Game Cloud project began…

Page 9: B 2 line game cloud - our personal ec2

1 Our situation in 2014 2 How we improved 3 Sweet things 4 More sweet things 5 Future

Page 10: B 2 line game cloud - our personal ec2

Global

In our case GSLB (Global Server Load Balancing)

HAProxy instead of hardware L4 Multi-team effort

client, server, cloud We get

more flexibility less latency

Page 11: B 2 line game cloud - our personal ec2

LINE Global POP

New York Tokyo

Seoul

HK

Singapole

Beijing Frankfurt

a a

Page 12: B 2 line game cloud - our personal ec2

Network layer control High latency Fit for cloud

Global Testing in Thailand

TH KR

GSLB

TH SG KR

HAProxy

500

1000

1500

2 12 20 6 16

Page 13: B 2 line game cloud - our personal ec2

Process

Dev

Ops Government

The structure of your organization affects the structure of your software. And vice-versa!

DevOps Small Startup CHOOSE

Page 14: B 2 line game cloud - our personal ec2

Process

Progressive / Easy, simple

Requirements for our new platform : We have many third parties and technology stacks involved...

Etc.

Page 15: B 2 line game cloud - our personal ec2

Process For ourselves

simple reliable future proof

Page 16: B 2 line game cloud - our personal ec2

Process Why not…

Docker Swarm or CoreOS

Mesos Kubernetes

Page 17: B 2 line game cloud - our personal ec2
Page 18: B 2 line game cloud - our personal ec2

Process

KEEP THINGS SIMPLE AND RELIABLE!

For distributed systems, minimize coordination

A good paper: https://blog.acolyer.org/2016/01/19/dcft/

• Polling • 1way dataflow • Idempotency • Commutativity • l imited trust

Page 19: B 2 line game cloud - our personal ec2

LGC Story

Games planned for release were suddenly canceled but we needed to show results!

Strong “sales” efforts to release other games on the LGC platform

Page 20: B 2 line game cloud - our personal ec2
Page 21: B 2 line game cloud - our personal ec2

Putting Out Fires

The release was a success,followed by a quick scaling-up, and then our first fires…

TECHNICAL

Riak fire : the system works with Riak down

OE fire: the system works with OE down

Hardware and conf fires (TDI! Soon to come!)

Full container reboot improved our design through limited trust

Page 22: B 2 line game cloud - our personal ec2
Page 23: B 2 line game cloud - our personal ec2

1 Our situation in 2014 2 How we improved 3 Sweet things 4 More sweet things 5 Future

Page 24: B 2 line game cloud - our personal ec2
Page 25: B 2 line game cloud - our personal ec2

Domain HAP

Launch service

Configure/ load balance

Expose ports

Bind URL

In one click!

Page 26: B 2 line game cloud - our personal ec2

Monitoring

Page 27: B 2 line game cloud - our personal ec2

1 Our situation in 2014 2 How we improved 3 Sweet things 4 More sweet things 5 Future

Page 28: B 2 line game cloud - our personal ec2
Page 29: B 2 line game cloud - our personal ec2

Gearbox Auto Scaling System

Page 30: B 2 line game cloud - our personal ec2

High availability Low cost

Why Do We Need It?

Page 31: B 2 line game cloud - our personal ec2
Page 32: B 2 line game cloud - our personal ec2

How Does It Work?

Page 33: B 2 line game cloud - our personal ec2

How Did We Build it?

Data Collector

Monitoring API

Predicator

Metrics

Raw Metr ics

Scaler

States

Game Cloud API

Excute Scaling Gearbox

Page 34: B 2 line game cloud - our personal ec2

Challenges

Complex query Plenty of metrics

records millions of records

per day

Scalability of the auto-scaling system itself

Page 35: B 2 line game cloud - our personal ec2

Solutions Data Collector

Monitor ing API

Predicator

Metr ics Metr ics

Scaler

Sta tes

Game Cloud API

Excu te Sca l ing

Gearbox

Mod

ule

Sto

rage

ElasticSearch Admin Site

St ra tegy

Sca ler Log

Metr ics 1 .St ra t egy 2 .Metr ics

{ }

Pred ica to r Log

1 .St ra t egy 2 .Sca ler Log

Page 36: B 2 line game cloud - our personal ec2

Knife Admin Site

Page 37: B 2 line game cloud - our personal ec2

Deploying a New Service

Page 38: B 2 line game cloud - our personal ec2

Upgrade

Page 39: B 2 line game cloud - our personal ec2

Configuring the Auto-Scaling Policy

Page 40: B 2 line game cloud - our personal ec2

Back to Jojo What’s coming next!

Page 41: B 2 line game cloud - our personal ec2

1 Our situation in 2014 2 How we improved 3 Sweet things 4 More sweet things 5 Future

Page 42: B 2 line game cloud - our personal ec2

Future

QUIC

SDN ACL, IP by container, VLAN etc.

Cloud storage

TDI

Distributed GC – link paper

DCTCP

Image GC

Page 43: B 2 line game cloud - our personal ec2

Future

UX

Helpers/presets

Speed

Doc/tests/guides…

Reliability

Page 44: B 2 line game cloud - our personal ec2

QUIC Quick UDP Internet Connections

Page 45: B 2 line game cloud - our personal ec2

Cloud Storage

Page 46: B 2 line game cloud - our personal ec2

SDN- Software-Defined Networking

Container specific IP ACLs VLANs

Page 47: B 2 line game cloud - our personal ec2

TDI- Test-Driven Infrastructure

hardware OS configuration

images backup/ restore

Automated testing for

Etc.

firmware, version, etc.

Page 48: B 2 line game cloud - our personal ec2

Distributed GC

Max

Avg.GC pause

http://arxiv.org/pdf/1504.02578.pdf

Median

Std.Dev.

Mean

7.847

0.0

2.296

0.579

2.312

GC off

7.743

12.243

2.294

0.582

2.311

Blade

164.206

12.339

2.297

3.395

2.403

GC on

Page 49: B 2 line game cloud - our personal ec2

Added in Linux 3.18 https://kernelnewbies.org/

Linux_3.18 http://simula.stanford.edu/~alizade/Site/DCTCP.html

DCTCP- Data Center TCP

- high burst tolerance - low latency - high throughput

http://simula.stanford.edu/~alizade/Site/DCTCP.html

Page 50: B 2 line game cloud - our personal ec2

Distributed GC Because we generate tons of Docker images

Page 51: B 2 line game cloud - our personal ec2

And more and more…

Page 52: B 2 line game cloud - our personal ec2
Page 53: B 2 line game cloud - our personal ec2
Page 54: B 2 line game cloud - our personal ec2

• AP • Optional CP • Index/search • CRDT • Multiple backends • User ACL support

RIAK/Choose a Safe and Simple Friend Make a deliberate choice of consistency model

SQL

NoSQL

But actually…

With the authorization of Kingsbury Kyle (Aphyr)

Page 55: B 2 line game cloud - our personal ec2

DataScript / Maintain Queries

Page 56: B 2 line game cloud - our personal ec2