Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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'