web-dev-qa-db-fra.com

Hébergement Web multiple pour un domaine?

Je me demande comment vous êtes censé gérer une panne de votre fournisseur d'hébergement Web (panne de serveur, attaque par DDOS, maintenance du serveur ...) Par exemple, est-il possible d'héberger votre site Web sur plusieurs serveurs? J'utilise actuellement l'hébergement partagé avec OVH, mais il a déjà été mis hors service à plusieurs reprises et, étant très dépendant de mon site Web, j'aimerais savoir quelles sont les bonnes pratiques pour éviter un "point unique un échec". .

1
TheCat

Équilibreurs de charge

La plupart des grands sites fonctionnent sur un ensemble de serveurs derrière un équilibreur de charge. Cela permet à certains serveurs de tomber en panne (ou d'être retirés à des fins de maintenance) sans détruire l'ensemble du site.

L'équilibreur de charge est toujours un point de défaillance unique, mais les équilibreurs de charge ont généralement une disponibilité de 99,99%. Ce sont des machines à usage unique testées contre des charges très élevées.

DNS de basculement

Le basculement DNS surveille votre serveur principal (ou cluster derrière un équilibreur de charge). Lorsqu'il détecte une défaillance, il pointe le DNS vers un site de sauvegarde distinct qui s'exécute dans un emplacement différent.

Réseaux de diffusion de contenu

Les CDN agissent comme des serveurs proxy de mise en cache distribués pour votre site Web. Ils traitent les demandes adressées à votre site Web via des "nœuds Edge" situés dans le monde entier. Chaque nœud devra demander la ressource à votre serveur "Origin" lors de la première demande et à nouveau périodiquement pour prendre en compte les modifications. Les CDN aident à protéger certains types d'attaques DDOS et à réduire la charge sur votre serveur Origin.

Surveillance

Quelles que soient les solutions en place, vous devez recevoir des alertes lorsque votre site Web est en panne. Cela vous permettra d'intervenir et de résoudre les problèmes.

Serveurs de transfert

La publication de nouvelles versions de votre site Web peut parfois être problématique. Il est utile de maintenir un environnement de transfert dans lequel les nouvelles versions peuvent être exécutées pendant un certain temps avant une publication en direct. Vous voudrez généralement effectuer des tests manuels et automatisés sur votre environnement de transfert.

Synchronisation de base de données

Les sites qui utilisent une base de données voudront généralement avoir une base de données active et une seconde base de données de sauvegarde prêtes à être utilisées sur chaque emplacement d'hébergement. Ceci est généralement accompli en synchronisant les bases de données en sérialisant toutes les transactions de base de données et en les réexécutant sur chaque base de données.

Eclatement

La fragmentation est une technique qui consiste à avoir différentes données en direct sur différents serveurs en fonction d'un hachage de clé de données. Dans un environnement de partage robuste, les données sont généralement écrites sur au moins deux emplacements aux fins de redondance. Contrairement à la synchronisation des bases de données, tous les serveurs ne doivent pas nécessairement disposer d'une copie de toutes les données, ce qui permet au partage de gérer plus facilement des ensembles de données volumineux (terrabytes) qui ne s'intègrent pas bien dans les bases de données relationnelles traditionnelles.

Hébergement Cloud

Les fournisseurs d'hébergement dans le cloud tels qu'Amazon AWS offrent généralement tous ces services. AWS a même la technologie Elastic Beanstalk qui va ajouter et supprimer des serveurs automatiquement en fonction de la charge du serveur.

2