Недавно была опубликована новость о том, что SiteGround, один из крупнейших провайдеров веб-хостинга в Европе, обосновался в нашей стране и внедрил передовую технологию с точки зрения производительности: мы говорим о Контейнеры Linux или LXC. Эта функциональность не нова для операционных систем, поскольку FreeBSD имеет Jails, Solaris имеет зоны и существуют другие типы контейнеров, такие как предоставляемые OpenVZ и Linux VServer, которые имеют другую конфигурацию в своем ядре для выполнения этой функции.
Тот факт, что SiteGround занял эту позицию с точки зрения технологии, и четкое видение бизнеса, ориентированное на высокую производительность инфраструктуры, как на уровне оборудования (через твердотельные накопители SSD) как программное обеспечение, возникает вопрос, так ли оно хорошо и перспективно. О LXC для контейнеров мы поговорим ниже.
LXC или Linux Containers в настоящее время представляет собой одну из самых современных технологий с большими перспективами на будущее. Около контейнеры, которые виртуализируют среды на уровне операционной системы Linux и могут быть развернуты в нескольких экземплярах на одном физическом сервере. Все они работают изолированно как SPV (виртуальные частные серверы) или EV (виртуальные среды), где все ресурсы предоставляются на уровне обработки, связи и хранения.
Но в чем на самом деле преимущество контейнеров? Возьмем следующий примерный случай. Сервисный портал хочет, чтобы его пользователи могли развертывать автономные и изолированные платформы по запросу. Традиционно все программное обеспечение и компоненты, необходимые для каждого желаемого инструмента, должны быть установлены, но благодаря контейнерам, все необходимые ресурсы могут быть сгруппированы вместе и автоматически созданы столько раз, сколько потребуется.
Когда в SiteGround они сделали последнюю миграцию, они приветствовали, в дополнение к этой технологии, хранилище через твердотельный диск SSD. LXC предоставляет им, по словам своих сотрудников, гибкость, необходимая для вашего бизнеса, и SSD-диски требуемая скорость выполнения своевременно предоставлять своим пользователям адекватные услуги. Кроме того, компания создала собственную реализацию LXC и генерирует множество патчей для ядра Linux, которые исправляют ошибки и устраняют проблемы безопасности.
Будущее контейнеров выглядит многообещающим и может означать конец виртуализации, какой мы ее знаем сегодня. Или нет?
Особенности LXC
La возможность создавать инкапсулированные и изолированные контейнеры с вашим собственным пулом ресурсов это функция, которая уже сегодня выполняется средами виртуализации. Однако контейнерная технология обеспечивает повышенную производительность (почти аналогичную виртуализации без операционной системы) и гибкость. Контейнеры не эмулируют аппаратное обеспечение машины, и пока пространство не виртуализировано, оно не занимает места для хранения.
LXC следует рассматривать как операционная система в нашей собственной, и который для практических целей ведет себя как виртуальная машина. Эмуляция выполняется самим ядром Linux, и LXC предоставляет минимальный контейнер для хранения шаблона различных дистрибутивов операционной системы и пользовательских приложений, которые позволяют его повторно использовать в различных средах и циклах разработки.
La портативность Эта функциональность гарантируется, поскольку она отделяет приложения от операционной системы, и можно запускать любой контейнер из установки минимальной среды. Кроме того, благодаря изоляции ресурсов можно одновременно запускать несколько экземпляров нескольких версий Java, PHP или Apache с полной гибкостью и возможностью балансировать свою нагрузку между несколькими системами, клонировать их среды или создавать резервные копии за считанные секунды.
Будущее виртуализации еще не закончено, поскольку с его помощью можно развертывать очень разные экосистемы, в которых в настоящее время контейнеры не могут использовать конкретное ядро для этой задачи.
LXC и Докер
LXC и Docker - две системы контейнеризации, философия которых очень похожа.: Изолированно виртуализировать различные среды приложений, которые работают автономно. Ubutu работает с обоими проектами которые часто путают, главное отличие которых мы заставляем вас заметить. Контейнеры LXC имеет init, который позволяет выполнять несколько процессов. в то время как В контейнерах Docker есть один, который может запускать только один процесс каждого типа..
Идея Docker - максимально уменьшить размер ваших контейнеров. в один процесс, которым управляет это приложение. Проблема в том, что многие разрабатываемые сегодня приложения рассчитывают на возможность выполнения в многопоточных средах с поддержкой нескольких cron, демонов, SSH и т. Д. Поскольку в Docker их нет, конфигурация среды развертывания, сети, хранилища и окончательная оркестровка всей системы должны выполняться через приложение.
Это лишь верхушка айсберга, так как другие вопросы остаются в воздухе таких как управление сетевыми ресурсами, туннелирование связи, стекирование контейнеров или миграция между горячими средами. В настоящее время кажется, что разрыв, разделяющий обе технологии, необходимо сократить, и пора будет решать, какая технология будет расположена выше.