Is Cool Story« 1 jeu, 1 framework, 3 mois, 4devs, 8 millions de joueurs. »      Alexandre Rodière   Bertrand Tornil
Weka Entertainment●   Jeux dans Facebook●   LAMP●   Forte charge●   Rythme fonctionnel élevé    => Symfony 1 + Framework W...
Is Cool●   2 ans de développement incrémental●   Pas de framework, pas de MVC
Le Défi●   1 jeu facebook en PHP « old school »●   Entre 500.000 et 1.000.000 de VU/j●   Entre 50 et 100 millions de PV/j●...
Les contraintes●   Debut le 15 novembre 2010●   Fin pour le sfLive2011●   Pas de coupure de lapplication●   Maintien du ry...
Les atouts●   Habitudes de développement très agile       – 122 RC déployées       – 87 Releases déployées●   Arrêt des ap...
Les atouts (bis)–   Weka IsCoolers     ●   Rémi Janot, Pierre Tisserant, Antoine Bernier–   Sensio Sensei     ●   Noël Gui...
La stratégie●   Migration FBML → Iframe       – Effet tache dhuile       – Double vhost●   Mise en oeuvre sur la plus peti...
Les préparatifs●   Avant de pouvoir boostraper en sf2    ●   La mise en place de linfra (un double-vhost)         – réalis...
Les préparatifs (hatifs ?)●   Lauthentification    ● Gros morceau, en fait... Oauth... (aura      nécéssité dajuster lexte...
Dans les faits●   La schizophrénie du code (les 2 vhosts)    ●        Toutes les classes cores, puis métiers doivent passe...
On sarrange avec lautoloader●   Création dun ensemble cohérent de classes    pour lautoloader
La chasse aux statiques            Sachant que le code            doit pouvoir continuer            de fonctionner dans   ...
La chasse (deau ?)
Au final... cest bon, mangez-en●   Accepter dadopter une nouvelle philosophie●   Avant, par exemple :    ●   On implémenta...
Des chiffres !●   Le 22 décembre 2010    ●   Passage de la page « invit »
Des chiffres !●   Le 22 décembre 2010    ●   Passage de la page invit         – ~500 hit/jours         – Mais les couches ...
Ensuite ?●   Le 24 janvier 2011    ●   Passage des webservices partenaires         – 30000-40000 hits/jours         – Nouv...
Un peu de charge...●   Le 10 février 2011    ●   Passage de myKiwi sur la home
Un peu de charge...●   Le 10 février 2011    ●   Passage de myKiwi sur la home         – 250 à 1500 hits / sec         – L...
Certes...●   Le 24 février    ●   Passage de la page «Ma collection»    ●   57 familles de 7 élements
Certes... (itudes ?)●   Le 24 février    ●   Passage de la page «Ma collection»         – ~10 hits/sec         – Classes m...
Ok, and now ??●   Le 2 mars 2011    ●   Passage de la dernière feature    ●   Développement entièrement sous sf2    ●   Fr...
Ok, and now ??●   Le 2 mars 2011 : la vache Kiwi...●   ...et ca tient :)
Lheure du bilan●   Le cycle fonctionnel est lancé.●   Les performances suivent (- 40%)●   Nous pouvons nous préoccuper de ...
Questions  ?            Bertrand Tornil         bertrand@cafe.com         Twitter : @bobuss         Alexandre Rodière     ...
Prochain SlideShare
Chargement dans…5
×

Is Cool Story - Symfony live 2011

1 063 vues

Publié le

Is Cool Story
« 1 jeu, 1 framework, 3 mois, 4 devs, 8 millions de joueurs. »

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 063
Sur SlideShare
0
Issues des intégrations
0
Intégrations
160
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Is Cool Story - Symfony live 2011

  1. 1. Is Cool Story« 1 jeu, 1 framework, 3 mois, 4devs, 8 millions de joueurs. » Alexandre Rodière Bertrand Tornil
  2. 2. Weka Entertainment● Jeux dans Facebook● LAMP● Forte charge● Rythme fonctionnel élevé => Symfony 1 + Framework Weka
  3. 3. Is Cool● 2 ans de développement incrémental● Pas de framework, pas de MVC
  4. 4. Le Défi● 1 jeu facebook en PHP « old school »● Entre 500.000 et 1.000.000 de VU/j● Entre 50 et 100 millions de PV/j● 1 milliard de points cool => La même chose sous symfony2
  5. 5. Les contraintes● Debut le 15 novembre 2010● Fin pour le sfLive2011● Pas de coupure de lapplication● Maintien du rythme de sortie des fonctionnalités
  6. 6. Les atouts● Habitudes de développement très agile – 122 RC déployées – 87 Releases déployées● Arrêt des applications FBML par Facebook● Enthousiasme● Deadline sfLive
  7. 7. Les atouts (bis)– Weka IsCoolers ● Rémi Janot, Pierre Tisserant, Antoine Bernier– Sensio Sensei ● Noël Guilbert– Cloud SysAdmins ● Vermeer Grange, Charles-Christian Croix, Fabien Vaneenoo– Leads Bienveillants ● Alexandre Rodière, Bertrand Tornil
  8. 8. La stratégie● Migration FBML → Iframe – Effet tache dhuile – Double vhost● Mise en oeuvre sur la plus petite page● Greffe sur les demandes fonctionnelles
  9. 9. Les préparatifs● Avant de pouvoir boostraper en sf2 ● La mise en place de linfra (un double-vhost) – réalisée le 30 novembre 2010 ● Architecture du code – Bundles IsCool – Bundles plus génériques (SNS) – Bundles Externes (DBAL, partenaires...)
  10. 10. Les préparatifs (hatifs ?)● Lauthentification ● Gros morceau, en fait... Oauth... (aura nécéssité dajuster lextensibilité du bundle dauthentification de sf2)● Les premiers bundles maisons ● Memcache ● nosql ● pinba
  11. 11. Dans les faits● La schizophrénie du code (les 2 vhosts) ● Toutes les classes cores, puis métiers doivent passer au fur-et-à-mesure à la moulinette : – Autoloader – Injectabilité ● Chasse aux statiques – Création des Bundles ● Configuration du DIC
  12. 12. On sarrange avec lautoloader● Création dun ensemble cohérent de classes pour lautoloader
  13. 13. La chasse aux statiques Sachant que le code doit pouvoir continuer de fonctionner dans les 2 contextes
  14. 14. La chasse (deau ?)
  15. 15. Au final... cest bon, mangez-en● Accepter dadopter une nouvelle philosophie● Avant, par exemple : ● On implémentait une classe itérateur. point.● En sf2 : ● On cherche la généricité pour rendre injectable ● induit de bonnes pratiques, à savoir viser la généricité (on écrit litérateur générique), puis on injecte la spécificité
  16. 16. Des chiffres !● Le 22 décembre 2010 ● Passage de la page « invit »
  17. 17. Des chiffres !● Le 22 décembre 2010 ● Passage de la page invit – ~500 hit/jours – Mais les couches basses sont là ● Authentification ● Localisation ● Pinba ● Mysql via dbal ● Redis ● memcache
  18. 18. Ensuite ?● Le 24 janvier 2011 ● Passage des webservices partenaires – 30000-40000 hits/jours – Nouvelles couches métiers
  19. 19. Un peu de charge...● Le 10 février 2011 ● Passage de myKiwi sur la home
  20. 20. Un peu de charge...● Le 10 février 2011 ● Passage de myKiwi sur la home – 250 à 1500 hits / sec – Lobjet player est chargé + les grades – Le bootstrap sf2 tient la charge. Les chiffres nous ont même surpris : ● Ancien vhost : 600ms / req ● Nouveau vhost en sf2 : 80ms / req ● ?
  21. 21. Certes...● Le 24 février ● Passage de la page «Ma collection» ● 57 familles de 7 élements
  22. 22. Certes... (itudes ?)● Le 24 février ● Passage de la page «Ma collection» – ~10 hits/sec – Classes métiers les plus complexes, itérateurs et caches ditérateurs objets composés de différents storages – Avant : 792ms – Après : 468ms … 40% de mieux
  23. 23. Ok, and now ??● Le 2 mars 2011 ● Passage de la dernière feature ● Développement entièrement sous sf2 ● Front HTML5 ● La vache Kiwi...
  24. 24. Ok, and now ??● Le 2 mars 2011 : la vache Kiwi...● ...et ca tient :)
  25. 25. Lheure du bilan● Le cycle fonctionnel est lancé.● Les performances suivent (- 40%)● Nous pouvons nous préoccuper de notre métier ● Le jeu● Nous pouvons maintenant nous attaquer aux migrations sf1 → sf2 des autres jeux
  26. 26. Questions ? Bertrand Tornil bertrand@cafe.com Twitter : @bobuss Alexandre Rodière alx@cafe.com Twitter : @alx_rodiere

×