Zhvilluesit e platformës XCP-ng, e cila zhvillohet nën ombrellën e projektit Xen, publikuan një plan për krijimin në gjuhën Rust të një zëvendësimi për komponentët e ndryshëm të grumbullit të programeve të Xen. Hipervizori Xen nuk ka ndërmend të ripërpunohet për momentin; puna përqendrohet kryesisht në ripërpunimin e komponentëve të veçantë të mjeteve.
Aktualisht platforma përdor komponentë në gjuhët C, Python, OCaml dhe Go, disa prej të cilave janë të vjetruar dhe krijojnë probleme me mbështetje. Theksohet se përdorimi i Rust-it nuk do të çojë në një rritje të përgjithshme të numrit të gjuhëve të përfshira, pasi në Go është implementuar vetëm një komponent, i cili planifikohet të zëvendësohet i pari.
Gjuha Rust është zgjedhur për shkak të kombinimit të performancës së lartë të kodit rezultues me mundësitë për punë të sigurt me kujtesën, duke anashkaluar nevojën për mbledhës plehrash, duke qenë e përshtatshme për zhvillimin e komponentëve të nivelit të ulët dhe të nivelit të lartë, si dhe duke ofruar mundësi të shtesë për reduktimin e gabimeve të mundshme, të tilla si kontrolli i borrow-it të variablave (borrow checker). Rust gjithashtu është më i përhapur se gjuha OCaml që përdoret aktualisht në XAPI, çka do ta thjeshtojë angazhimin e zhvilluesve të rinj në projekt.
NĂ« fazĂ«n e parĂ« planifikohet zhvillimi i njĂ« zĂ«vendĂ«simi pĂ«r disa komponentĂ«, pĂ«r tĂ« praktikuar proceset dhe pĂ«r tĂ« pĂ«rgatitur bazĂ«n pĂ«r zĂ«vendĂ«simin e pjesĂ«ve tĂ« tjera tĂ« grumbullit tĂ« programeve. NĂ« veçanti, nĂ« Rust do tĂ« rĂshkruhet fillimisht mjeti i Linux guest tools, pĂ«r tĂ« cilin aktualisht pĂ«rdoret gjuha Go, si dhe procesi nĂ« sfond pĂ«r mbledhjen e metricave, i shkruar nĂ« OCaml.
Nevoja për ripërpunimin e Linux guest tools (xe-guest-utilities) është shkaktuar nga problemet me cilësinë e kodit dhe zhvillimin jashtë projektit Xen Project nën kontrollin e Cloud Software Group, gjë që e vështirëson formimin e paketave dhe ndikimin e komunitetit në zhvillim. Variante e re e mjeteve (xen-guest-agent) planifikohet të krijohet krejtësisht nga fillimi, duke e thjeshtuar atë sa më shumë të jetë e mundur dhe duke ndarë logjikën e agjentit nga bibliotekat. Procesi në sfond për mbledhjen e metricave (rrdd) është vendosur të ripërpunohet sepse është i kompakt dhe i veçantë, gjë që e thjeshton realizimin e eksperimentimeve me përdorimin e gjuhës së re gjatë zhvillimit.
Në vitin e ardhshëm mund të fillojnë punime për zhvillimin në Rust të komponentit xenopsd-ng, i cili do të lejojë optimizimin e arkitekturës së grumbullit të programeve. Ideja kryesore është të përqendrohet në një komponent punën me API të nivelit të ulët dhe të organizohet ofrimi i të gjithë API-të të nivelit të lartë për komponentët e tjerë të grumbullit.
Arkitektura aktuale e grumbullit Xen:

Arkitektura e propozuar e grumbullit Xen bazuar në xenopsd-ng:

Burimi: opennet.ru
