Контейнерная технология предоставляет вам способ упаковки ваших приложений. Вы можете поместить их в отдельные пакеты, которые функционально дееспособны и независимы. PaaS-решение CloudSigma (Platform-as-a-Service) предлагает два различных типа контейнеров: системные контейнеры и контейнеры приложений. Давайте разберем, что представляет собой каждый из них, как они работают и где их можно использовать.
Что такое системные контейнеры?
Системные контейнеры работают точно так же, как небольшие виртуальные машины. Таким образом, системные контейнеры обычно содержат и обрабатывают инструменты и конфигурации для виртуальных машин. Именно поэтому они лучше всего подходят для монолитных или традиционных приложений. Некоторые из известных реализаций технологии системных контейнеров включают Linux vServer, LXC/LXD и BSD jails. CloudSigma использует Virtuozzo.
Что такое контейнеры приложений?
Контейнеры приложений, с другой стороны, представляют собой более новое решение. Вместо запуска нескольких процессов они запускают один процесс за раз. Поскольку они ориентированы на микросервисы, их относительно проще масштабировать горизонтально. Именно поэтому они являются лучшим решением для эфемерных инфраструктур. Некоторые из известных реализаций контейнеров приложений включают в себя такие, как Docker, CRI-O, и containerd. Docker является предпочтительной технологией для CloudSigma PaaS.
Вы можете использовать эти технологии контейнеризации по отдельности для своих проектов. Однако CloudSigma PaaS позволяет использовать их совместно, объединяя обе технологии на одной платформе. Таким образом, вы сможете получить лучшее от обоих миров. При таком типе внедрения вы сможете извлечь выгоду из преимуществ обоих типов контейнеров.

Docker без сомнения, является одним из самых популярных представителей контейнерных технологий на сегодняшний день. На самом деле, когда большинство людей говорят о контейнерах, они имеют в виду технологию Docker. Вот почему большинство решений, предоставляемых облачными провайдерами, представляют собой виртуальные машины, содержащие контейнеры приложений Docker вместе с гостевой ОС, ее оперативной памятью, процессором и дисковым пространством. Однако такая инфраструктура делает хостинг этого пакета довольно дорогим. Это связано с тем, что занимаемый объем значительно увеличивает ресурсы, необходимые для запуска приложения.
В CloudSigma мы запускаем технологию Docker в том же ядре, в котором она работает внутри системных контейнеров. Это означает, что оба типа контейнеров используют одни и те же ресурсы операционной системы хоста. Это позволяет снизить энергопотребление и делает всю работу более легковесной.

Варианты использования различных типов контейнеров
Вы можете использовать различные типы контейнеров для множества сценариев использования с CloudSigma. Вот несколько распространенных вариантов использования, которые мы рассмотрим более подробно:
- Сертифицированные управляемые контейнеры
- Эластичные виртуальные частные серверы (Elastic VPS)
- Пользовательские контейнеры Docker
- Docker Engine CE (Docker Native)
- Кластер Kubernetes
Давайте посмотрим, какой вариант использования лучше всего подходит для того, что вы планируете делать в своем проекте.
Сертифицированные управляемые контейнеры
Большинство пользователей, как правило, склоняются к сертифицированным управляемым контейнерам. CloudSigma предлагает ряд программных стеков, которые были настроены заранее. С их помощью можно создавать серверы приложений, балансировщики нагрузки, базы данных, а также ряд других топологий.

Все эти контейнеры сертифицированы. Они регулярно тестируются, чтобы гарантировать их пригодность для сценариев использования, реализуемых на платформе. Наша команда работает над оптимизацией стеков и их регулярным обновлением. Таким образом, в распоряжении пользователей всегда находится самая свежая версия.

Вы можете сочетать эти контейнеры с дополнительными интеграциями, чтобы получить от них еще больше преимуществ. Например, вы можете добавить автоматическую настройку в соответствии с ресурсом (cloudlet) и его лимитами масштабирования. Вы также можете добавить другие функции, такие как автоматизация развертывания приложений, автоматическая установка SSL-сертификатов, управляемая доставка обновлений безопасности и встроенная автокластеризация среди прочего.
Эластичные виртуальные частные серверы (Elastic VPS)
VPS — это виртуальный частный сервер. This is one of the most common examples of system container implementations. With CloudSigma PaaS, you can obtain containers for Elastic VPS. These containers come with various OS pre-installed including CentOS, Ubuntu, and Debian, making them primarily OS-centered. That is why they are best to use if you want to containerize legacy applications. Using Elastic VPS containers in such use cases means you need to make little to no changes during migration from VMs.

As you can see, there are no configurations after you install the container. You can add them as the end-user using the root access feature in the containers. Therefore, the Elastic VPS containers are lightweight compared to VMs but allow you to perform vertical and horizontal scaling easily.
Custom Docker Containers
The Custom Docker Container — это Docker-образ, основанный на поддерживаемой ОС. Docker-образ развертывается в системном контейнере, что делает его идеальным для вертикального и горизонтального масштабирования. Файловая система Docker-образа распаковывается внутри среды выполнения системного контейнера.

Этот тип контейнера, в отличие от сертифицированного контейнера управления, дает вам доступ к большему количеству программных стеков. Вы можете просматривать и выбирать из множества Docker-образов на Docker Hub или в других реестрах. Однако при использовании сторонних мейнтейнеров вы должны сами нести ответственность за совместимость программного обеспечения с платформой.

Docker Engine CE (Docker Native)
С CloudSigma PaaS вы получаете поддержку Docker Engine Community Edition. Он совместим с нативной экосистемой Docker и может работать внутри системного контейнера.

В результате вы можете использовать взаимодействие с некоторыми основными инструментами Docker. Вот несколько важнейших инструментов технологии контейнеров Docker:
- Docker Engine
Он запускает предварительно созданные образы контейнеров или обрабатывает манифесты Dockerfile.
- Docker Registry
Реестр отвечает за хранение публичных и приватных образов. Вы можете получить к ним доступ из этого хранилища. Они будут развернуты в Docker Engine.
- Docker Compose
Инструмент Compose позволяет собирать компоненты приложений. Для этого вам нужно объявить конфигурации в одном файле compose.
- Docker Swarm
Инструмент Swarm представляет собой несколько независимых узлов. Все они объединены в кластер.
Через CloudSigma вы можете получить доступ к решению Docker Engine CE и кластеру Docker Swarm Cluster. Эти контейнеры поставляются в готовом виде и интегрированы с функцией автокластеризации.
![]() |
![]() |
Если вы хотите узнать подробнее о Docker Engine и принципах его работы, обратитесь к следующей серии блогов:
- Автоматическая установка Docker Engine и подключение его к кластеру Swarm
- Автоматическая кластеризация и масштабирование Docker Swarm
- Подключение к Docker Engine и управление им
- Развертывание служб в кластере Docker Swarm
Кластер Kubernetes
Наконец, Kubernetes — это инструмент оркестрации с открытым исходным кодом, который можно использовать для развертывания контейнеров и управления ими. Программу можно использовать для выполнения как простых, так и сложных задач оркестрации, таких как развертывание, обновление, обнаружение служб, а также управление безопасностью.

CloudSigma PaaS позволяет полностью автоматизировать установку, настройку и обновление ваших кластеров. Вы также можете предоставить своим кластерам интегрированные сервисы, такие как Traefik, CoreDNS и Weave CNI.


Пакет Kubernetes от CloudSigma максимизирует совместимость программы и кластеров. Модель с оплатой по факту использования позволяет экономически эффективно размещать несколько контейнеров.
Вы можете узнать больше о кластере Kubernetes в следующих разделах документации:
- Обзор Kubernetes
- Доступ к кластеру Kubernetes
- Масштабирование Kubernetes на уровнях приложений и инфраструктуры
- Интеграция Kubernetes Helm
- Kubernetes Volume Provisioner
В этой статье представлен обзор различных типов контейнеров и способов их внедрения. В ней изложена информация, необходимая для принятия решения о том, какой вариант лучше всего выбрать для вашего проекта. Используйте сценарии использования для формулирования критериев и применения их к вашим уникальным требованиям.
Ознакомьтесь с PaaS-предложением CloudSigma для получения более подробной информации о функциях и возможностях нашей готовой микросервисной среды PaaS.


Комментарии
Комментариев пока нет. Будьте первым.