Your SlideShare is downloading. ×
0
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Is Cool Story - Symfony live 2011

725

Published on

Is Cool Story …

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
725
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Is Cool Story« 1 jeu, 1 framework, 3 mois, 4devs, 8 millions de joueurs. » Alexandre Rodière Bertrand Tornil
  • 2. Weka Entertainment● Jeux dans Facebook● LAMP● Forte charge● Rythme fonctionnel élevé => Symfony 1 + Framework Weka
  • 3. Is Cool● 2 ans de développement incrémental● Pas de framework, pas de MVC
  • 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. 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. 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. 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. 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. 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. 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. 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. On sarrange avec lautoloader● Création dun ensemble cohérent de classes pour lautoloader
  • 13. La chasse aux statiques Sachant que le code doit pouvoir continuer de fonctionner dans les 2 contextes
  • 14. La chasse (deau ?)
  • 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. Des chiffres !● Le 22 décembre 2010 ● Passage de la page « invit »
  • 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. Ensuite ?● Le 24 janvier 2011 ● Passage des webservices partenaires – 30000-40000 hits/jours – Nouvelles couches métiers
  • 19. Un peu de charge...● Le 10 février 2011 ● Passage de myKiwi sur la home
  • 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. Certes...● Le 24 février ● Passage de la page «Ma collection» ● 57 familles de 7 élements
  • 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. 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. Ok, and now ??● Le 2 mars 2011 : la vache Kiwi...● ...et ca tient :)
  • 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. Questions ? Bertrand Tornil bertrand@cafe.com Twitter : @bobuss Alexandre Rodière alx@cafe.com Twitter : @alx_rodiere

×