Назад в блог

Технология контейнеризации: типы и применение различных контейнеров на PaaS-платформе CloudSigma

Технология контейнеризации: типы и применение различных контейнеров на PaaS-платформе CloudSigma

Контейнерная технология предоставляет вам способ упаковки ваших приложений. Вы можете поместить их в отдельные пакеты, которые функционально дееспособны и независимы. PaaS-решение CloudSigma (Platform-as-a-Service) предлагает два различных типа контейнеров: системные контейнеры и контейнеры приложений. Давайте разберем, что представляет собой каждый из них, как они работают и где их можно использовать.

Что такое системные контейнеры?

Системные контейнеры работают точно так же, как небольшие виртуальные машины. Таким образом, системные контейнеры обычно содержат и обрабатывают инструменты и конфигурации для виртуальных машин. Именно поэтому они лучше всего подходят для монолитных или традиционных приложений. Некоторые из известных реализаций технологии системных контейнеров включают Linux vServer, LXC/LXD и BSD jails. CloudSigma использует Virtuozzo.

Что такое контейнеры приложений?

Контейнеры приложений, с другой стороны, представляют собой более новое решение. Вместо запуска нескольких процессов они запускают один процесс за раз. Поскольку они ориентированы на микросервисы, их относительно проще масштабировать горизонтально. Именно поэтому они являются лучшим решением для эфемерных инфраструктур. Некоторые из известных реализаций контейнеров приложений включают в себя такие, как Docker, CRI-O, и containerd. Docker является предпочтительной технологией для CloudSigma PaaS.

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

application container and system container

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

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

system containers

Варианты использования различных типов контейнеров

Вы можете использовать различные типы контейнеров для множества сценариев использования с CloudSigma. Вот несколько распространенных вариантов использования, которые мы рассмотрим более подробно:

Давайте посмотрим, какой вариант использования лучше всего подходит для того, что вы планируете делать в своем проекте.

Сертифицированные управляемые контейнеры

Большинство пользователей, как правило, склоняются к сертифицированным управляемым контейнерам. CloudSigma предлагает ряд программных стеков, которые были настроены заранее. С их помощью можно создавать серверы приложений, балансировщики нагрузки, базы данных, а также ряд других топологий.

certified managed containers

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

system containers types

Вы можете сочетать эти контейнеры с дополнительными интеграциями, чтобы получить от них еще больше преимуществ. Например, вы можете добавить автоматическую настройку в соответствии с ресурсом (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.

Containers VPS

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-образа распаковывается внутри среды выполнения системного контейнера.

Custom Docker Containers

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

Docker containers

Docker Engine CE (Docker Native)

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

Docker Engine Community Edition

В результате вы можете использовать взаимодействие с некоторыми основными инструментами 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 CE Docker Engine CE

Если вы хотите узнать подробнее о Docker Engine и принципах его работы, обратитесь к следующей серии блогов:

Кластер Kubernetes

Наконец, Kubernetes — это инструмент оркестрации с открытым исходным кодом, который можно использовать для развертывания контейнеров и управления ими. Программу можно использовать для выполнения как простых, так и сложных задач оркестрации, таких как развертывание, обновление, обнаружение служб, а также управление безопасностью.

Kubernetes Cluster

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

Kubernetes Cluster

Worker-Master diagram

 

Пакет Kubernetes от CloudSigma максимизирует совместимость программы и кластеров. Модель с оплатой по факту использования позволяет экономически эффективно размещать несколько контейнеров.

Вы можете узнать больше о кластере Kubernetes в следующих разделах документации: 

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

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

Попробуйте бесплатно в течение 7 дней

author

Zhenya Mocheva

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

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