`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Андрей Зубинский

Open Container Project

+88
голосов

У этого события сразу несколько аспектов. И есть «почти незаметный» (точнее, деликатно не замечаемый), но он такой бальзам на раны поклонникам Linux (и прочих *nix клонов), что в формате блога, позволяющем обойтись без лишней деликатности, с него и начну. По-моему, такую картину в сочетании со словами «под эгидой Linux Foundation» я вижу первый раз:
 
Open Container Project

Целевое объединение А-брендов под эгидой Linux Foundation должно основываться на чём-то действительно важном и, естественно, измеримом в больших деньгах. Это что-то не появилось «буквально вчера» и даже не является «чем-то новым» вообще. Больше того, оно весьма «старое» (по меркам индустрии). И вот после многих лет существования этого «чего-то» эволюция довела до некоторой степени ясности реальные потребности, возможности, ограничения контейнерных технологий и необходимость координации усилий в их стандартизации.

Начнём с небольшой предыстории. «Легковесные контейнеры» являются (без всяких «по большому счету») полной противоположностью виртуальным машинам. И практически во всём.

Виртуальные машины предусматривают в идеале создание сквозной абстракции уровня аппаратных средств, над которой надстраивается весь традиционный стек системного и прикладного ПО с вытекающими особенностями на прикладном уровне, например.

Контейнеры же (в современной трактовке) являются абстракцией уровня «программного компонента и его зависимостей как единого повторно используемого целого», практически всегда – надсистемного уровня (userspace).

Есть много рассуждений о безопасности этих двух противоположных абстракций, но все они (теперь уже по большому счёту) также абстрактны – никто не отменял потенциальной уязвимости самих виртуальных машин (или гипервизоров) и никто пока не запретил «ломать» любые самые хитрые способы защиты, включая и существующие между разными уровнями абстракции (напротив, фокусы с DRAM высокой ёмкости, позволяющие из прикладного кода «пробивать» все механизмы защиты памяти, включая аппаратные, показали, что потенциала для любителей «ломать, а не строить» более чем достаточно). Так что вообще не будем говорить о безопасности – это комплекс действий, средств, инфраструктурных элементов, и сравнивать отдельные фрагменты по такому критерию не кажется разумным (хотя это в странной декларативной форме пытаются делать очень многие).

Лежащие в основе «контейнерной дистрибуции и развёртывания ПО» механизмы очень не новы и, справедливости ради, далеко не «из мира Linux». В ОС FreeBSD jails (почти полноценные виртуальные окружения на уровне userspace, с собственными аккаунтами суперпользователя, пространствами имён файлов, процессами, разграничением безопасности и правами доступа, но без возможности выбора версии ядра ОС для каждого jail) появились ещё в 2000 году. Затем аналогичный механизм zones был реализован в ОС Solaris (в бета-версии в 2004, полноценный релиз – в 2005, в версии Solaris 10). В 2008 году аналог появился и в Linux – LxC (Linux Containers). Этот исторический экскурс сделан сугубо для иллюстрации факта продолжительности (по меркам IT) эволюционного развития контейнерных технологий. Потому что взрыв популярности той же компании Docker и её одноимённого продукта основан именно на возможностях LxC, например (docker – удобная надстройка над LxC). За прошедшие два года на контейнерные технологии вынужденно обратила внимание и Microsoft, а с середины апреля этого года docker контейнеры стали доступны пользователям Windows в «облаке» Azure (разработка Windows-версии docker велась совместными усилиями Microsoft и Docker).

Параллельно с Docker и неисчислимыми «самодельными» контейнерами развивались и всевозможные механизмы, по сути, аналогичного назначения (вплоть до специальных «облачных» дистрибутивов ОС или даже «контейнеров без ОС», было и есть и такое).

В итоге возникшее «разнообразие» в реальной эксплуатации больших программных инсталляций оказалось далеко не достоинством (несмотря на утверждения сторонников «свободы выбора из разнообразия»). Как ни странно, но эта «не совсем хорошесть» уже измерима в реальных деньгах инвесторов.

Суммарные инвестиции в несовместимые контейнерные системы исчислялись сотнями миллионов долларов. И не то, чтобы вели к осмысленной конкуренции (хотя бы потому, что фундаментальные механизмы работы контейнерных систем являются частью проектных процессов ядер конкретных ОС, а не userspace уровня, на котором «работают» контейнеры).

Возникла ситуация, при которой дальнейшая трата денег стала бессмысленной. И её пытаются разрешить совместными усилиями.
Open Container Project и есть способ разрешения возникшей ситуации.

Его продукт – вовсе не что-то радикальное новое программное (после стольких лет развития что-то новое придумать и реализовать трудно). Но действительно новое в смысле взаимодействия Linux Foundation и А-брендов IT-индустрии. Новое – это попытка совместного наведения порядка. Она начинается со спецификаций «стандартных контейнеров», устанавливающих единые:

  • форматы файлов контейнеров,
  • наборы операций с контейнерами,
  • требования к окружению.

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

Кстати, маленькое забавное отступление – мы уже настолько на слуху у всего мира, что описание независимости от инфраструктуры (Infrastructure-agnostic) выглядит дословно так:

A shipping container can be packed in a factory in Ukraine, transported by truck to the nearest routing center, stacked onto a train, loaded into a German boat by an Australian-built crane, stored in a warehouse at a US facility, etc. Similarly, a standard container can be bundled on my laptop, uploaded to S3, downloaded, run and snapshotted by a build server at Equinix in Virginia, uploaded to 10 staging servers in a home-made Openstack cluster, then sent to 30 production instances across 3 EC2 regions.

Так как опыта в разработке и эксплуатации систем контейнерной дистрибуции и развёртывания ПО у всех участников этого альянса более чем достаточно, сроки создания нового стандарта установлены практически реактивные (кто сталкивался с промышленной стандартизацией, может их оценить по достоинству) – первая предварительная редакция стандарта должна появиться уже в конце июля. И никаких сомнений нет, что появится вовремя.

Очень хорошее начинание и очень важный шаг в развитии Linux Foundation и движения open source в целом.

Теперь немного пользы.

Раз уж речь о таком характерно «непользовательском», то вот одна малоизвестная, но хорошо работающая мелочь, которая наверняка пригодится системным администраторам – nsnotifyd.

Этот «демон» является крохотным «DNS почти сервером», предназначенным сугубо для «прослушивания» сообщений DNS NOTIFY от авторизованных DNS-серверов (об обновлении зон etc) и активации заданных администратором скриптов, поставленных в соответствие разным сообщениям.

Не буду пытаться рассказывать, что с его помощью можно сделать и для чего (администраторы лучше меня это знают), просто хорошая утилита.

Откланиваюсь.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+88
голосов

Напечатать Отправить другу

Читайте также

>середины апреля этого года docker контейнеры стали доступны пользователям Windows в «облаке» Azure (разработка Windows-версии docker велась совместными усилиями Microsoft и Docker)

Не знал. Посоветуйте что почитать на эту тему?

Почитать не видел, а посмотреть из первых рук можно здесь - https://channel9.msdn.com/Events/Ignite/2015/BRK2493

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT