Я хотел бы сравнить преимущества двух архитектур хостинга для небольшого сервера (имеется в виду 2-ядерный ЦП и твердотельный накопитель емкостью 250 ГБ, при этом 100 ГБ выделено для данных, более чем достаточно), состоящий в основном из настраиваемого приложения, предоставляющего веб-службы, с архитектурой REST и всеми данными в реляционной базе данных.
Я вижу преимущества для 1.
и для 2
Чего я скучаю? Есть ли указатели на авторитетную позицию по этому поводу?
Относительно первого пункта:
Когда ваша веб-служба скомпрометирована, база данных также будет скомпрометирована. Лучше всего отделить уровень представления от уровня данных.
Задержка при одинаковых или даже между двумя зонами доступности является незначительной и может быть исключена из рассмотрения.
Я бы не сказал, что это решение будет намного дешевле, чем RDS, потому что важным фактором, влияющим на цену, будет SSD-хранилище. Цена будет примерно 30% между RDS и EC2.
Что касается типа SSD, вы должны решить или, может быть, вы уже знаете, какой уровень IOPS и МБ / с на пиках понадобится вашей базе данных в будущем. Это также было бы хорошим кандидатом для улучшения окончательной цены решения.
По поводу второго пункта:
Вы можете предотвратить эту ситуацию. По умолчанию, когда вы присоединяете некорневой том EBS к экземпляру, атрибуту DeleteOnTermination устанавливается значение false . Я предполагаю, что база данных будет расположена на некорневом томе EBS. Для корневого тома также может быть установлено значение false .
вам не нужно копировать базу данных из EC2 в EC2, вы можете присоединить или отсоединить том EBS с базой данных.
как вы указали в решении RDS, административная ответственность лежит на AWS. Однако чем сложнее схема базы данных, тем больше я бы выбрал неуправляемую службу базы данных.
Вы не упомянули, что является ключевым фактором для архитектуры. Экономия на затратах или управлении операциями? Цена будет значительно отличаться, когда вы выберете тип модели ценообразования: нет аванс против всего аванса. Я не знаю, будет ли эта служба работать в рабочее время и может ли она быть отключена на ночь. Вы также не упомянули, что будет работать в веб-службах. Насколько это важно для бизнеса? Может быть, хорошим и экономичным решением было бы рассмотреть бессерверную архитектуру, если веб-сервис представляет собой приложение, основанное на событиях.