Tutorial : Créer un CDN gratuit à l'aide de google AppEngine

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par aladdin, 20 Octobre 2010.

  1. aladdin

    aladdin Nouveau WRInaute

    Inscrit:
    29 Avril 2005
    Messages:
    1 453
    J'aime reçus:
    0
    Bonjour à tous

    Je viens de mettre en ligne un tutorial expliquant en détail les étapes de mise en place d'un CDN gratuit.
    La solution proposée est basé sur google AppEngine, et cirruxCache.
    J'ai essayé d'écrire le tuto de façon à le rendre abordable pour le commun des webmasters, quelques connaissances techniques sont tout de même souhaitables.

    La première partie du tutorial propose Une solution de création d'un CDN gratuit pour un site moyen (pour un grand site l'investissement est négligeable face aux solutions clé en main du marché - genre Akamai - )

    Dans la deuxième partie je parlerais de configurations plus avancée, et de l'utilisation pour un grand site.

    Lien du tuto : http://emaroc.info/2010/10/tutorial-mettre-en-place-un-cdn-gratuit-pou ... re-partie/


    vos commentaires, et remarques sont les bienvenus.
     
  2. forty

    forty Nouveau WRInaute

    Inscrit:
    30 Octobre 2008
    Messages:
    2 178
    J'aime reçus:
    0
    intéressant comme tuto. As-tu des données quand aux gains de perfs de cette solution?

    j'attends avec impatience la deuxième partie. En attendant une reco.
     
  3. aladdin

    aladdin Nouveau WRInaute

    Inscrit:
    29 Avril 2005
    Messages:
    1 453
    J'aime reçus:
    0
    Le gain de performance sera surtout remarqué par les visiteurs venant de pays éloigné de ton serveur.

    pour te donner une idée concrète, l'hébergeur de mon blog est aux US.

    Je fais un traceroute avec ping.eu (donc depuis l'europe)
    voici ce que donne un traceroute vers mon domaine principal : emaroc.info

    Code:
    1  	   	85.25.86.1  	de  	0.475 ms  	0.468 ms  	0.482 ms
    2 	static-ip-85-25-95-34.inaddr.intergenia.de 	85.25.95.34 	de 	0.470 ms 	0.387 ms 	46.622 ms
    3 	ve498.bbr1.fra3.inetbone.net 	83.220.157.37 	de 	0.504 ms 	1.136 ms 	1.137 ms
    4 	ve3001.bbr2.dus1.de.inetbone.net 	213.203.213.67 	de 	8.847 ms 	8.875 ms 	7.243 ms
    5 	unknown.inetbone.net 	213.203.213.178 	de 	4.428 ms 	4.253 ms 	4.180 ms
    6 	r1.lon1.uk.as5580.net 	80.94.64.94 	nl 	18.945 ms 	18.541 ms 	18.526 ms
    7 	theplanet.com 	195.66.225.105 	de 	20.623 ms 	19.624 ms 	17.940 ms
    8 	d9.ff.5746.static.theplanet.com 	70.87.255.217 	us 	123.358 ms 	123.631 ms 	123.678 ms
    9 	bd.fd.5746.static.theplanet.com 	70.87.253.189 	us 	122.247 ms 	121.928 ms 	121.970 ms
    10 	1a.ff.5746.static.theplanet.com 	70.87.255.26 	us 	123.360 ms 	 	 
    	te7-1.dsr01.dllstx3.theplanet.com 	70.87.253.2 	us 	124.042 ms 	 
    	1e.ff.5746.static.theplanet.com 	70.87.255.30 	us 	124.348 ms
    11 	76.fd.5746.static.theplanet.com 	70.87.253.118 	us 	124.769 ms 	* 	124.062 ms
    12 	te1-2.car05.dllstx6.theplanet.com 	70.87.254.174 	us 	125.637 ms 	124.655 ms 	*
    13 	  	  	  	*	*	*
    14 	  	  	  	*	*	*
    15 	  	  	  	*	*	*
    No reply for 3 hops. Assuming we reached firewall.
    

    et voici ce que donne le traceroute vers mon CDN

    Code:
    1  	   	85.25.86.1  	de  	0.478 ms  	0.468 ms  	0.474 ms
    2 	static-ip-85-25-95-34.inaddr.intergenia.de 	85.25.95.34 	de 	0.386 ms 	0.398 ms 	0.407 ms
    3 	google.ber.ecix.net 	194.9.117.34 	de 	15.545 ms 	15.553 ms 	15.471 ms
    4 	  	209.85.249.184 	de 	16.418 ms 	16.397 ms 	 
    	  	209.85.249.182 	de 	15.908 ms
    5 	  	64.233.174.29 	us 	15.949 ms 	16.110 ms 	 
    	  	64.233.174.53 	us 	16.632 ms
    6 	  	209.85.250.1 	de 	18.409 ms 	* 	*
    7 	bw-in-f121.1e100.net 	74.125.43.121 	us 	16.483 ms 	16.769 ms 	16.391 ms
    
    Le nombre de sauts est deux fois inférieur ... sachant que dans la page d'accueil de mon site par exemple voici les requêtes effectuées (remarque il y en a deux vers le domaine principale et enormement vers le CDN)

    [​IMG]
     
  4. forty

    forty Nouveau WRInaute

    Inscrit:
    30 Octobre 2008
    Messages:
    2 178
    J'aime reçus:
    0
    j'ai testé ton truc et je ne suis pas convaincu du gain. Les quelques tests depuis l'Allemagne que j'ai fait donnent des temps de chargement aux mieux deux fois plus lents que mon mutu OVH (sans parler du temps de création du cache la première fois). Ca confirme l'impression que j'ai en navigant.
    J'ai donc peur que pour des sites comme moi avec hébergement plutôt rapide en France avec des visiteurs majoritairement en France le gains ne soit pas évident. Ca pourrait être intéressant si on pouvait stocker directement les originaux.
     
  5. aladdin

    aladdin Nouveau WRInaute

    Inscrit:
    29 Avril 2005
    Messages:
    1 453
    J'aime reçus:
    0
    Il est tout à fait possible de stocker directement les origineaux, il est également possible (en théorie) de n'utiliser le CDN que pour une zone géographique ... mais il faut pour celà ajouter du code personnalisé (dans les classes d'action).

    L'interet d'un CDN est certes plus visible pour un site ayant des visiteur fortement répartis géographiquement.

    Si j'ai assez de temps je traiterais peut être ces éventualités dans une troisième partie.
     
  6. niou142

    niou142 Nouveau WRInaute

    Inscrit:
    5 Octobre 2009
    Messages:
    299
    J'aime reçus:
    0
    Désolé pour le déterrage du topic !

    Je bloque sur cette étape :

    Code:
    urls['default'] = ( '(/debug/.*)', 'Debug', '/_admin/(.*)', 'Admin', '/_store/(.*)', 'Store', '(/data/.*)', 'Static', '/www(/.*)', 'Www', '/_cron/(.*)', 'Cron', '(/wp-content/.*)', 'Emaroc_static', '/(.*)', 'Emaroc_Redirect' )
    Par défaut j'ai ceci :
    Code:
    urls['default'] = (
            #'(/debug/.*)', 'Debug',
            '(/data/.*)', 'config.Static',
            '/www(/.*)', 'config.Www'
            )
    Mais je ne sais pas quoi mettre dedans, dans l'exemple donné c'est sous Wordpress mais moi je suis sous Joomla, que faut-il rentrer ?

    Sur mon site quand je suis sous filezilla, je suis dans le dossier web, il faut donc remplacer www par web ? Mais pour data je met quoi ?