 Hello everyone. This is a talk about XCPNG. So this is more the story behind the project and not technical talk. But anyway, the title is Building an Open Source and Turnkey Virtualization Platform. So first, I'm Oliver. I'm the CEO and founder of VATES company doing Open Source since 2012. I'm a former CIS admin doing a lot of Linux, BSD, and Zen stuff. Also, I'm the founder of Zen Orchestra and XCPNG project. You can find us on Twitter and here is the website of XCPNG project. So first, to be sure we are talking about the right thing, the title was about a Turnkey and Open Source Virtualization Platform. So what does it mean? So it means that a virtualization platform is not just the hypervisor. It's the hypervisor but also the network stack, the storage stack, and an API. So in the case of XCPNG, it's basically Zen as the main engine and open V-switch for the networks, MAPI which is the storage stack inside XCPNG, and finally ZAPI which is the API for it. On top of that, you can put Zen Orchestra which is basically a web solution to manage the platform. When I said Turnkey, Turnkey means that you just have to download the ISO and install it on your hardware. So it means you don't have to make some specific configuration to have your Zen running. You just download, put on the stick, put on the hardware, install it and that just works. Plus, you got everything that you need through the API. So it could be using a client like the CLI or a web UI. Anyway, every command is going through the API. So it means, for example, if you want to create a network, you don't have to do that manually. It's just H to the box and create a network using OVS. No need to that, you just tell the API, I want a network for my VM. Finally, when I said Open Source, well, we know what Open Source means, but I want to just tell it's not about only the license. It's GPL V2, that's cool, but it's also something that's having a really, really nice community and nice. I mean, by that's a lot of people coming from everywhere and working on the projects, not just giving feedback, but also improving the documentation, etc. And finally, it's also about the governance of the projects. When I'm in Open Source, I mean also that all repo, all the doc and the developments, it's completely publicly accessible. So that's, for me, really important. It's not just a matter of the license. So this is just a view of a dashboard. So if you can represent what does it mean? So this is a web UI, Xenakis round-top of XCPNG, so classical stuff like Overt or Proxmox, whatever. So a bit of history for people here who doesn't know as any detail. So it's not new. It was in fact the first open-source hypervisor released back in 2003. Then Citrix acquired the company doing Xen, called XenSource, and Citrix decided to launch something called XenServer, which is basically a virtualization platform. It was closed source at the time. And then a bit later, Citrix decided to focus more on desktop virtualization. So it means the product that are using XenServer on top, but more for people accessing to their desktop, Windows desktop from a remote location. And it means that Citrix is more focusing on that and not more on server virtualization. One year later, the first release of XCP was done, and basically it was the open-source version of XenServer. And XCP means XenCloud Project. So you start to know about XCP. So you can imagine why it's XCP-NG because it's XCP new generation. A few years later, XenServer was open-sourced. So it means the end of the XCP project because it was the open-source thing, but now everything is open-source. No problem. And this is when we started to work on Xen Orchestra, just to give you some timing. In 2017, Citrix decided to remove some really cool feature inside XenServer. So they decided to remove, for example, live storage migration and that kind of stuff. And all big features, not in the hypervisor itself because Xen is fully open-source, but in the platform won't be open-source in the end. So we decided just a few times later to start the XCP project, XCP-NG project, to remove all those restrictions and to do a lot more than just a fork. So you can ask the question, why we are doing that? Because it sounds a bit 2008, to fork a virtualization platform. Everyone is talking about the cloud and the containers, et cetera, et cetera. But on the field, if you are not Netflix or a real large company like that, everyone is still using virtualization. And people want to have something that works, that's ideally open-source and that can scale. So, well, our reasons to do that, we are multiple. First, Xen Server was a great tool, really a great tool because it was a real turnkey platform. But now we know the future is a bit close source. Sadly, there wasn't any developer community outside Citrix walls because it's more a commercial project for Citrix. Also, Citrix had other priorities than working with the server virtualization world. So it makes sense for them to have other priorities. Not a problem, but the problem with that is there is no convergence between people who want to make server virtualization and people who want to make desktop virtualization. Also, not all components were open to contribution. When you release, it's GPL compliant. You release a table, but you don't have the master branch. So it's really hard to contribute from some project inside it. So we saw a great opportunity to open everything and to allow people to work on that and to improve the project. Also, for us as a company working on Xanakistra, it's a good opportunity to grow the Xan ecosystem by not just having one platform, but another one which is more open and also be able to answer people's needs not just on the management side, but also on the layer, which is on the bottom of Xanakistra. Because now we can have a common objective with both software to go into the right direction to improve, for example, some performances that are really important for us and also fix all bugs, et cetera, et cetera. But doing a fork of a platform is like forking a distro. So it's not really easy. Just to show you, this is basically Xan server or XCPNG platform in that square. So it means you got a lot of components. So we are not forking every component. It wouldn't have any sense to fork Xan or Linux because they are fully open source. But the goal is to be able to take the stuff, to understand how it works and to build that in a more open fashion in short, okay? But to do that, you really need to understand which component is talking to other components, et cetera. So the interactions between all those components, this is one of the challenge. So to recap, the three parts, the three main challenges that we have to overcome. The first one, and maybe the most important one, at least at first, is to get a good community walking with us. So it means not to be only a small company doing some stuff in our corner, but to be able to gather people around a project and to have people starting to do contribution and that kind of stuff. So we weren't the only company doing that. This is one of the challenge. The other one is, as you may see, in the technical challenge. Technical challenge is we need to be able to fork that and to release something that works, okay? So it's just not getting the whole stuff. We need to understand how it works and we need to also be able to demonstrate how it works and to improve it, to fix bugs and also for people using Zen Server, maybe to be able to migrate to our solution. And finally is the adoption for Zen newcomers. For example, people who never had any experience with Zen, so it should be easy for them to use XCPNG. And the last challenge is to have a really open project, open AmyMathet to get an open governance, for example, to be inside a foundation or also the last part is to continue to work for a long period of time. So it means we need to have on the corporate parts a support business model. So we can continue to pay a developer's team to work and to improve the product. So did it work? I have some answers. The first answer is, well, we did a Kickstarter last year and the first objective was about only 6,000 euros. So it was a low bar, but we estimated that we could take too many risks with that. So we will try to see if there is some interest in the community about doing that. And for this first goal, the objective was to release a kind of prototype. And we had other goals, but without thinking that we will reach all of them. And finally, in less than 24 hours, so it's February to March, okay? So it's one month. And in less than 24 hours, we got the first goal and then continue. And we've seen that a lot of people were interested in fact to have a really turnkey on an open source characterization platform. And in the end, even companies became sponsors by sending us money, not with the Kickstarter platform, but by sending checks or wire transfers. So in the end, it was more than this amount. And then it started and it started really fast because we did the first fork in April, basically exactly the same thing than Zen Server, but without the feature restriction. But then for the next releases, we've been able to add new features. For example, we have been able in October to also follow the pace of Citrix for the Zen Server and be able to sign our RPMs to add software-read support during installation, to add new features. So it's really a fast pace cycle. So today, regarding the community and the project challenge that we had in the previous slides, we've got a lot of people who builds a really, really vibrant community of people using it. A lot of active users on the forum, so active, I mean, by that people with more than one post. Got a lot of posts, a lot of threads every day. Got a lot of unique downloads. So it's really a good sign that people are trying the product, are talking about the product. Plus, it's still really easy to upgrade from a working Zen Server. It means it won't erase your VMs. It will just, you know, like an upgrade, in fact. So we'll reboot and it will be on XEPNG and it works. We are now a member of the Zen Security pre-disclosure list. So it means before the public knows about some security features, we are, you know, like Amazon or the BitCloud providers. They have, in average, 15 days to fix some problems. So we are inside that. So that's really helpful to be able to fix problems really fast before it's public. We are working to be inside a foundation. So it's not official. So I can tell a lot more about that. But we are working on that to really have an open governance and not, you know, be the only company behind that. We want to gather other people around it. And also, as I said, no license or future restrictions. So about the technical side. So as I said, we did a lot of stuff in one year. So we already, for example, fixed bugs in the upstream. In that stream I made, for example, in Zen server, we discovered some bugs and we fixed them or we helped Citrix developers to find the root cause of some problems. So it was really, really cool. We got a testing repo. That's really nice because it means for people who want to try some maybe cutting edge features or, you know, like support of storage that weren't existing before without taking risks to put that into production so you can let the community to work with that. So that's really, really helpful. We got cloud stack compatibility and finally we embed the Z standard compression inside XCPNG basically. It's an algorithm, compression algorithm made by Facebook which allows us to compress faster and better than the existing algorithm in Zen server which is using JZip. So we've got a comparison of backup time in gray, light gray without compression. Then in dark you got a JZip compression and in red with Z standard compression. So we did a lot of performance improvement for making a backup of VM. For example, when you export the VM, it's compressed with Zen standard. It's really, really faster, up to six times faster than JZip. So it means in less than one year we were able to add really cool features in the short amount of time. So what's next? So this year we want to have more firepower and to do that we are growing the team working on that. So we target to have up to six people working on it. We are working with some research labs and universities. So we found that a reasonable amount of papers were done in France about Zen. So that's really interesting to work with a local university knowing Zen itself. So it can lead to interesting stuff. And we target a team about 20 people for the end of the year if you count all the researcher and the engineers and the contractor. Again, it's a joint effort. Regarding the research and development, we had a lot of topics to cover because as I said, there is a lot of room for improvements and that's really great. You can see that we want to improve on any side of a virtualization platform. So we are targeting improvement on the storage side, on the network side and compute side and to do that with some universities. So you have publication, that's really great because you have also benchmarks, you have the data so you can see the improvement that's have been done into the research. So it's very, very, very a lot of different stuff but to give you a quick example of one field that we are working this year is to improve the NVME drive, obtain drive. If you don't know those drive, those are 3D X points memory from Intel which is really, really, really fast. A lot of high ups. But the problem is the legacy storage design for a virtualization platform were made when HDD were there. So high latency and not really a lot of high ups. But then if you decide to create a specific layer which is thinner than the original one you can maybe reach almost the bare metal high ups of the hardware. So you need to do a lot of improvement to go there but that's doable. We got an architecture and we know the general direction when we need to go but now this year we need to go to the next phase which is a proof of concept and some benchmarks. And then if it goes well then it will be implemented and again pushed upstream because the goal is to push everything upstream. Also because as I said it's a distro in the end like a DBN or whatever. We need to improve the thing. So in XCPNG like in Zen server the DOM zero the privileged domain is based on CentOS. So we need to have a platform like Koji to automate the RPM build process. Koji is used by Fedora. We need to also make some automatic QA and CI. So if we add for example a patch of something that's ideally a platform should be able to tell everything's great, it's built, it works automatically. So this will help the project to have more contribution because every time someone adds something automatically it will be tests. Also the great thing about it it's that you can have nightly builds for people who want to test really, really cutting edge stuff. There's value stuff so to improve the mirror management when someone will become, want to become a mirror for download XCPNG. There's a lot of project are doing. I think we will use a project done by used by the people behind the VLC projects. Okay, so we can use really interesting open source project to help us about that. So also other features but I won't enter too deep inside of the details. So and to recap also regarding the Xanox side it's a management platform but more than that you can do backup resource delegation. So it's not cloud stack or open stack. Okay, but still it helps to manage your infrastructure up to let's say 2,000 or 3,000 VMs and then if you have a large infrastructure maybe probably cloud stack or open stack will be better. But anyway we want to integrate more features between the two software because this allows us to create really interesting connection and to also innovate on both interaction between the two software. So we are working with both Xanox team but also the XEPNG team working together on the ideas to push both projects into the right direction. So how to help? Well we got a really nice community so if you want to just try it, download it and then if you have any problems to talk with people there. Also we are hiring so if you are interesting to work on system development like QMU or Zen or that kind of stuff even the kernel or if you are using or developing in OCaml because the API is in OCaml we're interesting so just come to see me after the talk. As a company there is a lot of interesting programs if you want to make research and developments at the European level. Also just in the end using it will be helpful because more people using it, more hardware will be tests. So it can work from your I would say medium desktop machine up to your server inside the data center but it was built in mind to run into let's say servers into a data center. So as you've seen there's a lot of stuff coming and we did a lot with a small team and having a larger team will be really interesting and we hope to build a lot of new features and exciting features for this year. So stay tuned on the xp.ng.org website to get all the new stuff. And that's it, if you have a question go ahead. Yeah. Now the cooperation. For now it's, okay, what's the difference now with Zen server projects? Right now we tend to limit the fork because we are pushing upstream everything that we are adding. So for example for ZSTD stuff we added that into the upstream because most of the tools inside Zen server are open source. So we can push for the API, ZAPI on the GitHub, et cetera. So we try to maintain the smallest fork as possible but drive innovation and maybe to use our innovation faster than the Citrix cycle which is different than ours because we don't have the same priorities in the end. Yeah, merging features faster and yeah, to be more flexible than Zen server really cycle. Yeah, yeah there. So what do you mean is, does it work with CloudStack or sorry, I didn't hear the. It doesn't work. OpenStack, yeah. We don't have OpenStack support right now because you know OpenStack can work with Zen server on the bottom, CloudStack too. People like CloudStack already help to make it compatible with it but not yet at OpenStack. I don't know the current status at OpenStack right now but maybe you shouldn't ping some developers. It's the same API so it's not really complicated to adapt to it, it's just changing the name, a string basically to have the support of it because it's exactly the same API. Other questions? Yeah. Okay, so what the main driver for the XP NG project. Right now it's Vates, the company behind it but for example on the Windows stuff like the Windows client and the PV drivers it was someone from the community. So the goal to be inside a foundation is to be able not to be the only company driving the project. We have a lot of people working on it. We want to have a lot of people into it and we have professional support on it but it doesn't mean it will be the only company to provide improvements inside it and the goal is to have more companies to work with us. For example we have some people who would like to have for example the VX line supports because they are using a big data center and they are ready to work with us to improve that. So it's not just something by white company and we don't want to be the only company behind that in the end. Yes? Okay, so the question is the ability to use only for smaller use cases for one server because for example Proxmox got a web UI bundled directly with the installation. So you just for one machine it makes sense to have everything bundled. It's not the case for XEPNG but yeah you can deploy Xanarchistrate relatively easily. If you just want a basic UI we got a virtual appliance that's just really to download and to use if you want to install it from the source. Yes, you need a VM to make it work but bundling a web UI directly inside it could be problematic for something that's made to be work in clusters in pools. So we are thinking about that but there is no trivial solution to deliver something like that right now. Yes? Makes, sorry, make what? With a web UI, okay. So the question is maybe to create a flavor of XEPNG with a web UI bundle inside it. This is some stuff that we have discussed about already so we are thinking about this. And by the way we got stickers if you want at the end of the talk. Just thinking about it right now. Okay, that's it. Thanks a lot.