Amazon предоставляет сервисы для обслуживания контейнерных сервисов (т.е. докеров), работающих на инстансах EC2.
Насколько мне известно, на простом сервере, если у вас есть 5 контейнеров с одинаковыми ОС в качестве базовой, например, докер не вторгается в отдельные ресурсы самой ОС 5 раз. Несмотря на 5 отдельных контейнеров, идентичные ресурсы хранятся в памяти один раз.
Итак, если я использую контейнерный сервис AWS EC2, останусь ли у меня такое же преимущество? С одной стороны, кажется, что инфраструктура AWS уже должна иметь идентичные базовые ОС под управлением некоторых других пользователей. С одной стороны, они могут не дать вам этого преимущества: каждый докер делает вид, будто это единственный контейнер, работающий на отдельной машине.
Любые идеи?
Я не уверен, что полностью понимаю ваш вопрос, но позвольте мне попытаться ответить на него.
Docker и большинство инструментов контейнеризации полагаются на несколько функций уровня ядра, которые позволяют программам изолировать свои процессы и «видение» того, что еще работает в системе. Концептуально вы правы; находясь внутри контейнера докеров, он не знает о существовании каких-либо других контейнеров.
Теперь отвечу на ваш вопрос о совместном использовании ресурсов. По моему личному опыту, я не видел этого примера разделения памяти, о котором вы говорите. Если у вас есть 5 точных контейнеров, каждый контейнер имеет свою собственную память, и эта память не уменьшается, потому что у вас одинаковые контейнеры. Это не так. Однако, как и во многих продуктах виртуализации, можно выделить чрезмерное количество памяти. Обычно ваши контейнеры будут использовать только объем выделенной в данный момент памяти, а не максимальный объем, запрошенный контейнером при запуске. Я уверен, что для этого есть вариант конфигурации.