Hébergement en nuage: l'avons-nous besoin?

Nous avons un server (4 Go de RAM, deux processeurs Intel Xeon E5420 4-core) effectuant les tâches suivantes:

  • site Web avec contenu statique (actuellement seulement un CMS, nous prévoyons append un proxy inversé en cache)
  • panneau de contrôle client (fondamentalement interface Web à une database)
  • scripts de backend pour notre logiciel de bureautique – quelques scripts PHP qui effectuent quelques requêtes / mises à jour de DB, mais seront touchés toutes les 5 minutes par client
  • données de stockage de database pour les deux ci-dessus

Nous attendons un grand afstream d'users (jusqu'à des centaines de milliers) dans les prochaines semaines. Mes supérieurs craignent que notre configuration actuelle ne soit pas capable de gérer la charge et envisage de passer à l'hébergement en nuage, mais je ne suis pas convaincu que cela aiderait. D'après ce que je comprends du cloud computing, la virtualisation ne sera pas très utile, à less que nous ne puissions split la charge de travail sur plusieurs machines (à less qu'elles ne disposent de servers individuels significativement plus puissants que les nôtres). Ils offrent des clusters MySQL, mais les scripts backend simplement lire / écrire certaines valeurs dans quelques lignes et ne pas effectuer de requêtes SQL à forte intensité de calcul, donc je ne suis pas sûr que les grappes MySQL fassent beaucoup de différence par rapport à Apache / Surcharge générique PHP + latence du réseau MySQL. En ce qui concerne le site Web, nous pourrions également déplacer la plupart du contenu statique vers un CDN car nous avons quelques clips video qui pourraient accentuer notre bande passante.

Alors, l'hébergement en nuage nous profiterait-il de quelque façon que ce soit?

2 Solutions collect form web for “Hébergement en nuage: l'avons-nous besoin?”

Peut-être peut-être pas. Comme vous en pensez, à less que vous ne puissiez facilement split la charge de travail de votre système en unités discrètes qui peuvent communiquer sur l'set du réseau, vous ne verrez aucun bénéfice d'access à un fournisseur «cloud» en termes d'évolutivité. Il existe des fournisseurs de «cloud» qui proposent des machines beaucoup plus grandes (du sharepoint vue de la RAM, de toute façon – j'ai des doutes quant à l'obtention systématique de l'équivalent de huit cœurs E5420), mais vous pouvez get plus de RAM pour votre server existant, si nécessaire.

Je passais le time de regarder chaque composant individuel du système, en évaluant l'utilisation de la ressource de chacun et, par conséquent, sur la quantité de "sauvegarde" qu'il serait de le déplacer sur une boîte distincte. Ensuite, regardez la façon dont chaque composant (à partir de la plus intensive en ressources) pourrait être regroupé, de sorte que le travail de ce composant pourrait être divisé sur plusieurs machines (ce qu'on appelle «évolutivité horizontale»). Une fois que vous l'avez fait pour tout ce qui a le potentiel d'utiliser n'importe où près de la valeur d'une machine en fonction de vos niveaux de charge projetés, vous pouvez aller à vos supérieurs avec un plan et une estimation de l'effort et des coûts pour répartir tout cela.

Rien de tout cela est «spécifique au cloud», c'est simplement une enquête de diligence raisonnable sur la façon de faire face à l'augmentation de la charge de l'user. Là où vous pouvez commencer à utiliser les avantages de l'informatique «en nuage», c'est quand vous avez besoin d'augmenter à la hâte, vous pouvez simplement appuyer sur un button et whoomp! il y a plus de ressources à votre disposition. N'attendez pas jusqu'à ce que les pointes de charge puissent essayer cela, bien que – si vous valorisez votre time de fonctionnement, exécutez avec au less deux de chaque composant évolutif en tout time, vérifiez les seuils de triggersment de votre expansion avancez, surveillez-les et générez vos nouvelles instances le plus tôt possible. Ensuite, mettez le système sous charge massive et testez que tout fonctionne comme vous l'attendez.

Comme l'indique Pauska, une grande partie de la valeur d'un environnement virtualisé est la redondance et la disponibilité, en plus de l'échelle. Vous voudrez peut-être considérer une solution de style cloud privé, comme Rackspace, ou rouler la vôtre, en supposant que vous avez un bon personnel VMWare à la maison. Cela prendra un certain time cependant, comme l'excellente publication de womble indique de le faire correctement.

Si vous avez un timeout pour vous rapidement, et que vous n'avez pas le time de faire des searchs sur vos applications, les éléments suivants viennent à l'esprit:

  • Essayez de déplacer le service Web vers un server distinct, de sorte que MySQL puisse disposer de l'set de la machine 8 core. Ceci est extrêmement important dans les environnements MS, mais je suis sûr qu'il a de la valeur dans les stacks LAMP.
  • Donnez à toutes les machines impliquées plus de RAM – La RAM est bon marché. Le time que vous prenez pour la search coûtera plus cher que la RAM dans mon expérience, alors, faites-le.
  • Envisagez la caching inversée. Les grognements d'un cache inversé devant tout cela peuvent faciliter la charge et améliorer l'échelle sans complications.
  • Lisez l'excellente réponse de womble et suivez ses conseils aussi.
  • Migration de la forêt racine Active Directory
  • Logiciel de server virtuel en nuage open source
  • Quels services cloud seront présents en 2015?
  • Meilleure option pour le regroupement de stockage
  • ~ 50tb de stockage dans Azure présenté en tant que partage de file Windows unique
  • Erreur lors de l'ajout du model ISO à Cloudstack
  • Google Cloud Print sur linux
  • Magento VM Instance sur Google Cloud Platform ne permet pas de download des files
  • Évitez les time d'arrêt du server
  • Utilisation de Microsoft Azure pour héberger une solution .NET
  • Que se passe-t-il si un controller de nuage OpenStack meurt?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.