Slide 1

Slide 1 text

MongoDB'on'Azure' Pierre'Couzy,'Microso4'France'

Slide 2

Slide 2 text

Le'contexte' 2010$ 20'Employees' €1,5m'revenue' 1'game'in'running'mode' 1'game'in'development' Installa+ons:$50M$ MAU:$5M$ DAU:$1M$ 2012$ 80'Employees' €5m'revenue'FYTD' 2'games'in'running'mode' 4'games'in'development' 3'offices:'Paris,'Madrid,'Berlin'

Slide 3

Slide 3 text

Croissance'iniLale'du'jeu'

Slide 4

Slide 4 text

Les'jeux'chez'Kobojo' 2009':'Hébergement'classique'low'cost'(Goobox)' –  Difficulté'dans'la'gesLon'des'pics' 2010Y11':' –  SorLe'de'PyramidVille' •  Croissance'très'forte,'très'rapide' –  IAAS'sur'Amazon'(PyramidVille)' 2012':' –  PAAS'sur'Azure'(AtlanLs)' –  IAAS'sur'Azure'

Slide 5

Slide 5 text

Architecture'cloud'classique' ' ' Service' LB$ Internet' Web'Site' (ASPX,'ASMX,'WCF)' Web'Site' (ASPX,'ASMX,'WCF)' Appli'Web' Worker' Service' Backend' LB$ Data' Stockage' Blobs' Navigateur,' Tablece,' Appli,'…'

Slide 6

Slide 6 text

Architecture'simplifiée' .NET'+'Flash' NOSQL'' SQL'Server' LB' Supervision'

Slide 7

Slide 7 text

Principales'contraintes' mode'KV'Y>'mode'document' '' ' ' 'monolithique'Y>'shardé' ' 'RaLo'écriture/lecture'>'1' ' ' 'Montée'en'charge'rapide'

Slide 8

Slide 8 text

Découper'la'charge' •  Main' Game'data' •  VolaLle' Social'data' •  Locks…'

Slide 9

Slide 9 text

Disques'persistents'Azure'

Slide 10

Slide 10 text

Sharding'

Slide 11

Slide 11 text

Gérer'le'load'balancer'd’Azure'

Slide 12

Slide 12 text

Le'coût'des'replicasets' Routing(And(Config(Role Instance(with(Azure( Drive Instance ReplicaSetRole1_IN_0 ReplicaSetRole1_IN_1 ReplicaSetRole1_IN_2 ReplicaSetRole2_IN_0 ReplicaSetRole2_IN_1 ReplicaSetRole2_IN_2 RoutingConfigRole_IN_1 RoutingConfigRole_IN_0 RoutingConfigRole_IN_2

Slide 13

Slide 13 text

Sharding'sans'replicaset' Routing(And(Config(Role Instance(with(Azure( Drive RoutingConfigRole_IN_1 RoutingConfigRole_IN_0 RoutingConfigRole_IN_2 Shard002 Server(A Server(B Server(C Server(D Shard001 Azure(Table Intance(Ip,(ShardName,(DrivePath Ip(A),(Shard001,(Shard001.vhd Ip(B),(Shard002,(Shard002.vhd

Slide 14

Slide 14 text

Monitoring'

Slide 15

Slide 15 text

Monitoring'' •  ULlisaLon'du'Service'Bus'Azure' •  Déport'Offsite'des'logs' •  ExploitaLon'dans'Graylog2'

Slide 16

Slide 16 text

Fine'tuning' •  GesLon'des'chunks' •  GesLon'des'tailles'de'machine' •  GesLon'des'Lmeouts' •  PoliLque'de'retry' •  Taille'des'pools' •  Mécanismes'd’alerte'automaLque'

Slide 17

Slide 17 text

Les'machines'Azure' Instance' Size' CPU'Cores' CPU' Speed' Memory' Instance' Storage' I/O' Performan ce' Cost/Hour' Extra' Small' Shared' 1.0'GHz' 768'MB' 20'GB' Low' $0.02' Small' 1' 1.6'GHz' 1.75'GB' 225'GB' Moderate' $0.12' Medium' 2' 1.6'GHz' 3.5'GB' 490'GB' High' $0.24' Large' 4' 1.6'GHz' 7'GB' 1,000'GB' High' $0.48' Extra' Large' 8' 1.6'GHz' 14'GB' 2,040'GB' High' $0.96'

Slide 18

Slide 18 text

En'conclusion' •  Commencez'peLt' Le'plus'simple':'azure'IaaS' hcp://www.mongodb.org/display/DOCS/MongoDB +on+Azure' Custom' •  Instrumentez'tôt' mms'a'minima' •  Apprenez'