De ûntwikkelders fan it XCP-ng-platfoarm, ûntwikkele ûnder de wjuk fan it Xen-projekt, hawwe in plan publisearre om in ferfanging te meitsjen foar ferskate komponinten fan 'e Xen-softwarestapel yn' e Rust-taal. D'r binne gjin plannen om de Xen-hypervisor sels te ferwurkjen; wurk is benammen rjochte op it werwurkjen fan yndividuele komponinten fan 'e toolkit.
It platfoarm brûkt op it stuit C-, Python-, OCaml- en Go-komponinten, wêrfan guon ferâldere binne en soargje foar ûnderhâldsútdagings. It wurdt opmurken dat it gebrûk fan Rust net sil liede ta in algemiene tanimming fan it oantal belutsen talen, om't mar ien komponint is ymplementearre yn Go, dy't pland is om earst te ferfangen.
Rust waard keazen as in taal dy't koade mei hege prestaasjes kombinearret mei mooglikheden dy't feilich binne foar ûnthâld, gjin garbage collector fereasket, geskikt is foar it ûntwikkeljen fan sawol leech- as heechnivo-komponinten, en ekstra funksjes leveret om potinsjele flaters te ferminderjen, lykas in liene checker. ). Rust is ek wiidferspraat as de OKaml-taal dy't op it stuit brûkt wurdt yn XAPI, wat it makliker meitsje sil om nije ûntwikkelders nei it projekt te lûken.
На первом этапе планируется разработать замену для нескольких компонентов, чтобы отработать процессы и подготовить базу для замены других частей программного стека. В частности, в первую очередь на Rust будет переписан инструментарий Linux guest tools, для которого сейчас используется язык Go, и фоновый процесс для сбора метрик, написанный на OCaml.
Необходимость переработки Linux guest tools (xe-guest-utilities) вызвана проблемами с качеством кода и развитием вне проекта Xen Project под контролем Cloud Software Group, что затрудняет формирование пакетов и влияние сообщества на разработку. Новый вариант инструментария (xen-guest-agent) планируют создать полностью с нуля, сделав простым насколько это возможно, и отделив логику агента от библиотек. Фоновый процесс для сбора метрик (rrdd) решено переработать так как он является компактным и обособленным, что упрощает проведение экспериментов по использованию нового языка при разработке.
Takom jier kin it wurk begjinne oan de ûntwikkeling fan de xenopsd-ng-komponint yn Rust, dy't de arsjitektuer fan de softwarestapel optimalisearje sil. It haadidee is om wurk mei leech-nivo API's te konsintrearjen yn ien komponint en it oanbieden fan alle hege-nivo API's te organisearjen nei oare komponinten fan 'e stapel dertroch.
Aktuele Xen stack arsjitektuer:

Foarstelde Xen-stack-arsjitektuer basearre op xenopsd-ng:

Boarne: opennet.ru
