Назад | Перейти на главную страницу

Не знаете об облачном хостинге? Облачный сервер… 3 выделенных или 1 облачный? Куда идти?

Я закончил программировать целую социальную сеть, чтобы заменить старую, которая уже насчитывает 60 000 пользователей (спустя 6 лет), но иногда у нее есть 100-300 пользователей онлайн. Я собирался начать ставить разные задачи на разные выделенные серверы. Но с учетом всей этой облачной тенденции я думаю, что могу принять неправильное решение. это то, что мне потребуется мощность лошадиных сил по требованию. Я хочу аннулировать размещение сервера изображений и видео на другом выделенном сервере и другом сервере чата. Могу я просто поместить свой код php, mysql на эти хосты, а они позаботятся обо всем остальном? или есть какой-то API, для которого я должен программировать !?

Какие у меня варианты?

Прежде чем переделывать все ваше приложение, чтобы попытаться вписаться в облачную модель, я бы предложил переместить ваши видео- и графические файлы в сеть доставки контента. Использование CDN имеет много преимущества, основной из которых заключается в том, что он снимает с вашего сервера бремя обслуживания больших файлов. Для многих приложений использование CDN поможет вам масштабироваться в 10-100 раз по сравнению с тем, что вы получили бы от обслуживания вашего контента с выделенного сервера. Если у вас все еще есть проблемы с производительностью, вам может потребоваться более быстрый сервер или решение для горизонтального масштабирования.

Многие «облачные вычисления» - это просто маркетинговый жаргон для VPS - конечно, он расширяемый, но для этого потребуется время простоя, а миграции между узлами обычно влияют на производительность сервера и приводят к простою. Кроме того, стандартная конфигурация Apache, PHP и MySQL по умолчанию для систем на базе RedHat не подходит для небольших конечных систем и требует настройки.

Вдобавок ко всему, не забывайте, что «Облако» основано на реальном диске или SAN, поэтому обычно запись и чтение на диск медленнее, чем в среднем, поэтому, если ваше приложение много использует диск, это может повлиять на него.

Если вы написали свой код таким образом, чтобы его можно было легко масштабировать (например, имея функции, возвращающие текущую базу данных для записи и, возможно, другую базу данных для чтения), я бы рекомендовал начать с одного выделенного сервера и посмотреть, как хорошо это для тебя. Если вы обнаружите, что ваша пропускная способность дорого обходится вам, выберите Amazon S3 для хранения пропускной способности, видео и т. Д. Если вы обнаружите, что ваша база данных вызывает узкое место, перейдите к репликации Master-> Slave между 2 или более серверами (запись только на один , читая из любого другого). Если вы обнаружите, что ваш сервер работает медленно и это не база данных, подумайте о балансировке нагрузки на веб-сайте. Если вы обнаружите, что сайт загружается медленно, несмотря на то, что сервер быстро отвечает (из-за контента), рассмотрите возможность использования CDN.

Вы сможете добавить что-либо из этих вещей впоследствии, если код достаточно гибкий, если нет, вам нужно начать делать его гибким, прежде чем беспокоиться о масштабировании.