Подтвердить что ты не робот

В чем разница между Cloud Foundry и Docker?

Я разработчик Java. Мы используем Weblogic для размещения наших приложений. Мне сказали заглянуть в замену weblogic альтернативой open-source. Мы планируем использовать SpringBoot. Мы также рассматриваем Docker/Cloud Foundry. Однако Docker/Cloud Foundry - это новая территория для меня.

  • Кто-нибудь может рассказать мне разницу между Cloud Foundry и Docker?
  • Если мы используем Docker, но не Cloud Foundry, что мы упускаем?
  • Если мы используем Cloud Foundry, но не Docker, то что нам не хватает?

Благодарим вас за помощь.

4b9b3361

Ответ 1

Docker - это технология создания и запуска Linux-контейнеров. В некотором смысле, вы можете думать об этом как о легком ВМ. Контейнер для докеров для приложения SpringBoot будет состоять из изображения докеров, в котором будет в основном содержаться файловая система со всеми вещами, необходимыми для запуска вашего приложения (JVM, ваш исходный код и т.д.) И метаданных контейнера докеров, в котором говорится демонам докеров для запуска приложения внутри изображения (например, какие переменные среды устанавливать, какие порты выставлять, какие команды запускать и т.д.). Демон docker будет использовать функции Linux, такие как группы и пространства имен ядер, для запуска контейнера отдельно от других процессов, запущенных на главной машине. Docker несколько низкоуровневый, поскольку вам нужно указать все, что входит в образ, и оно запускает произвольные вещи, а именно все, что вы вкладываете в свой образ, и говорите ему, чтобы он запускался. Контейнер докера, который вы получаете, очень портативен, поэтому вы можете создавать, тестировать и запускать свой контейнер докеров локально для разработки, а затем отправлять этот контейнер на производственный узел, на котором также работает демон-докер, и быть уверенным, что вы получаете то же самое.

Cloud Foundry работает на более высоком уровне абстракции, причем приложения являются концепцией первого класса. Cloud Foundry использует технологию контейнеризации, подобную докере, для создания переносных изображений, а затем запускает их, но это детализация реализации, и вам не нужно указывать все детали. В новых версиях Cloud Foundry также поддерживаются изображения докеров, поэтому вы можете указать детали, если хотите, но также имеет рабочий процесс "buildpack", где он автоматически обнаруживает приложение Java при нажатии вашего приложения и будет знать, включить все вещи, необходимые для среды выполнения Java, когда она создает изображение.

С Cloud Foundry, поскольку приложения и управление приложениями являются концепциями первого класса, и поскольку он работает на более высоком уровне, вы получаете всевозможные вещи бесплатно. Например, вы можете легко масштабировать приложение по горизонтали (добавлять экземпляры), например. cf scale my_app -i 5 или вертикально, cf scale my_app -m 2G (для установки выделенной памяти для каждого экземпляра). Вы получаете потоковые журналы приложений: cf logs my_app. Cloud Foundry дает вам много отказоустойчивости бесплатно, поэтому, если один из ваших экземпляров приложений сбой, или сам процесс, запускающий сам контейнер приложения (что похоже на демон docker), или если виртуальная машина хоста, работающая с контейнером - прекращается процесс тестирования или кластер оборудования, в котором находится эта VM, Cloud Foundry автоматически возвращает ваши экземпляры.

Демон docker - это единственный процесс, который вы можете запустить на любой машине Linux. Поэтому, если вы делаете что-то маленькое и простое, и вам нужно самому сделать большую часть настройки, легче запустить и запустить как локально, так и в разработке с помощью докеров. С докере также легче иметь доступ и совместно использовать созданный ими образ докеры, поэтому, как только вы создали изображение, его можно поместить в репозиторий докеров, а затем вы можете запустить его на любом другом демонстранте докеров. С Cloud Foundry встроенное изображение, как правило, является частью реализации, и на самом деле у вас нет доступа к нему, поэтому, например, вы не смогли извлечь это изображение и запустить его на другой установке Cloud Foundry.

Существуют различные проекты, предназначенные для того, чтобы сделать Cloud Foundry более доступным и более простым в настройке, при этом предоставляя вам много преимуществ PaaS. Некоторые из этих проектов также направлены на то, чтобы вы могли сочетать использование докеров и преимуществ докеров, а также получать много преимуществ PaaS, получаемых от Cloud Foundry.

Смотрите Lattice и Cloud Foundry на BOSH-Lite.

Существует также несколько сервисов Cloud Foundry.

См. Основные веб-службы и IBM BlueMix

Существует также много проектов без CF, предназначенных для размещения слоя платформы вокруг технологии док-станции в рамках как собственных, так и хостинговых сервисов.

См. Проект Google Кубернетес и Контейнерная служба Amazon

Полное раскрытие: я инженер-программист, работающий в Cloud Foundry at Pivotal