Benjamin Anseaume
Amazon S3, une solution de stockage, oui…

… mais d’hébergement, non !

Aujourd’hui, je tente de calculer le prix d’Amazon S3 pour mon prochain projet qui devrait sortir dans le courant de la semaine prochaine. C’est un site de diffusion de musique en streaming, un peu dans le style de Deezer… Au début je comptais héberger tous mes morceaux sur mon serveur dédié, mais il ne dispose que de 250Go, sur lesquels il faut retirer le système, mes autres sites, etc…

Bref Amazon S3 semble être une bonne solution, d’autant qu’elle est totalement intégrée à Code Igniter qui est mon framework chéri.

Vient le moment de calculer le prix… Et là c’est pas simple, voyez plutôt :

Je pense que mon site pourra fonctionner, à terme, et je préfère voir large, je compte donc

5500 morceaux hébergés de 4 Mo chacun
2000 visiteurs / jour
Chacun écoutant 10 morceaux / jour
Donc 2000 * 10 * 30 =  600.000 requêtes par mois
et 2000 * 10 * 4 * 30 =  2.400.000 Mo soit 2.400 Go / mois

Selon les prix disponibles ici, je devrais donc compter :

- Pour le stockage : 0.15$ par Go, donc 5,5 * 4 * 0.15 = 3,3$ là ça va…
- Pour le requêtage : 600.000 / 1000 * 0.01 = 6$ là ça va encore…
- Pour le transfert descendant : 2.400 * 0.17 = 408$ et là c’est le drame…

Amazon S3 me coûterait 417,3$, soit 290€ aujourd’hui (et combien demain ?).
Le site sera donc mis en production sur mon serveur dédié :)

Je n’aime pas les framework…

Jusqu’à il y a peu je me refusais totalement d’en utiliser un. Aussi, ça me fait plaisir que le créateur de PHP, Rasmus Lerdorf lui même, se positionne contre l’utilisation de ces bouts de codes pour développeurs paresseux.

Son argument choc ? Utiliser un framework est mauvais pour l’environnement !

Ca paraît absurde ? Pas tant que ça en fait.
Les matériels d’aujourd’hui sont extrêmement performants, pas la peine de réflechir, tous les ordinateurs actuels peuvent faire tourner même le plus lourd des frameworks. Mais imaginez un peu la consommation inutile d’énergie !

Sa démonstration est simple, pour un simple ‘HelloWorld!’ la consommation d’un framework peut varier de 1 à 15 ! Sur un ordinateur de test, Apache était capable d’afficher 600 fois une page HTML en une seconde. Un script PHP simple, écrit à la main était exécuté 280 fois, mais dès qu’il s’est mis à utiliser des frameworks, il est descendu parfois à 8 requêtes par seconde. Donc pour le même résultat vous devrez mobiliser presque 100 fois plus d’ordinateurs selon si vous utilisez une page HTML ou un script PHP avec un framework !
C’est énorme !

Utilisez les concept, pas les modèles

Bien sûr cet exemple est extrême, mais il montre bien qu’on essaye actuellement de faire de PHP ce qu’il n’est pas. PHP a toujours été conçu pour être simple, léger, pour des architectures modestes, convenant à 95% des utilisations.

Si vous prévoyez une montée en charge de votre site, une usine à gaz PHP n’est peut être pas la solution qu’il vous faut… Mais tout n’est pas à jeter ! Les concepts, notamment l’architecture MVC utilisée par plusieurs frameworks, est indispensable et ne coûtera pas plus cher à mettre en place, en terme de performances…

Ou optez pour un framework léger !

Et sinon il vous reste la possibilité d’utiliser un framework, léger et si possible dimensionné à votre projet. Pour un simple site vitrine, GetSimple peut convenir (et n’utilisant pas de BDD il n’en sera que plus léger), et si votre projet est plus important, Rasmus Lerdorf lui même se positionne sur CodeIgniter, mon chouchou, léger de base, facile à utiliser et qui permet de déployer uniquement les modules dont vous avez besoin ! Votre site n’utilise pas de base de données ? On ne déploie pas le module Database et on économise une grande partie des ressources :)

Sur ces quelques conseils avisés (ou pas), je vous souhaite un bon développement et retourne aux miens :D