ZeroVM - ZeroVM
Оригинальный автор (ы) | Камуил Гилядов, Константин Пересыпкин и Дмитрий Борток |
---|---|
Разработчики) | LiteStack, который был приобретен Rackspace |
Предварительный выпуск | 0.9.4 / 26 ноября 2013 г. |
Репозиторий | |
Написано в | C, сборка |
Операционная система | Linux |
Платформа | x86-64 |
Тип | Виртуализация приложений |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | зеровм |
ZeroVM является Открытый исходный код легкий виртуализация и песочница технологии. Он виртуализирует отдельный процесс с помощью Собственный клиент Google Платформа. Поскольку виртуализируется только один процесс (вместо полной операционной системы), накладные расходы на запуск составляют порядка 5 мс.[1][требуется сторонний источник ]
Песочница
ZeroVM создает песочницу вокруг одного процесса,[2]используя технологию, основанную на Собственный клиент Google (NaCl). Песочница гарантирует, что выполняемое приложение не может получить доступ к данным в операционной системе хоста, поэтому можно безопасно выполнять ненадежный код. Программы, выполняемые в ZeroVM, сначала должны быть скомпилированы на платформе NaCl. ZeroVM может выполнять только код NaCl, скомпилированный для x86-64 платформа, а не портативный собственный клиент (PNaCl) формат.
Код, выполняемый в ZeroVM, не может вызывать нормальный системные вызовы и изначально не может взаимодействовать с хост-средой. Всякое общение с внешним миром происходит через каналы, который должен быть объявлен до запуска программы. Вне песочницы канал может быть подключен к локальному файлу, каналу или другому экземпляру ZeroVM.[3]Внутри песочницы программа видит канал как дескриптор файла. Изолированная программа может читать / записывать данные из / в канал, но не знает, где канал подключен на хосте.
Программы, скомпилированные для ZeroVM, могут дополнительно использовать библиотеку времени выполнения ZeroVM под названием ZRT. Эта библиотека призвана предоставить программе POSIX Окружающая среда.[4]Это достигается путем замены частей Стандартная библиотека C. В частности, ZRT заменяет Ввод / вывод файла C такие функции как fopen
и опендир
с версиями, которые работают с файловой системой в памяти. Корневая файловая система предоставляется в виде архива. Это позволяет программе «видеть» обычную среду Unix.
ZRT также заменяет C функции даты и времени такие как время
дать программам фиксированный и детерминированный Окружающая среда. С фиксированными входами каждое выполнение гарантированно дает одинаковый результат. Даже нефункциональный программы становятся детерминированными в этой ограниченной среде.[5]Это упрощает отладку программ, поскольку их поведение исправлено.
Интеграция со Swift
ZeroVM интегрирован с Swift, компонент хранилища распределенных объектов OpenStack.[6]Когда промежуточное ПО ZeroCloud установлено в Swift, клиент может сделать запрос к Swift, содержащий программу ZeroVM. Затем программа выполняется непосредственно на узлах хранения. Это означает, что программа имеет прямой доступ к данным.
История
ZeroVM был разработан израильским стартапом LiteStack. Первая фиксация в зеровм
Git Репозиторий добавлен в ноябре 2011 года.[7]LiteStack был куплен Rackspace в октябре 2013 г.[1][8][9]ZeroVM участвовал в Techstars Программа инкубатора Cloud 2013 и получила 500 000 долларов в качестве начального финансирования.[10][11]Первый саммит ZeroVM Design Summit прошел в январе 2014 г. Техасский университет в Сан-Антонио.[12]
Смотрите также
- Собственный клиент Google
- LXC (Контейнеры LinuX)
- seccomp
- Докер (программное обеспечение)
использованная литература
- ^ а б Линдберг, Ван. «ZeroVM: меньше, легче, быстрее». Блог Rackspace. Получено 14 апреля 2014.
- ^ Егулалп, Сердар (23 октября 2013 г.). «ZeroVM виртуализирует приложения, а не машины». InfoWorld. Получено 14 апреля 2014.
- ^ "Каналы ZeroVM". Получено 14 апреля 2014.
- ^ "ZRT Readme". Получено 14 апреля 2014.
- ^ «Архитектура ZeroVM». Получено 14 апреля 2014.
- ^ «ZeroCloud». Получено 14 апреля 2014.
- ^ Гилядов, Камуэль. «Первая фиксация». GitHub. Получено 18 апреля 2014.
- ^ Шама, Давид (24 октября 2013 г.). «Rackspace использует гипервизор ZeroVM, созданный специально для облака». ZDNet. Получено 14 апреля 2014.
- ^ Кларк, Джек (25 октября 2013 г.). «Rackspace едет в Израиль, берет новое блестящее оружие для облачных войн». Реестр. Получено 14 апреля 2014.
- ^ Идан, Хенн (3 ноября 2013 г.). "Израильский ZeroVM приобретен RackSpace". Geektime. Получено 14 апреля 2014.
- ^ Лорек, Лаура (19 апреля 2013 г.). «ZeroVM создает программное обеспечение для облачных вычислений». Новости Silicon Hills. Получено 14 апреля 2014.
- ^ Rackspace. "Саммит дизайна ZeroVM". YouTube. Получено 18 апреля 2014.