Ajouter un commentaire

5 Erreurs à éviter sur votre Site Drupal - Numéro 4: L'Infrastructure

Photo by Ravi Sarma - Brooklyn Bridge, CC BY 2.0

Dans les précédents articles de cette série, nous avons abordé l’architecture, la sécurité et la performance. Tous ces aspects sont affectés par l’infrastructure, de la phase de développement jusqu’au déploiement.

L’infrastructure englobe le stack sur laquelle s’appuie votre site web, y compris le serveur, la base de données et toutes les couches logicielles, telles que Varnish ou Memcached, qui garantissent à vos visiteurs une expérience optimale. Par exemple, une planification de l’infrastructure dès le départ et un développement dans le même environnement peut réduire considérablement les variables et les risques au moment du lancement. Avoir une configuration multi-environnement fiable et un solide plan de reprise après sinistre ne doit pas relever d’une décision de dernière minute, sous peine de voir apparaître des problèmes. Voici quelques conseils pour éviter les erreurs les plus courantes.

Meilleures pratiques

  • Votre stack doit être correctement dimensionnée, ni trop grande, ni trop petite. Vous avez ainsi la garantie d’être économiquement préparé à tout.
  • Le matériel ou les processus qui monopolisent la mémoire peuvent être à l’origine de goulots d’étranglement. Vérifiez les journaux pour repérer les erreurs et anticipez la croissance et les pics de trafic. La rapidité de votre pile correspond à celle du composant le plus lent. Accordez toute votre attention à ce niveau, car vous trouverez certainement des mesures faciles à mettre en œuvre.
  • En termes de sécurité, il est également vital de se protéger des attaques internes comme des attaques externes.

Adaptez les dimensions de votre stack

  • Erreur: La capacité matérielle du serveur est suffisante, mais la configuration est incorrecte.
  • Exemple: Le serveur de base de données est assez grand avec 48 Go de mémoire, mais le pool de mémoires tampons InnoDb est limité à 1 Go.
  • Solution: Tenez compte de tous les aspects de la configuration de la pile. Utilisez des outils tels que mysqltuner.pl (voir Outils recommandés) pour analyser votre base de données.

Laissez Varnish essuyer les coups

  • Erreur: Le trafic contourne Varnish en raison d’une configuration incorrecte.
  • Solution: Vérifiez les en-têtes de réponse pour garantir que les pages censées être en cache le sont. Assurez-vous que les modules n’établissent pas inutilement des variables de session.

Évitez l’exposition aux vulnérabilités

  • Erreur: Autorisation des connexions distantes à la base de données, Memcached ou Solr.
  • Exemple: En partant du principe qu’un pare-feu externe assurera une protection adéquate, le port exécutant Memcached n’est pas protégé via IPtables.
  • Solution: Entre 50 et 70 pourcent des attaques peuvent avoir une origine interne. Interdisez les connexions distantes à la base de données, Memcached ou Solr, et maintenez cette configuration même lorsque l’infrastructure change.

Ressources recommandées

  • Script de tuning MySQL : mysqltuner.pl ou MYSQLTuner. Indique les variables de configuration actuelles et l’état de votre installation MySQL et propose des améliorations de performances basiques.
  • Je vous invite également à découvrir nos ateliers Infrastructure destinés aux équipes opérationnelles qui ne sont pas encore familiarisées avec les exigences Drupal ou LAMP, en particulier celles qui construisent leur propre infrastructure au lieu d’adopter une solution gérée comme notre service d’hébergement.
  • Récemment, mon collègue Cameron Tod a écrit un article au sujet des spécificités relatives à l’infrastructure muti-site Drupal, que je vous recommande de lire si vous avez besoin de plus de détails sur ce type de configuration.

Photo by Ravi Sarma - Brooklyn Bridge (CC BY 2.0)

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Filtered HTML

  • Use [acphone_sales], [acphone_sales_text], [acphone_support], [acphone_international], [acphone_devcloud], [acphone_extra1] and [acphone_extra2] as placeholders for Acquia phone numbers. Add class "acquia-phones-link" to wrapper element to make number a link.
  • Pour publier des morceaux de code, entourez-les avec les balises <code>...</code>. Pour du PHP, utilisez. <?php ... ?>, ce qui va colorier le code en fonction de sa syntaxe.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <h4> <h5> <h2> <img>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
By submitting this form, you accept the Mollom privacy policy.