Tests VPS : Gandi, Runabove et ProfitBricks

Pour les besoins d’un projet, j’ai testé plusieurs fournisseurs de VPS. Le test a tourné essentiellement autour du CPU, ce qui était le critère clé ainsi que  les I/O (pour la base de données). Je devais avoir la possibilité de pouvoir augmenter le nombre de CPU jusqu’à 8 et de créer des VM complémentaires accessibles en réseau interne pour une évolution future (sortir la base de données et lui adjoindre une VM dédiée et optimisée). Enfin, l’hébergement devait être en Europe et une API doit être disponible pour automatiser les déploiements et modifications (cette dernière partie n’est pas traité dans cet article.).

Pour réaliser ce test, j’ai utilisé un outil bien connu Unixbench. Attention dans la lecture des comparatifs, le VPS de Runabove et de Gandi ne dispose que d’un seul CPU ! Enfin, j’ai réalisé plusieurs fois les tests afin d’avoir des résultats fiables (les résultats n’ont d’ailleurs que peu bougé)

Au passage, je vous invite à découvrir l’interface de gestion de son datacenter fournie par Profitbricks, qui est un modèle du genre. C’est de loin la meilleure interface que j’ai pu voire.

Le résultat de Gandi :

test VPS gandi unixbench

Le résultat de Profitbricks :

test VPS profitbricks unixbench

Le résultat de Runabove :

test VPS runabove unixbench

J’ai été déçu des performances de Profitbricks, surement une conséquence du choix des CPUs. Je m’attendais à beaucoup mieux après la lecture des spécifications. Par contre, un de leur point fort est l’automatisation permettant une scalabilité verticale du cpu et de la RAM sans re-démarrage de la VM quand leur système détecte une surcharge. C’est un vrai plus sur certains projets avec une forte variation de charge. Vous pouvez aussi paramétrer finement le Firewall en amont de votre VM et donc de votre datacenter virtuel.

Les résultats de Runabove m’ont bluffé. La performance est au rendez-vous. Quand on connaît OpenSack et leur dashboard Horizon (développé avec le framework python Django 🙂 ), on est pas dépaysé. Moi j’aime !

Redimensionnement de l’instance (qui nécessite un redémarrage de la VM), gestion du réseau, des stockages (Objets et images) … tout est administrable. La partie plus gênante concerne la granularité des VMs. On aurait que 3 templates de disponibles. A vérifier, cela est peut-être dû au compte de démo. Je suis preneur de plus d’info sur ce sujet, le site web manque de clarté sur ce sujet.

Pour finir, Gandi dispose d’une interface plus basique avec des fonctionnalités plus légères, néanmoins bien pensée. J’ai aussi un doute sur le fait que les ressources soient dédiées. J’ai apprécié la panification flex qui permet selon un calendrier d’allouer plus ou moins de capacité (cpu, mémoire) à son VPS. L’ajoût de cpu, RAM ou disque se fait à chaud.

Le choix n’est pas évident, les performances, les services et les tarifications étant différentes. Par ailleurs, les SLA ne sont pas transparents. Je retourne à mes tests, notamment sur l’automatisation qui est des éléments clés.

SFR : hausse de tarifs – résiliation

Si vous êtes abonnés SFR, vous avez du recevoir quelque messages fort agréables ces derniers jours vous annonçant diverses hausses. Il est vrai que Altice, la maison mère de Numéricable et nouveau propriétaire de SFR ne fait pas dans la dentelle, bien déterminée à rentabiliser son investissement dans des temps records. Après avoir mis la pression sur ses fournisseurs avec des méthodes peu recommandables, c’est au tour des clients d’être pressés comme des agrumes.

Mais sachez que vous avez la possibilité de résilier votre contrat en vertu de l’article L121-84 du Code de la consommation dans les 4 mois de l’entrée en vigueur de cette augmentation. SFR le précise malgré tout dans sa lettre afin de se conformer à la législation. Mais comme tout le monde ne lit pas les petites lignes écrites de manières peu lisibles, il est bon de le rappeler.

Bien sûr, vous pouvez aussi d’essayer de négocier avec le service client, mais ça, je ne l’ai pas encore essayé.

Jolla tablette : vidéo de démo du prototype

Vidéo présentant le prototype de la tablette Jolla.

Django : comment changer le mot de passe d’un utilisateur en ligne de commande

Comment changer le mot de passe d’un utilisateur dans un framework Django en ligne de commande ?

En fait c’est assez simple. Il faut ouvrir un shell python, importer le modèle User, récupérer l’objet correspondant à votre utilisateur, modifier l’attribut « password » et sauver l’objet.

Ne pas oublier d’activer l’environnement virtuel si nécessaire.

Voici le code correspondant à la description (n’oubliez pas de changer l’attribut « username » afin qu’il corresponde à votre utilisateur et le « password » bien sûr)

# Lancement du shell
python manage.py shell

# Le prompt change !!! >>>

# Chargement du modèle User
from django.contrib.auth.models import User

# Récupération de l'objet correspondant à notre utilisateur root
u = User.objects.get(username='root')

# Changement du mot de passe
u.set_password('mon_mot_de_passe_res_complique')

# Sauvegarde
u.save()

# On quitte le shell
exit()

Manipuler les objets Django en CLI via le shell n’est pas bien compliqué, mais terriblement utile et puissant.

django-simple-invoice : installation via pip

Installer django-simple-invoice via pip.

django-simple-invoice est une application pour le célèbre framework python Django permettant de créer et générer des factures, envoyer et télécharger les factures au format pdf et de les envoyer par mail. L’application s’intègre avec n’importe quel modèle (user, company …).

Il n’était pas possible d’installer django-simple-invoice via pip (petite étourderie de ma part – désolé). C’est maintenant possible, je viens d’effectuer la correction.

django-simple-invoice est une application pour le célèbre framework python Django permettant de créer et générer des factures, envoyer et télécharger les factures au format pdf et de les envoyer par mail. L’application s’intègre avec n’importe quel modèle (user, company …).

FritzBox : fonctionnalités avancées de VoIP / SIP

Modification avancée des paramètres VoiP des routeurs FritzBox : codec, VAD, détection des silences …

Certaines FritzBox fournissent un service de standard téléphonique (IPBX). Vous pouvez raccorder une ligne analogique, numérique ou SIP à votre équipement ainsi que des postes SIP, analogique, numérique ou DECT. Les services fournis permet de répondre aux attentes des TPE sans aucun problème.

Il peut parfois être utile d’accéder aux paramètres avancées non accessibles via l’interface web. Nous allons voir comment. Tout d’abord, vous devez vous connecter via telnet à votre FritzBox. Si vous ne savez pas comment faire, je vous invite à lire ce post : comment activer le service telnet de ma FritzBox.

La configuration se fait dans un seul fichier, /var/flash/voip.cfg

Pour éditer ce fichier, il faut utiliser nvi :

nvi /var/flash/voip.cfg

Bien entendu, il ne faut modifier les éléments de ce fichier que si vous savez ce que vous faites. Une mauvaise manipulation pourrait rendre inopérant les services de téléphonie de votre FritzBox.

Nous allons voir comment modifier les codecs et l’ordre de ceux-ci. Pour cela, il faut localiser les 2 lignes suivantes :

use_audiocodecs = no;
audiocodecs = "PCMA", "PCMU", "G726-32", "G726-40", "G726-24";

C’est la configuration par défaut. La première variable (use_audiocodecs) avec une valeur à « yes » permet de dire à la FritzBox d’utiliser les codecs listés dans audiocodecs dans l’ordre de préférence indiqué. Par défaut, la FritzBox utilise le codec selon l’ordre annoncé par l’opérateur. Nous pouvons forcer les priorités ainsi :

use_audiocodecs = yes;
audiocodecs = "G729", "PCMA", "PCMU", "G726-32", "G726-40", "G726-24";

Après avoir réalisé ces modifications, il faut arrêter, puis redémarrer le daemon VoIP :

voipd -s
voipd

Maintenant, il est possible d’utiliser le codec G11 en priorité afin d’avoir une meilleure qualité audio.

Nous allons voir comment activer la détection de silence et la fonction VAD (voice activity detection). Vous pourriez avoir besoin de ces fonctions si votre ligne dispose d’un débit limité.

A la fin du fichier voip.cfg , vous avez la variable rtpstream :

rtpstream {
    voice_activity_detection {
        vad_enabled = vadenabled_no;
        vad_threshold = 10000;
        }
        plc {
            in_the_stack = yes;
        }
        jitter {
            auto_on = yes;
            in_ms = 50;
            in_packets = 0;
        }
        rtcp_enabled = yes;
        silence_detection = no;
}

Que vous allez modifier comme suit :

rtpstream {
    voice_activity_detection {
        vad_enabled = vadenabled_yes;
        vad_threshold = 10000;
        }
        plc {
            in_the_stack = yes;
        }
        jitter {
            auto_on = yes;
            in_ms = 50;
            in_packets = 0;
        }
        rtcp_enabled = yes;
        silence_detection = yes;
}

La valeur du threshold étant à adapter selon votre environnement (faites des tests).

Je vous laisse découvrir les différents paramètres.

FritzBox telnet: comment accéder à la ligne de commande

Solution pour activer le serveur telnet pour les routeurs AVM FritzBox

Même si l’interface web développée par les équipes d’AVM permet de réaliser les tâches d’administration et de parentérale, il est parfois utile d’avoir recours à la ligne de commande. D’abord, parce que c’est bien ! Surtout, pour ajouter des fonctionnalités complémentaires ou accéder à des paramètres cachés de l’interface web.

Pour cela il faut activer l’accès au serveur telnet. Pour cela, vous devez disposer d’un téléphone connecté à votre FritzBox, et composer le code suivant : #96*7* . Vous aurez un message sur votre téléphone « telnet on »

Après avoir réalisé vos modifications, vous pouvez désactiver le telnet avec le code #96*8*.

Vous allez pouvoir découvrir de nouvelles possibilités à votre routeur FriztBox : ajouter un serveur OpenVPN, manager plus finement le Firewall, installer un serveur Asterisk …

FritzBox : installer les applications AVM sans utiliser le Google Play Store

L’adresse du site FTP d’AVM afin de télécharger les applications FRitzBox Android sans utiliser le Google Play Store.

Les routeurs FritzBox proposent des fonctionnalités incroyables, loin devant les box opérateurs. Les équipements haut de gamme peuvent convenir aux petites entreprises en leur fournissant des services indispensables :

  • sécurité
  • routage
  • téléphonie (PABX)
  • mobilité WiFi et DECT
  • stockage

AVM, le constructeur des FritzBox proposent aussi des applications pour les terminaux fonctionnant sous IOS et Android. Mais si vous ne souhaitez pas utiliser le play store d’Android, vous pouvez les télécharger directement sur leur ftp :

MyFRITZ!App: http://update.avm.de/fapp/MyFRITZ.apk

FRITZ!App Cam: http://update.avm.de/fapp/FritzAppCam.apk

FRITZ!App Fon: http://update.avm.de/fapp/FritzApp.apk

FRITZ!App Fon Labor: http://update.avm.de/fapp/FritzAppLabor.apk

FRITZ!App Media: http://update.avm.de/fapp/FritzAppMedia.apk

FRITZ!App Ticker: http://update.avm.de/fapp/FritzAppTicker.apk

FRITZ!App TV: httphttp://update.avm.de/fapp/FritzAppTV.apk

FRITZ!App WLAN: http://update.avm.de/fapp/FritzAppWLAN.apk

Hiawatha : le serveur web léger et sécurisé à découvrir

Présentation de Hiawatha, un serveur web léger, performant et sécurisé et de plus simple à configurer.

Introduction

J’étais à la recherche d’un serveur web léger et sécurisé afin de succéder à Cherokee. En effet, ce dernier ne semble plus maintenu. Après de nombreux tests, j’ai retenu Hiawatha.

Description de Hiawatha

Le serveur web Hiawatha a été créé en 2002 par un étudiant Hollandais du nom de Leisink. L’objectif était de pouvoir réutiliser de vieux serveurs comme serveurs web sans négliger la sécurité. Ainsi, est né ce serveur web qui est reconnu pour sa légèreté, sa performance et sa sécurité. Autre point important, le projet a remplace OpenSSL qui se débat au milieu de nombreux problèmes de sécurité par PolarSSL dès janvier 2012.

Hiawatha web server integre nativement de nombreuses fonctionnalités qui ne sont disponibles qu’au sein de modules dans d’autres serveurs (Apache par exemple). Cette intégration permet de gagner en efficacité et en sécurité.

Un autre point important concerne la simplicité de configuration. L’ensemble de la configuration est claire et se fait au sein d’un unique fichier de configuration.

Fonctionnalités

Installation de Hiawatha

L’installation de Hiawatha sur un serveur Debian/Ubuntu est simplifiée par la mise à disposition de paquets Debian Hiawatha par Chris WADGE.

Vous trouverez sur le site la liste des paquets non officiels pour votre distribution préférée.

Mais, il existe aussi un script shell très bien fait permettant une installation simplifiée d’un serveur complet intégrant Hiawatha, MariaDB, php-fpm et même wordpress ! Il suffit de changer la version du paquet Debian selon les releases (lignes 34 et 37) et d’exécuter le script.

Hiawatha script installation serveur web mariadb php-fpm

Présentation de Hiawatha

Je vous laisse découvrir cette présentation faite par le créateur de ce superbe serveur web.

Conclusion

J’ai été séduit par la qualité de ce serveur web. Je suis en train de tester l’integration avec Django et très prochainement, mes serveurs WordPress vont tourner sous Hiawatha (J’écrirais un tuto si vous êtes intéressez).

Par ailleurs, j’ai évité de publier des benchmarks, il y en a un plusieurs disponibles sur le net. Je pense que le mieux est de réaliser des tests avec son application et ainsi obtenir des résultats proches de ses propres besoins.

Enfin, je vous invite à découvrir le script de configuration de iptables, Firetable, développé par le même créateur.

Performance web : importance pour l’ecommerce – infographie

Infographie réalisée par Dareboost et Fasterize montrant l’importance de la performance des sites web e-commerce : temps de chargement, poids, requêtes, bonnes pratiques