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

Amazon EC2 + EBS, разумно ли это с финансовой точки зрения для небольших стартапов?

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

Мне понадобится экземпляр EC2, поскольку я буду запускать сервер Apache, а также я буду запускать приложение Java, в котором будет размещаться веб-служба, которая будет взаимодействовать с базой данных MySQL. (Для чего я не уверен, следует ли мне использовать Amazon RDS)

Если бы мне пришлось сделать очень приблизительную оценку (оптимистичный абсолютный верхний предел), я бы сказал, что мне нужно поддерживать 5 веб-запросов в секунду и примерно такое же количество запросов в MySQL. Может быть, 50 ГБ пропускной способности для пользователей.

Небольшой экземпляр EC2: «Малый экземпляр (по умолчанию) 1,7 ГБ памяти, 1 вычислительный модуль EC2 (1 виртуальное ядро ​​с 1 вычислительным модулем EC2), 160 ГБ хранилища локального экземпляра, 32-разрядная платформа»

Большой экземпляр EC2: «Большой экземпляр 7,5 ГБ памяти, 4 вычислительных блока EC2 (2 виртуальных ядра с 2 вычислительными блоками EC2 каждое), 850 ГБ хранилища локальных экземпляров, 64-разрядная платформа»

Итак, если я выберу маленький, я полагаю, что могу рассчитывать на счет около 200 долларов, а большой - около 350 долларов. Могу ли я просто держаться подальше от Amazon EC2 и смотреть на небольшие хостинговые компании?

большое спасибо

Как вы заметили, с EC2 связан ряд затрат, помимо затрат на запуск экземпляра, однако «хранилище экземпляров», упомянутое в вашем вопросе, не входит в их число.

Каждый экземпляр EC2 (за исключением t1.micros) поставляется с временным хранилищем, которое включается без дополнительных затрат (ни для ввода-вывода, ни для хранения). Однако это хранилище не сохраняется - как только экземпляр останавливается или завершается, содержимое эфемерного хранилища стирается. Это полезно только для временных целей (например, временные файлы, некоторые типы кешей, промежуточные файлы в процессах сборки и т. Д.)

Следовательно, вам потребуется том EBS для хранения файлов - как для основного программного обеспечения, так и для вашего веб-приложения. Я обычно предпочитаю использовать как минимум 2 тома EBS - один для корневого тома, для которого я ожидаю минимальных изменений, и один для всего остального (базы данных, журналы, почта, приложение + пользовательские данные и т. Д.).

EBS Хранилище

Я не могу судить о ваших потребностях в хранилище, но программное обеспечение (операционная система + стек LAMP + почта и т. Д.), Скорее всего, будет меньше 2 ГБ. Я предполагаю, что ваше приложение довольно мало - это означает, что неизвестными являются пользовательские данные (базы данных, файлы и т. Д.) - я бы сказал, что 10 ГБ, вероятно, достаточно для начала в большинстве случаев.

  • Том EBS №1 - корневой том - 4 ГБ (позволяет увеличить, немного дополнительного места на диске)
  • Том EBS # 2: 10 ГБ
  • Если вы используете t1.micro, добавьте том EBS №3 - пространство подкачки - 1 ГБ

Итого: 15 ГБ = 1,50 доллара США в месяц (0,10 доллара США за ГБ в месяц)

Расчетное количество операций ввода-вывода в секунду EBS:

  • Корневой EBS - 2-5 IOPS
  • Data EBS - 10-30 IOPS
  • Swap EBS - <1 IOPS

Итого: 13–36 операций ввода-вывода в секунду - стоимость: 3,42–9,46 доллара США в месяц (~ 0,2628 доллара США в месяц за количество операций ввода-вывода в секунду)

Выходная пропускная способность

50 ГБ / мес (ваша оценка) = 0,120 USD * 49 = 5,88 USD / мес (1-й ГБ бесплатно)

Эластичный IP

Эластичный IP-адрес бесплатен, пока он привязан к работающему экземпляру.

Резервные копии - снимки EBS

Я бы оценил примерно такое же используемое пространство, как и ваши общие данные (данные сжаты, и каждый моментальный снимок является дифференциальным, но они складываются со временем), поэтому предполагаем, что вы начинаете только с 8 ГБ данных + 2 ГБ на корневом диске = 10 ГБ (очевидно, что своп не будет сниматься);

10 ГБ = 1,25 доллара США / мес (0,125 доллара США / ГБ / мес)

Итого, без учета затрат на инстанс EC2:

Эластичный IP - 0,00 долл. Хранилище EBS - 1,50 долл. США на ввод / вывод EBS - 5,00 долл. (Число в середине диапазона) Моментальные снимки EBS - 1,25 долл.

Стоимость инстанса

Теперь вам нужна фактическая стоимость экземпляра. Если вы будете постоянно запускать машину (требуется для веб-сервера) - я бы предложил зарезервированный экземпляр. (В среднем 730 ч / мес)

t1.micro:

  • По запросу = 0,02 $ / час = 14,6 $ / мес.
  • Срок действия 1 год (высокая загрузка): 62 $ + 0,005 / час = 8,82 $ / мес ((0,005 * 24 * 365 + 62) / 12)
  • Срок действия 3 года (высокая загрузка): 100 $ + 0,005 / час = 6,43 $ / мес.

m1.small:

  • По запросу: 0,085 / час = 62,05 $ / мес.
  • Срок действия 1 год (высокая загрузка): 276,25 долл. США + 0,02 долл. США / час = 37,62 долл. США / мес.
  • Срок действия 3 года (высокая загрузка): 425 $ + 0,02 / час = 26,41 $ / мес.

В зависимости от сделанного вами выбора ваши затраты составят от 20 долларов в месяц (t1.micro зарезервировано на 3 года) до 80 долларов в месяц (m1.small по запросу).

Ноты:

5 запросов в секунду - это довольно мало - даже t1.micro должен справиться с этим. Я бы посоветовал сначала попробовать ваше приложение на этом типе инстанса (AWS предлагает новым клиентам один год бесплатного использования t1.micro) - если вам нужен более крупный тип инстанса, просто остановите (не завершая) ваш экземпляр, и изменив атрибуты экземпляра, вы сможете снова подключиться к сети менее чем через 5 минут, запустив новый экземпляр.

Я не являюсь специалистом по Java, но если вы можете использовать легкий веб-сервер (nginx, lighttpd) вместо Apache, вы получите гораздо лучшую производительность из экземпляра EC2 (основная проблема с Apache - это использование памяти, особенно на t1 .микро).

Если вы используете t1.micro, я бы не советовал использовать 64-битную операционную систему, у нее ограниченный объем памяти, а 64-битные регистры значительно увеличивают необходимую память без ощутимого выигрыша.

Кроме того, если у вас нет особых предпочтений в отношении операционной системы, я бы порекомендовал Amazon Linux AMI - он основан на RHEL / CentOS со всеми удаленными ненужными частями и официально поддерживается (и они хранят свои репозитории до Дата!).

Не беспокойтесь об Amazon RDS - большинство людей считают, что его производительность не так хороша, и он не предлагает особых функций с помощью `` автоматических '' функций (например, вам все равно придется вручную настраивать репликацию и т. Д., И применяются обычные ограничения ).

Небольшое предостережение относительно t1.micros - их производительность сильно варьируется - если вы сможете сохранить низкую загрузку процессора, все будет в порядке, но если вы обнаружите, что он резко увеличивается, производительность будет ужасной. Остальные экземпляры имеют гораздо более стабильную работу.

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

Вы можете попробовать Калькулятор стоимости AWS поиграть с числами (хотя лично я предпочитаю делать это вручную).

Вы должны легко поддерживать 5 запросов Apache в секунду за счет микро-экземпляров за 15 долларов в месяц. Небольшой экземпляр обойдется вам в 60 долларов в месяц или около того, и, как и в случае с микро-экземпляром, MySQL + Apache должен работать нормально, поэтому я не уверен, откуда берутся эти 200 долларов.

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