Vie de môme, architecture technique

le 7 mai 2009 à 09:55 par mrboo

L’audience de Vie de môme continu à grandir à bon rythme avec quelques rushs liés aux passages média.

La version actuelle est un simple blog WordPress un peu trafiqué par mes soins et la première « vraie » version devrait être dispo d’ici la semaine prochaine.

Etant seul coté technique pour le moment il faut donc que je mette en place une solution qui puisse évoluer automatiquement + absorber les pics média (on va bientôt commencer à promouvoir vraiment le service)

Dans ces conditions voici ce que j’ai commencé à mettre en place:

1- Le stockage se fera sur Amazon SimpleDB: simple à utiliser, suffisant pour ce que je veux faire, ultra scalable.
2- Une API qui s’occupera de toute la gestion du contenu (lecture, écriture, authentification etc.)
Hébergée sur scalr (Amazon EC2 donc) le nombre de serveurs s’adapte automatiquement, chaque minute, à la charge.
3- Les frontaux: le site web français ouvrira le bal.
Sur les sites: Dev maison avec CodeIgniter + cache fichier en local.
A terme, si l’audience d’un site le nécessite je le migrerai sur Scalr.

scalr-simpledb-api

Je suis à l’écoute de vos avis éclairés :)

51 commentaires pour “Vie de môme, architecture technique”

Aller au dernier commentaire | retourner à la racine du blog
  1. 1Samy dit :

    Question indiscrète, c’est quoi le business model de vie de môme ?
    C’est juste un site à forte audience à travers duquel tu peux promouvoir Hellotipi ou bien ?
    Parce que vue le trafic, je verrais bien une bannière Pur-cafe.com quelque part ;o)

  2. 2mrboo dit :

    Samy> on travail sur le sujet avec Cyrille, donc à l’heure actuelle toutes les options restent ouvertes :)

  3. 3arno dit :

    donc pour l’instant ton api reste sur ton frontal ?
    mais vu le type de requetes que tu as sur viedemome, (95% lecture et 5% écriture), que les traitements doivent être plutot simples, quel est l’intéret de SCALR pour toi ? (hormis le geek factor : because I can and because it’s fun ;) )

  4. 4jonathan dit :

    viedemome sera t il à hellotipi , ce que twitter est à odeo ? :-)
    Bonne chance en tout cas!

  5. 5Thierry dit :

    Question moins indiscrète : en terme de coût d’infrastructure, ca donne quoi ?

  6. 6mrboo dit :

    Arno> si tu pense à tous les widget + les iphones + les 2 sites ça peut commencer à faire un vrai rush sur la source de données => scalr ne coute pas beaucoup plus cher qu’un serveur dédié et me permet de voir venir, pourquoi s’en priver ?

  7. 7jcfrog dit :

    une date pour l’appli iPhone? :D

  8. 8mrboo dit :

    Jonathan> merci

    Thierry>
    Scalr 50$ / mois
    Chaque instance EC2 ~80$ / mois
    Le trafic facturé au tarif Amazon ~0.15$ / Go
    + Les front (tout dépend du modèle mais à 100€ / mois il commence à y avoir des choses sympa chez OVH)

    => ~300€ / mois

    jcfrog> si tout va bien ~1 mois après la sortie de l’API

  9. 9jbdone dit :

    « on va bientôt commencer à promouvoir vraiment le service »… oui, après France Info, Rire & Chansons, etc… ça serait bien qu’on commence à en parler un peu, de Vie de Môme :-D

  10. 10arno dit :

    @mrboo >méa culpa, j’avais pas vu la version US ni pensé aux widgets, bientot les « fortune kiddies » alors ?
    C’est si peux cher que cela scalr, vais voir cela de ce pas !

  11. 11mrboo dit :

    jbdone> ;) ces relais se sont fait spontanément, je parle d’un communiqué de presse, un dossier de presse etc.

  12. 12arno dit :

    pour le flux blogmrboo sur twitter cela serait bien d’avoir l’id du commentaire dans le lien, histoire de pas scroller, moi aussi je suis paresseux du scroll ;)

  13. 13mrboo dit :

    arno> id.gd flingue les ancres: désolé

  14. 14David dit :

    Tres interessant ! Je suis toujours heureux de découvrir qu il y a des architectes prets a sauter le pas – enfin en 2009 – vers le Cloud Computing.

    Peux tu nous dire quelle est la durée de prise en main d’un service comme Scalr ?
    C’etait ta premiere experience en production sur EC2 ?
    Bravo !

  15. 15AlexBox dit :

    Hey docteur
    c’est une bonne idée vie de môme… Tu pourrais presque faire un livre des meilleures perles numériques !
    Etant en ce moment ouvrier même pas qualifié en alchimie je ne peux que te laisser te dém..bip… avec ta technique !
    Bonne continuation

  16. 16KetA dit :

    L’audience est si importante qu’un WP avec le plugin de cache et une bonne config Apache/PHP/MySql ne puisse pas tenir ?

  17. 17mememoi dit :

    Bonjour,
    Je suis un peu frileux avec les services proposés par Amazon, tu as des garanties en terme de disponibilité et de temps de réponse notamment sur SimpleDB ?

    L’architecture que tu vas mettre en place est-elle une pure composition ou est-elle similaire à une architecture que tu as déjà rencontré ?

    En tout cas, ça peut vraiment bien donner ! (Tu as prévu de mettre tes éléments médias sur du Amazon S3 en plus ?)

  18. 18mrboo dit :

    David> première utilisation en prod d’EC2 (j’avais testé lors de sa sortie, pour Hellotipi sans être convaincu: c’était trop complexe à gérer à l’époque)
    Scalr est plus simple d’accès même si ça manque de doc et de tuto.

    AlexBox> thx Alex, à bientôt j’espère :)

    KetA> Pour l’instant non mais rapidement j’espère bien ;)

    mememoi> simpleDB est encore en Beta mais pour utiliser les webservices d’Amazon depuis 3 ans je suis confiants: ils délivrent une superbe qualité de service.
    Ensuite à nous d’imaginer un backup en // toujours via l’API ;)

    L’archi sort de ma petite tête mais existe surement ailleurs (je n’ai pas trop cherché)

    Les rares média seront en effet sur S3.

  19. 19Nikonoel dit :

    Une question bête : pourquoi ne pas ouvrir le code de ta première vraie version ?
    Ça pourrait être intéressant et permettre à certains de contribuer, non ?
    :)

  20. 20mrboo dit :

    Nikonoel> je vais y cogiter, why not.

  21. 21Thierry dit :

    ouch, viedemome va supplanter hellotipi ? je plaisantes, mais est ce que derrière çà il n’y ap as un effet nouveauté + buzz et le soufflé pourrait a terme (quand ?) retomber.

    Est ce nécessaire d’y passer du temps de développement ?

  22. 22mrboo dit :

    Thierry> Je dirais plutôt que ce serait dommage de passer à coté d’un beau projet.
    Ce n’est pas en craignant de se planter qu’on avance ;)

  23. 23Thierry dit :

    « Ce n’est pas en craignant de se planter qu’on avance ;)  » méchand !:!!!!

  24. 24Le Tribulateur dit :

    Atchoum.

  25. 25Martin dit :

    Je déclare MrBoo le « Sir Norman Foster » du web !

    Structure intéressante.
    Tu utilises quoi comme soft/plugin/widgets pour communiquer avec tous les services Amazon ? Ou alors tu es en mode Console, ligne de commande … ?

    « Ce n’est pas en craignant de se planter qu’on avance » ! C’est ça qu’on veut entendre ! Citation du jour !

    Allez MrBoo. L’architecture déployée ce soir, l’api écrite demain, documentée après demain et le tout est en place dimanche ! Ce sera parfait pour la fête des mères (qui semble s’approcher vu les emailing que je recois ?)

  26. 26mrboo dit :

    Thierry> promis: aucune volonté d’être méchant, désolé si tu l’as lu comme ça.

    Le Tribulateur> fais gaffe tu va finir en quarantaine ;)

    Martin> lol ;)
    Scalr et permet justement de piloter les instances EC2 ensuite tu te connecte en ssh/sftp via un certif (c’est très simple).

  27. 27Thierry dit :

    non non, je ne l’ai pas pris comme çà pas du tout.

  28. 28Thierry dit :

    j’aimerai en savoir plus sur SCALR , c’est un hebergement (mysql et/ou www) pour 500 $ par mois ?

  29. 29Anthony dit :

    Vous as-tu un « site web US » en front ?

  30. 30AM dit :

    Je trouve cela un peu démesuré pour un tel site qui utilise peu de ressource !? Un bon dédié OVH ne suffirait t’il pas ?

  31. 31mrboo dit :

    Anthony> soon

    AM> pourquoi démesuré ? dans la conf de base il n’y a pas 36 serveurs.
    C’est un découpage logique, pérenne et qui ne coute pas tellement plus cher qu’un gros dédié.

  32. 32Thierry dit :

    tiens je viens de reliure mon commentaire , je voulais dire 50$ et non 500

  33. 33AM dit :

    @mrboo j’essaye simplement de comprendre le pourquoi du comment ;) . C’est le genre de truc que j’adore, je pourrais en parler pendant des heures. Pourquoi utiliser 2 serveurs différents pour la version fr us ?

  34. 34Maxime VALETTE dit :

    Hello,

    Comme promis sur twitter je te donne mon avis :)

    Et comme AM je pense que c’est totalement démesuré et sur-coûteux.

    Premièrement démesuré car, sans vouloir t’offenser, je ne pense pas que tu auras besoin de scale un site basé principalement sur du texte en lecture, et je sais de quoi je parle ;) Sur VDM nous avons eu 2 millions de pages vues par jour avec juste 3 dédiés (1 mysql et 2 apache en round robin DNS). Maintenant c’est différent mais on délivre 6 fois ça, d’où le cluster.

    Deuxièmement sur-coûteux, c’est la suite logique de ma démonstration. Les webservices Amazon ne sont pas cheap du tout, c’est cher car c’est scalable. Seulement tu n’as pas besoin de puissance, juste de bande passante, et tu l’as oublié dans ton petit calcul plus haut… A $0.15 du Go, ça va être un poste de dépense très important. J’ai fait un calcul si je remplaçais juste mon CDN en lighttpd par du Amazon S3, ça me coûterait environ 8 fois plus cher (soit environ $5000 par mois)…

    Pour résumer mon avis : Prends-toi 3 dédiés chez OVH et te fais pas chier :) Je veux même bien t’aider ;)

  35. 35Maxime dit :

    @mrboo :
    (Comme AM) Pour deux serveurs différents pour la version fr us ?
    Et je rajoute : pourquoi les frontaux chez OVH ?
    Autant les prendre chez Amazon…

  36. 36Gonzague dit :

    ça me semble « un peu » gros tout ça …. l’ami Maxime est de bon conseil hihi

  37. 37Gonzague dit :

    J’ai l’impression (ce n’est pas une critique hein, juste une remarque) que l’idée d’utiliser plein de technos différentes ensemble, de les faire marcher etc t’excite pas mal ce qui fait du coup que tu te retrouves avec une archi démesurée.

    Sans compter qu’elle a un maillon très faible : le front

    non ? :)

  38. 38AM dit :

    @Maxime VALETTE entièrement d’accord.

  39. 39mrboo dit :

    AM> pas de souci, pas forcément les 2 serveurs pour les front c’était plus pour les besoins de l’explication.

    Maxime> merci beaucoup pour le feedback.

    Je viens de faire le calcul pour la bande passante de l’API vers les front (la BP entre EC2 et SimpleDB ne coute rien) :
    2.000.000 de pages par jour (en imaginant zéro cache)
    50Ko de txt par requête à l’API (ça me parait même énorme)
    ça fait 2.000.000 x 50 / 1024 / 1024 x 0.15 = 14$ / jour => 350€ / mois

    je me plante quelque part ?

    Tu garderais l’API autonome ou tu l’intégrerais au premier serveur ?

  40. 40mrboo dit :

    Gonzague> clairement ça m’éclate (mon métier en général ;) ) mais le cloud computing n’est pas forcément un truc démesuré et c’est l’occasion de m’y mettre sérieusement.

  41. 41Maxime VALETTE dit :

    Tu mets tes fichiers statiques sur S3, c’est pas à négliger !

  42. 42PoGo dit :

    Sur SimpleDB on peut pas faire de requêtes très compliquées, tu comptes utiliser EC2 ?

  43. 43mrboo dit :

    Maxime> pour ça il y a des solutions via un proxy mais en effet il ne faut pas les négliger.

    PoGo> Un système de citations ne nécessite pas de requêtes compliquées c’est justement pour ça que l’idée me plaisait.

    J’ai déjà testé SimpleDB ça marche plutôt bien et ça permet suffisamment de choses pour cette utilisation.

  44. 44Godefroy (Skreo) dit :

    Je suis de l’avis de Maxime. A moins de faire plus de 1 000 000 pages vues/jour, tu n’auras vraiment pas besoin de plus d’un ou deux serveurs dédiés.
    Vie de môme fait combien de pages vues par jour ? Combien de connectés max ?

    WordPress est extrêmement lourd pour une appli comme ça. En refaisant le site from scratch, et sans framework (car je ne pense pas que ce soit utile pour ce genre de site), tu auras un site très léger, et qui n’aura à mon avis jamais besoin de plus d’un seul serveur.

  45. 45Maxime VALETTE dit :

    Du même avis que Skreo pour le framework :P
    Et sinon comme je disais à 2M PV / jour ça tenait à l’aise sur 3 serveurs dédiés, VDM.

    Mine de rien en rajoutant la BP t’as doublé tes frais, et 50 Ko c’est rien pour une page web, l’actuelle fait déjà 150 et j’imagine qu’il y aura des choses supplémentaires :)

  46. 46Christophe B. dit :

    @Godefroy (Skreo) : j’aurais pas dit mieux ;)

  47. 47mrboo dit :

    Bon vous arrêtez de vous faire des câlins ? ;)

  48. 48Gonzague dit :

    @christophe, @maxime et @godefroy je n’aurai pas dit mieux ( normal je m’y connais moins mais c’était juste histoire de poursuivre l’histoire de calins :D )

  49. 49Al-Kanz dit :

    Arrivé au 20e commentaire, je me suis dit « tiens Le Tribulateur n’a pas encore éternué ». Mais j’ai tenu bon jusqu’au 24e :D . Atchoum itou Tribulos :)

  50. 50Tuxyroots dit :

    @mrboo > tu as beaucoup parlé de memcached ces derniers temps, alors pourquoi ne pas travailler avec ce soft pour ce projet, étant donné que tu souhaites développer toi même ce site ?
    Memcached serait parfait pour ce type de site !
    Tu pourrais ainsi limiter les accès aux DB et te contenter d’une petite architecture avec pourquoi pas un loadbalancing coté serveurs web si le besoin s’en fait sentir ?
    Ça te permettrait de diminuer les couts de l’hébergement.

    (ça fait longtemps que j’ai pas laissé un commentaire ici, j’en profite pour faire un p’tit coucou ;) )

  51. 51mrboo dit :

    Tuxyroots> welcome back !
    il faut aussi que je regarde du coté de memcached (qui est proposé par scalr) mais les temps de connexion au serveur memcached ont tendance à « annuler » le gain tant qu’on est en dessous d’une certaine charge.

Vu sur Twitter

Voici quelques tweets qu'il me semble intéressant de relayer ici.