Contexte :

Online Labs est le laboratoire de OnLine qui fait partie de la société Iliad (à qui appartient Free).
Online Labs permet de tester et de faire des retours/échanges sur sa future plateforme de PHYSICALIZATION !
Mais papa c'est quoi cette PHYSICALIZATION ???
La PHYSICALIZATION c'est finalement un nom un peu barbare pour désigner un serveur dédié quelque part dans un datacenter sauf que les ressources disques sont sur un SAN, l'avantage c'est un hardware dédié donc les performances sont garanties avec toute la souplesse du stockage réseau (snapshots, images).
Une panne hardware, pas grave on en remonte un avec un snapshot et boum c'est repartie.

Présentation de la phase d'échange :

Pendant cette phase (disponible sur invitation de personnes ayant un accès à la phase de tests ou via le compte twitter de OnLine_en).

Le serveur dont nous disposons est un C1 avec un CPU quad-coeur ARMv7 @1.3GHz épaulé de 2Go de RAM et une carte réseau de 1 Gbit/s. Côté performance, c'est l'équivalent d'un AWS M3 medium. Concernant le stockage, il a de base un SSD sur SAN de 20 Go pour le système, à cela peut s'ajouter des volumes LSSD (Local Solid State Drive) qui permettent de fournir des I/Os jusqu'à 115 Go ou des volumes LHDD (Local Hard Disk Drive) qui permettent de fournir du stockage jusqu'à 486 Go. Pas encore disponible mais il devrait y avoir des volumes DHDD (Distributed Hard Disk Drive) qui dupliquent 3 fois le contenu pour éviter la perte de données jusqu'à 2 To.

Ces serveurs sont hébergés dans les datacenters d'Iliad DC2 et DC3.

Voici un schéma simplifié de l'architecture du C1 et du stockage :
Architecture OnLine.Labs

Pour vous donner une idée de la taille du serveur :
C1 Server Size

Les limitations de ce tests :

  • 2 serveurs
  • 5 volumes
  • 10 snapshots
  • 100 images
  • 1 adresse IP réservée

Personnellement je trouve ces limitations raisonnables.
Pourquoi 1 adresse IP réservée alors qu'on a 2 serveurs, la raison est simple, les serveurs sont en adressage RFC 1918 sur le réseau 10.X.X.X, avec une IP publique fournie en DHCP à chaque reboot mais il est possible d'en avoir une de réservée (qui ne changera pas à chaque reboot potentiel) que vous placez sur un de vos serveurs.
De plus la création d'un serveur prend moins d'une minute !

Les distributions :

  • Gentoo stable (2014.10.07)
  • Ubuntu Trusty (14.04 LTS)
  • Debian Wheezy (7.7)
  • Docker (1.2) on Ubuntu Utopic (14.10)
  • Ubuntu Utopic (14.10)

Il y a l'air d'y avoir un portage en cours de Fédora, CentOS ne sera pas de la partie du fait qu'il n'y a pas d'image pour ARM.

Ma démo de création de serveur :

Mes tests d'accès disques :

#Lecture : -t en cache, -T en accès direct
root@mycloud:/# hdparm -tT /dev/nbd0
/dev/nbd0:
 Timing cached reads:   2004 MB in  2.00 seconds = 1002.38 MB/sec
 Timing buffered disk reads: 190 MB in  3.03 seconds =  62.79 MB/sec

#Ecriture : bs=taille des blocks count= nombre de block à écrire
root@mycloud:/# dd if=/dev/zero of=/tmp/test.data bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 12.4675 s, 86.1 MB/s
#Lecture : -t en cache, -T en accès direct
root@mycloud:/# hdparm -tT /dev/nbd1
/dev/nbd1:
 Timing cached reads:   1978 MB in  2.00 seconds = 989.44 MB/sec
 Timing buffered disk reads: 210 MB in  3.02 seconds =  69.56 MB/sec

#Ecriture : bs=taille des blocks count= nombre de block à écrire
root@mycloud:/# dd if=/dev/zero of=/mnt/data/test.data bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 14.9296 s, 71.9 MB/s

Mon retour :

La plateforme est plutôt sympathique, le control panel est intuitif (framework bootstrap au passage) avec une bonne présentation.
Les serveurs répondent plutôt bien. La communauté est plutôt active (c'est principalement la core team car on est en phase d'échanges). Le support est super rapide.
La simplicité de monter un serveur depuis un snapshot ou une image en quelques clics !

Annexes :

  • Démo avec possibilité de tester un serveur pendant 15 minutes, par ici.
  • Blog du projet.
  • Communautée du projet.
  • Documentation du projet.