Моя компания готовится выпустить веб-приложение (SaaS). На данный момент это наш самый большой выпуск, поэтому мы хотим собрать некоторую информацию и советы по нескольким вопросам, на самом деле очень важным является:
"какое решение выбрать хостинг? Как определить требуемые параметры хостинга?".
Стоит ли вообще рассматривать виртуальный хостинг? Как оценить требуемые параметры VPS? и так далее...
У нас нет неограниченного бюджета, поэтому цена здесь важна, конечно, с увеличением количества пользователей мы с радостью инвестируем наш доход в масштабирование до чего-то большего. Это приводит к другому вопросу:
Какое решение проще всего расширить, когда услуга станет популярнее?
(Наше приложение написано на Python / Django с postgre в качестве бэкэнда.)
Виртуальный хостинг (то есть 8 долларов в месяц и т.п.) почти наверняка того не стоит; В ту минуту, когда разработчик потратит 30 минут своего времени на изучение и устранение проблемы, связанной с тем, что он используется совместно на дрянной, перепроданной машине, вы могли бы заплатить за более качественную.
Выше варианта 8 долларов в месяц можно рассмотреть три варианта:
Кроме того, вы должны также подумать, какой уровень поддержки вам нужен. Ваши разработчики * гуру NIX и PostgreSQL? Даже если да, разве это лучшее использование их времени?
Что касается масштабирования, выделенные серверы будут масштабироваться лучше всего - и прежде чем я получу отрицательные голоса за это, позвольте мне объяснить, почему. Запуск PostgreSQL означает, что масштабирование уровня базы данных лучше всего выполнять вертикально; то есть, добавив больше ОЗУ и более быстрый процессор. Это относительно сложно, по крайней мере, по сравнению с MySQL, для горизонтального масштабирования (на дополнительные серверы), требуя таких вещей, как объединение в пул и репликация «многие ко многим». Проблема в том, что процессоры в облаке не такие быстрые. Чтобы назвать одно, абсолютная максимальная скорость процессора, которую вы можете выжать из Amazon EC2, связана с их предложениями с высокими процессорами, которые составляют 2,5 ЭКЮ на процессор. Это далеко не так, как у современного процессора, который вы бы получили на новой выделенной машине - каждый процессор выполняет около 4600 BogoMIPS без штрафов за виртуализацию, по сравнению с более чем 6500 даже для типичного современного процессора. VPS предоставит вам полные 6 500 или более, хотя по-прежнему со снижением производительности, связанным с виртуализацией. Специальная машина обеспечит вам каждый цикл. Это превышение скорости также означает, что вы можете консолидировать сеть и базу данных на одной машине, пока не перерастете ее.
Если вы знаете с самого начала, что вам понадобится разделение, на стороне веб-заголовка облака дают вам возможность очень быстро масштабироваться по горизонтали (несколько секунд), VPS - меньше (несколько минут, до часа или около того) и выделенные серверы, как минимум (от нескольких часов до недели или дольше). С другой стороны, вы довольно быстро "заполните" облачную веб-головку, потому что она настолько мала, в то время как выделенная веб-головка имеет производительность нескольких десятков облачных веб-заголовков, и, если она заполнится, будет хорошо видно вниз по дороге, чтобы вы могли правильно спланировать.
И последнее, что нужно учитывать: цена. Я уверен, что вы уже смотрите на цену, но я думаю о цене, основанной на использовании. VPS и выделенные серверы обычно взимают плату только за полосу пропускания, и она предоставляется значительными порциями. Облака будут взимать плату за каждый последний использованный вами ресурс. Таким образом, VPS и выделенные серверы имеют предсказуемые счета в конце месяца; облако, особенно динамически масштабируемое, может стоить вам тысячи или десятки тысяч долларов, например, если вы подвергнетесь DDoSed-атаке.