Концепция облачных вычислений
В программной инженерии контейнеризация — это виртуализация на уровне операционной системы или виртуализация на уровне приложений на нескольких сетевых ресурсах, чтобы программные приложения могли работать в изолированных пользовательских пространствах, называемых контейнерами, в любой облачной или необлачной среде, независимо от типа или поставщика . [1] Обратите внимание, что слово «контейнер» — это перегруженный термин. Вот почему Марк Брукер рекомендует всякий раз, когда вы используете слово «контейнер», проверять, использует ли ваша аудитория то же определение. [2]
Использование
Каждый контейнер по сути является полностью функциональной и переносимой облачной или необлачной вычислительной средой, окружающей приложение и поддерживающей его независимость от других сред, работающих параллельно. [3] По отдельности каждый контейнер имитирует отдельное программное приложение и запускает изолированные процессы [4], объединяя связанные файлы конфигурации, библиотеки и зависимости. [5] Но в совокупности несколько контейнеров используют общее ядро операционной системы (ОС). [6]
В последнее время технология контейнеризации широко применяется на платформах облачных вычислений, таких как Amazon Web Services , Microsoft Azure , Google Cloud Platform и IBM Cloud . [7] Контейнеризация также рассматривается Министерством обороны США как способ более быстрой разработки и внедрения обновлений программного обеспечения, впервые примененный в истребителе завоевания превосходства в воздухе F-22 . [8]
Типы контейнеров
- ОС-контейнеры
- Контейнеры приложений
Проблемы безопасности
- Из-за общей ОС угрозы безопасности могут затронуть всю контейнерную систему.
- В контейнеризированных средах сканеры безопасности обычно защищают ОС, но не контейнеры приложений, что добавляет нежелательную уязвимость.
Управление контейнерами, оркестровка, кластеризация
Оркестровка контейнеров или управление контейнерами в основном используется в контексте контейнеров приложений. [9] Реализации, обеспечивающие такую оркестровку, включают Kubernetes и Docker Swarm .
Управление кластером контейнеров
Кластеры контейнеров необходимо управлять. Это включает в себя функциональность для создания кластера, для обновления программного обеспечения или его ремонта, балансировки нагрузки между существующими экземплярами, масштабирования путем запуска или остановки экземпляров для адаптации к количеству пользователей, для регистрации действий и мониторинга созданных журналов или самого приложения путем опроса датчиков. Реализации такого программного обеспечения с открытым исходным кодом включают OKD и Rancher. Довольно много компаний предоставляют управление кластером контейнеров как управляемую услугу, например Alibaba , Amazon , Google , Microsoft .
Смотрите также
Дальнейшее чтение
- Журнальные статьи
- Bentaleb, Ouafa; Belloum, Adam SZ; Sebaa, Abderrazak; El-Maouhab, Aouaouche (8 июня 2021 г.). «Технологии контейнеризации: таксономии, приложения и проблемы». Журнал суперкомпьютеров . 78 : 1144–1181. doi :10.1007/s11227-021-03914-1. S2CID 236220833.
- Ватада, Джунзо; Рой, Арунава; Кадикар, Рутурадж; Фам, Хоанг; Сюй, Бин (2019). «Новые тенденции, методы и открытые вопросы контейнеризации: обзор». IEEE Access . 7 : 152443–152472. Bibcode : 2019IEEEA...7o2443W. doi : 10.1109/ACCESS.2019.2945930 . S2CID 204970781.
- ван ден Берг, Том; Сигел, Барри; Крамп, Энтони (апрель 2017 г.). «Контейнеризация высокоуровневых архитектурно-ориентированных симуляций: пример из практики». Журнал моделирования и симуляции обороны: приложения, методология, технологии . 14 (2): 115–138. doi : 10.1177/1548512916662365 . S2CID 64405143.
- Чжан, Сяо; Тан, Юй; Ли, Хао; Лю, Шаотао; Линь, Ди (2021). «Проектирование контейнеризации для автономной и управляемой облачной распределенной системы». Коммуникации, обработка сигналов и системы . Конспект лекций по электротехнике. Том 654. С. 30–38. doi :10.1007/978-981-15-8411-4_4. ISBN 978-981-15-8410-7. S2CID 236762442.
- Одун-Айо, Айзек; Гетелома, Виктор; Эвеойя, Ибукун; Ахуджа, Равин (2019). «Виртуализация, контейнеризация, композиция и оркестровка облачных вычислительных сервисов». Computational Science and Its Applications – ICCSA 2019. Lecture Notes in Computer Science. Vol. 11622. pp. 403–417. doi :10.1007/978-3-030-24305-0_30. ISBN 978-3-030-24304-3. S2CID 195769647.
- Книги
- Габриэль Н. Шенкер, Хидето Сайто, Хуэй-Чуань Хлоя Ли, Ке-Джоу Кэрол Сюй, (2019) Начало работы с контейнеризацией: снижение эксплуатационной нагрузки на вашу систему за счет автоматизации и управления контейнерами , Packt Publishing , ISBN 978-1-83864-903-6
- Джива С. Челладурай, Винод Сингх, Петуру Радж (2014), Learning Docker , Packt Publishing , ISBN 978-0-9888202-0-3
Ссылки
- ^ Шиперс, Матийс Йероен (2014). «Виртуализация и контейнеризация инфраструктуры приложений: сравнение» (PDF) . Тейс Шиперс . S2CID 18129086.
- ^ Cloud Foundry: Полное руководство по разработке, развертыванию и масштабированию . O'Reilly Media. ISBN 9781491932544.
- ^ "Что такое контейнеризация?". www.redhat.com . RedHat . Архивировано из оригинала 2021-05-08 . Получено 2021-07-10 .
- ^ Хинк, Тим Маурер, Гарретт; Хинк, Тим Маурер, Гарретт. «Безопасность облаков: учебник для политиков». Фонд Карнеги за международный мир . Получено 10 июля 2021 г.
{{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Рубенс, Пол (27.06.2017). «Что такое контейнеры и зачем они нужны?». CIO . Получено 10.07.2021 .
- ^ "Контейнеризация". www.ibm.com . Получено 2021-07-10 .
- ↑ Декабрь 2019, Jonas P. DeMuro 18 (18 декабря 2019). «Что такое контейнерная технология?». TechRadar India . Получено 10 июля 2021 г.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ «Летные испытания разрешают флоту F-22 принимать стороннее программное обеспечение». Aviation Week . 30 августа 2022 г.
- ^ "Что такое оркестровка контейнеров? Определение и связанные часто задаваемые вопросы". Avi Networks . Получено 29.04.2024 .