Comment juger de la qualité de la connectivité d’un site Web ?

Souvent, les seules contraintes que nous nous fixons lors de la réalisation d’un site Web se situent au niveau de la conformité de son affichage quant à un design préétabli sur les trois principaux navigateurs du moment, et au respect des fonctionnalités demandées. Avec des projets plus avancés, nous pouvons aller jusqu’à l'implémentation de tests automatisés validant des pans plus ou moins complets de l'applicatif.

Malheureusement, on oublie souvent de prendre en compte dans nos critères de réussite, l’infrastructure même rendant notre site accessible au monde entier.
Pourtant, une mauvaise configuration ou l’utilisation de protocoles obsolètes peut nuire de façon très concrète à l’expérience utilisateur (par exemple en rallongent les temps de chargement), voir carrément en rendant le site inaccessible. L’idée de cet article est donc de présenter des notions propres à ce domaine, impersonnelles et suffisamment globales pour pouvoir s’appliquer à tout projet Web.

Notez également que nous nous limitons ici à la partie de l’infrastructure effectuant la connectivité avec l’extérieur. Nous ne parlerons pas de résilience aux pannes ni de politiques de sauvegardes.

Comprendre AppArmor

apparmor

Avec une installation Linux, la majorité de la sécurité s'effectue au travers de la gestion d'accès à un objet par un processus donné. Concrètement, on assigne des droits d'écriture, lecture ou exécution à un utilisateur via lequel une application est exécutée. Malheureusement, ce système montre vite ses limites dans la mesure ou l'affinement des autorisations ne peut se faire que sur trois niveaux : l'utilisateur propriétaire d'un fichier, le groupe propriétaire et tous les autres.

Les groupes de contrôle

Pour réduire les coûts de production d'une infrastructure informatique, la virtualisation est une pratique couramment utilisée. Le principe consiste à avoir un gros serveur physique sur lequel nous déployons plusieurs systèmes d'exploitation isolés les uns des autres. De cette façon, la consommation énergétique est répartie entre toutes les applications, qui du coup, est unitairement très faible en comparaison avec ce qu'il faudrait pour les alimenter sur des hôtes distincts.

Bien que cette technique permette déjà de sauvegarder pas mal de ressources, un nouveau procédé a commencé à émerger cette dernière décennie : la conteneurisation.

Petite introduction à ZFS

Oracle_logo

ZFS est un système de fichiers développé par Sun, pour son OS Solaris. La première release stable date de juin 2006. Depuis, celui-ci a été adapté d'abord à FreeBSD, puis plus récemment à NetBSD et à Linux. Aujourd'hui, ZFS est disponible dans les dépôts officiels d'Ubuntu depuis la version 15.10. Il souffre néanmoins d'une popularité plus restreinte sous Linux, car son intégration au sein du noyau est impossible en raison d'une incompatibilité de licence. Un projet similaire nommé Btrfs est censé pallier à ce problème juridique, malheureusement, cette seconde solution reste moins avancée que ne l'est ZFS pour le moment.

Les hooks Git

formation-git

Git est un système de versionnage bien pratique pour plusieurs raisons. Les plus communes sont probablement la souplesse avec laquelle il est possible de cloner et repartager n'importe quel dépôt, sa notion de branches très fonctionnelle grâce aux commandes avancées que la solution propose (commits interactifs, rebase, stash et bien-sûr : merge), ou simplement le fait qu'il s'agisse d'une des technologies la plus populaire, donc la plus supportée. Une raison secondaire, mais potentiellement aussi puissante réside dans son système de hooks (« crochets », en français) autorisant le couplage avec des applications externes.