Как я понял, он не создает виртуальную машину для каждой новой службы, но запускает все службы в контейнере Warden на виртуальной машине «DEA», где-то у поставщика IaaS (например, Openstack, AWS..)
Если вы замените слово «сервис» на «приложение», это утверждение будет правильным. Важно проводить это различие, поскольку в Cloud Foundry также используется концепция сервисов, которая отличается от приложений.
Подводя итог, Cloud Foundry запускает одну или несколько виртуальных машин DEA. Они предоставляются в вашей IaaS, обычно с использованием Bosh. Ваши приложения, отправленные в Cloud Foundry, будут работать внутри виртуальных машин DEA. В DEA приложения будут работать в контейнере, который изолирует приложения.
Чего я не понял, так это того, что виртуальная машина DEA «резервирует» ресурсы X в любое время (даже если службы не развернуты)?? В этом случае я всегда буду платить за максимальные ресурсы.
Виртуальные машины DEA создаются при развертывании Cloud Foundry. В это время им назначаются ограничения ресурсов (ОЗУ, VCPUS и т. д.). Без развертывания каких-либо приложений на виртуальных машинах DEA не так много работы, поэтому большая часть этих ресурсов не используется.
Когда вы или ваши пользователи развертываете приложения, DEA будет создавать новые контейнеры для запуска ваших приложений. Контейнеры создаются очень и очень быстро, поэтому их не нужно предварительно выделять. Также сами контейнеры реально не потребляют ресурсы, они просто устанавливают лимиты для запущенных в них приложений.
Сами приложения потребляют большую часть ресурсов, таких как дисковое пространство, память и ЦП. Однако это происходит только тогда, когда приложения запущены.
Другой вопрос: что, если DEA «полный»?
Cloud Foundry будет развертывать приложения в DEA только при наличии места. Когда один заполняется, он перестает принимать новые приложения. Другие DEA, если они у вас есть, должны будут принять новые приложения, иначе ваши пользователи получат сообщение об ошибке, в котором будет сказано, что для нового приложения недостаточно места.
и мне нужно масштабировать это тоже можно было бы? Создать на лету еще одну виртуальную машину DEA и перенести туда какие-то сервисы?
Если вы развертываете с помощью Bosh, ответ — да. Вы можете указать компании Bosh, сколько DEA вы хотите развернуть, и она сделает это.
Как я могу найти документацию об этом? Я обнаружил, что на веб-сайте CloudFoundry не так много информации.
Я бы предложил начать с документов Bosh. Это здесь. Затем просмотрите столбец «Запуск Cloud Foundry» на странице документации здесь.
Для OpenStack вы можете ознакомиться с этими инструкциями, а если у вас возникнут вопросы, vcap-dev — хорошее место, чтобы спросить их.
04.02.2015