У нас есть небольшое приложение с внешним интерфейсом AngularJS и внутренним NodeJS. Нам нужно разместить его для большего числа пользователей, скажем, 100 000. Мы поместили приложение в контейнер и собираемся использовать AWS ECS для размещения приложения.
Я создал отдельные кластеры для внешнего интерфейса и внутреннего интерфейса в AWS ECS. Но я не уверен, какой тип экземпляра EC2 (машины) мне выбрать?
Я планирую создать 48 контейнеров для обработки груза. Каждый контейнер имеет жесткий лимит в 500 МБ, поэтому он не будет использовать сверх этого значения. Какой экземпляр (машину) я должен использовать?
- Кластер больших машин. Например: 3 X 8 ГБ оперативной памяти содержит 48 контейнеров (16 контейнеров на каждом компьютере).
- Группа небольших машин. Например: 12 X 2 ГБ ОЗУ содержит 48 контейнеров (по 4 контейнера на каждом компьютере).
То, что я думал, было:
- Для небольшой машины, например, t2.small (2 ГБ ОЗУ, 2 ВЦП), который содержит 4 контейнера, совместно использует 2 ГБ памяти и 2 ВЦП между этими 4 контейнерами.
- Но для больших машин, например, 8 ГБ ОЗУ с 2vCPU содержит 16 контейнеров, совместно использующих 8 ГБ памяти и ТАКЖЕ ДЕЛИТСЯ ЭТИМ ЖЕ 2vCPU
Итак, я использовал меньший машинный подход. Но есть ли другой фактор, по которому я скучаю?