Trucs de geek

La table de nuit la plus cool du monde ...

Posted on May 14, 2008

… C’est la mienne :)
photo.jpg

Le pied

Une SGI Indigo avec une IP20, un CPU R4000SC à 100MHz, 32Mo de RAM, la board graphique XZ, et un disque de 1Go.

Je l’ai achetée avec son écran de 19”, son clavier blindé, et la souris.

L’OS est IRIX 6.5.20, si je me souviens bien. Ca fait un moment que je ne l’ai pas démarré. Beaucoup trop bruyante.

je m’en suis servie plus d’un an en tant que machine principale en 2000-2001. La RAM manquait pour Netscape alors celui-ci tournait sur un serveur linux derrière, et était déporté avec X11 sur l’Indigo.

L’Indigo est célèbre pour avoir été utilisé dans la synthèse du T1000 liquide dans Terminator 2.

La tablette

La tablette est une slab, une NextStation N1100.

Dedans il y a un 68040 à 25MHz, de la RAM et un disque dur et une boîtier en magnésium (je crois). Je ne l’ai jamais démarrée, sans clavier, sans écran, impossible ; c’est encore en tablette qu’elle me sert le mieux …

C’est sentimental de toute façon. Je me souviens avoir lu jusqu’à l’usure le SVMMac annonçant la sortie de la première NeXT et je me suis dit “Un jour elle sera mienne, oh oui, Un jour elle sera mienne”.

Bref, elle ne tourne pas. C’est pas grave. Je suis en train de taper ce texte sur la version actuelle de NeXTstep, Mac OS X.

L’ensemble

L’accord couleur n’est pas parfait. Et je sais que Significant Other ne l’aime pas beaucoup.

Mais c’est le top du top de 1990. J’aimais déjà beaucoup les machines à cette époque (j’avais 13 ans). Surtout celles que je pouvais pas me payer ; La NeXTStation valait $5 000 et l’Indigo dans les $20 000.

EC2 : La tentation de puissance

Posted on May 02, 2008

Amazon Elastic Computing Cloud, aka EC2, mon nouveau jouet.

En quelques clics, on dispose d’une puissance de feu capable d’affronter à du Slashdotting, du Facebooking ou du Digging.

Jusqu’à récemment, EC2 était à la fois sexy et limité.

Les deux manques (d’avant)

Pas d’IP statique : il fallait utiliser un provider de DNS dynamique pour maintenir le lien avec le monde extérieur (oui, comme avant, avec l’ADSL de Francetélécom).

Pas de stockage en mode bloc persistent : La plus grosse instance (octo-core, 15Gig de RAM) a bien 1,5 To de stockage, mais en cas de arrêt de l’instance (volontairement du locataire ou involontairement en cas de défaillance matérielle sur la machine qui héberge la machine virtuelle), on perd tout.

Heureusement, un écosystème s’est développé pour pallier aux manques. Elastic Drive, par exemple, est un module FUSE qui permet de monter un bucket S3 en système de fichier par bloc.

Du coup pour héberger une base de donnée, on crée une partition RAID 1 : d’un côté la partition non persistente, mais performante de la machine EC2, et de l’autre, lent mais fiable, le stockage sur S3.

En cas de crash, le RAID est reconstruit à partir du S3.

Ah non, ça ne manque plus …

On peut maintenant avoir des IP statiques, et c’est implémenté avec beaucoup d’élégance. Les IPs sont décorrellés des machines virtuelles, et on peut faire pointer une IP d’une machine à une autre instantanément. Les IPs statiques sont limités à 5 par compte AWS, et coûtent $0.01 lorsqu’elles ne sont pas utilisées/

Le Persistent Storage arrive lui aussi. Des partitions (jusqu’à 1To) peuvent être attachées à n’importe quelle instance EC2 (pas de partage toutefois). On peut ensuite en faire des snapshots sur S3.

How cool is that ?

Le système est encore en closed beta, j’attends avec impatience mon invitation pour tester le service.

Pour quels usages ?

La souplesse

Le prix de la plus petite instance par mois est de 45 Euro. Pour une machine de la puissance d’une dédibox vieux modèle. Donc pas vraiment rentable en soi.

Mais, on y gagne la souplesse. Si je m’y suis bien pris, si j’ai un pic de trafic (durable ou non) je peux en quelques minutes augmenter le nombre de mes serveurs et donc la charge que peut encaisser mon site/service.

Et encore mieux, je peux diminuer le coût de mon infrastructure si la réalisation de mon business plan n’est pas aussi réussie :)

Et il ne faut pas négliger tous les coûts annexes lorsqu’on installe un cluster de machines : il faut des switchs (redondants) des routeurs (redondants) de quoi faire des backups (redondants), et aligner la force de frappe en fonction de la charge prévue.

Cette souplesse ne vient pas toute seule, il faut développer et/ou des outils de management, pour faciliter le déploiement. Ces deux articles abordent le déploiement rapide.

On peut automatiser encore plus, en allouant ou libérant des machines en fonction de la charge. Les serveurs d’application, souvent déployés en share-nothing (comme Ruby on Rails) sont lancés facilement (pas d’état à transférer). La solution Scalr propose tout ça. Ça a l’air super cool. Mais j’ai pas encore pu tester, l’appli PHP de contrôle plantent sur mon portable …

Un besoin spontané

Je me suis mis récemment à utiliser tsung, l’outil de load testing de Process-One. (oui, ceux qui maintiennent ejabberd)

Un soft erlang/OTP qui permet de rejouer des sessions HTTP préalablement enregistrée avec son recorder. C’est un proxy qui génére le fichier de configuration.

Tsung permet de faire des “attaques” distribuées sur plusieurs machines.

Sexy, mais mon MacBook Pro derrière sa ligne ADSL ne sera jamais aussi violent qu’un serveur dans un datacenter.

J’ai donc créé une Amazon Machine Image (à partir d’une Ubuntu 8.04) qui va exécuter Tsung à partir d’un fichier passé en paramètre :


ec2-run-instances ami-0146xxx -t m1.large -k cle  -f tsung.xml.zip

Le fichier est décompressé et tsung se lance. Une fois le testing fini, le rapport est généré, et disponible via le navigateur.

Avec la ligne ci-dessus, j’ai un quadcore avec 8 Go de RAM dans un datacenter d’Amazon qui travaille pour moi.

Je vais probablement publier cette AMI quand je l’aurais fignolée, et j’espère pouvoir la configurer de manière lancer directement un cluster de machines qui vont se répartir la charge.

Pour conclure

Ce serait bien si la solution pouvait venir en Europe (S3 y est bien) … Profitons déjà du dollar faible, et de l’énorme marché américain :p

Et j’ai hâte de tester PersistentStorage !