Я могу представить свою точку зрения на EC2 (по сравнению с специализированным - никогда не уходившим от VPS-подхода) - никоим образом не исчерпывающе, и все из личного опыта, но это может стать отправной точкой.
Затраты на EC2:
- Затраты на инстансы (оперативная память, вычислительная мощность (в «ЭБУ»), временное (временное) хранилище для большинства случаев) - из расчета на час (или его часть).
- Варианты: инстансы по требованию, зарезервированные инстансы, спотовые инстансы.
- Затраты на хранилище: эластичное блочное хранилище - на ГиБ + стоимость ввода-вывода - может создавать тома EBS до одного ТиБ, может объединять несколько томов в один экземпляр, может создавать диски RAID из нескольких томов - хранилище сохраняется при завершении экземпляра
- Стоимость передачи данных - входящие данные бесплатны, исходящие данные тарифицируются на многоуровневой основе; данные, передаваемые между экземплярами в одной зоне доступности (не в одном регионе), бесплатны.
- Затраты на резервное копирование: для томов EBS можно быстро выполнить резервное копирование с помощью моментальных снимков, которые являются дифференциальными (но независимыми), сжатые образы - плата за хранение моментальных снимков (за ГиБ) и за запросы получения / размещения)
- Статический IP-адрес (эластичный IP-адрес): один на каждый экземпляр бесплатно, пока он подключен к экземпляру - за неподключенные эластичные IP-адреса взимается плата (за час или его часть))
Вы платите за каждую мелочь, и, хотя никакие индивидуальные затраты не кажутся высокими, они определенно увеличиваются со временем - вам необходимо хорошо управлять своими расходами, поскольку AWS не предоставляет встроенных механизмов для ограничения затрат (например, вы не можете укажите ограничение в 100 ГБ полосы пропускания в месяц - за все, что вы в конечном итоге используете, вы платите)
Преимущества:
- Основное преимущество заключается в масштабируемости по запросу - если вам нужна дополнительная вычислительная мощность прямо сейчас, вы можете ее получить. Сервисы EC2 также легко интегрируются с другими сервисами AWS (например, Cloudfront CDN, мониторинг Cloudwatch и т. Д.)
- У вас есть полный root-доступ, вы можете полностью настроить свои экземпляры (включая настройку собственных операционных систем, если это необходимо)
- Гибкость - существует большое количество типов экземпляров, подходящих для различных задач, но в некоторых (редких) ситуациях могут возникнуть ограничения памяти.
- Типы экземпляров легко изменить - вы можете начать с небольшого экземпляра и по требованию обновить его до большого.
- Один и тот же образ (AMI) можно легко развернуть на нескольких экземплярах «по запросу».
- Базовый мониторинг (Cloudwatch) - с интервалом в 5 минут - бесплатно
- Доступна подробная разбивка затрат с почасовым разрешением
- Хороший контроль над безопасностью (например, несколько ограниченных учетных записей и т. Д.)
- Доступ через API практически ко всем аспектам «системы»
- У большинства вещей есть интерфейс или система управления, которые вы можете использовать - вам не нужно связываться с «человеком», чтобы внести изменения (например, добавить хранилище, экземпляры, изменить операционную систему и т. Д.) - поэтому их легко протестировать и 'играть с.
Недостатки:
- EBS - ввод / вывод и производительность являются переменными и зависят от типа экземпляра (поскольку более крупные экземпляры обеспечивают большую пропускную способность сети)
- Пропускная способность - при низком уровне использования может быть довольно затратным; вы не можете «зарезервировать» количество (хотя, если вы соглашаетесь на (значительную) минимальную сумму, они могут предложить вам скидку); для действительно высокой доступности вам нужны экземпляры в нескольких регионах, что в свою очередь требует затрат на передачу между экземплярами.
- Нет внешнего брандмауэра с отслеживанием состояния (группы безопасности предоставляют внешний брандмауэр, но только для каждого порта / IP / группы безопасности)
- Тома EBS могут быть подключены только к одному экземпляру в любой момент времени.
- AWS не всегда наиболее информативен в вопросах
- Могут возникнуть проблемы с завершением работы экземпляра или отключением тома EBS (редко)
- Многоадресные / широковещательные передачи (например, используемые некоторыми транспортными системами) не поддерживаются (только одноадресные)
- Некоторые аспекты документации отсутствуют (например, в отношении определений в отчетах об использовании)
Я уверен, что есть еще пункты, но в данный момент они приходят в голову.
Личное мнение:
Я предпочитаю AWS, поскольку он предлагает хорошую стоимость, гибкость и контроль. Я думаю, что AWS лучше всего подходит как для очень маленьких, так и для крупных сайтов, которым требуется масштабируемость по запросу. Вы можете реализовать на EC2 практически все, что могли бы с VPS, но вы можете заплатить за это больше. Сайты среднего размера, которые могут найти подходящий пакет VPS, вероятно, будут нести более высокие затраты на AWS, чем на эквивалентный VPS.