WEBVTT 00:00.000 --> 00:12.920 Okay, so hello everyone, hello first them, I will be talking about how I turn a Raspberry 00:12.920 --> 00:18.920 Pi, as you can see I have it right here, okay, into an open source edge cloud, okay. 00:18.920 --> 00:26.920 So before going deeper, I will present myself, so I'm Pablo del Arco, I'm coming from Spain, 00:26.920 --> 00:34.680 yeah I was born in Murcia and I live in in Balencia, very sunny city, a bit of my educational 00:34.680 --> 00:40.480 background, I started at the Eurocom in Sofia Antipolis and then I did the second year of 00:40.480 --> 00:48.000 these masters who was in Telecommunication Engineering at Alto University in Helsinki, okay. 00:48.000 --> 00:56.480 And then I also worked at Nokia as a 5G engineer and then a bit of my main focus and visions, 00:56.480 --> 01:01.960 I really like cloud computing, I not only work in the cloud but I also enjoyed it in my 01:01.960 --> 01:08.840 free time, also the internet of things was the first thing I started to get deeper in 01:08.840 --> 01:15.240 at the university, I also maintain a home lab, as a many of you here, I think that you have 01:15.240 --> 01:19.880 your own home lab, of course I have a Kubernetes cluster, and then I also write that 01:19.920 --> 01:25.600 blog post, okay, in medium, okay, I'm sure many of you know medium and you can, if you 01:25.600 --> 01:33.000 want follow me, my current job is cloud edge innovation engineer at Open Nebula Systems and 01:33.000 --> 01:39.080 I'm in the innovation unit, okay, and I develop new features, new appliances for the 01:39.080 --> 01:47.200 market place, so a bit of the content I will cover into this presentation, so I will explain 01:47.200 --> 01:53.560 a bit what is Open Nebula, the connection or the perfect couple, as I like to, to call 01:53.560 --> 02:00.880 it, Raspberry Pi and Open Nebula, we will see a demo about how to manage all these things 02:00.880 --> 02:06.760 I will explain, then the real will use cases, like how can we leverage these in our real 02:06.760 --> 02:14.440 SNR and then the takeaways, okay, so what is Open Nebula, I'm sure if you are here, 02:14.440 --> 02:20.680 many of you know Open Nebula already, but just to explain it briefly, it's an open source 02:20.680 --> 02:26.920 cloud management platform, okay, that allows you to manage virtual machines, containers, 02:26.920 --> 02:31.780 Kubernetes cluster, from a single control plane, okay, that's the basic thing of Open 02:31.780 --> 02:37.080 Nebula, that everything can be controlled under the same control plane, from data centers 02:37.160 --> 02:45.480 from big thousands of euros, per metal, to tiny devices like a Raspberry Pi, Open Nebula 02:45.480 --> 02:52.160 can cover the whole continuum, right, some of the main features, as you can see, multi-hyper 02:52.160 --> 02:59.000 visor, I mean Open Nebula was initially intended for private cloud, okay, but we also 02:59.000 --> 03:04.320 covered the hybrid, what does it mean from Open Nebula, you can deploy instances in 03:04.320 --> 03:11.080 the scale way of each cloud in different public cloud providers, so from the same control 03:11.080 --> 03:17.920 plane, you can manage at the same time VMs that are in AWS and migrate these VMs to 03:17.920 --> 03:24.240 your Raspberry Pi or a mini PC, okay, so that's the very nice feature of Open Nebula, 03:24.240 --> 03:29.480 of course we have also Kubernetes, okay, we support cluster API, one key, one key is 03:29.480 --> 03:36.480 our own distribution and then a range as one, right, also we are now very focused on AI, 03:36.480 --> 03:44.400 of course, we have our own official MCP integration, okay, so you can just go to your 03:44.400 --> 03:51.360 LLM, favorite LLM and you just say, okay, I want to deploy this VM with this RAM and 03:51.360 --> 03:57.560 it will do it automatically, okay, just by a natural conversation, and also enterprise features, 03:57.560 --> 04:03.160 that's a multi-tenancy, federation, high availability, okay, everything is covered as well. 04:03.160 --> 04:09.840 So, why Open Nebula for it's computing, so when I was creating this slide, I was like, 04:09.840 --> 04:15.840 okay, I will let the people know why Open Nebula, it's interesting for a niche computing 04:15.840 --> 04:22.360 scenario, for example, two proxmos of VMware, many people came to the booth today and 04:22.920 --> 04:28.320 say, okay, what is the difference between proxmos, you know, of Open Nebula, so in the edge computing 04:28.320 --> 04:35.320 site, proxmos doesn't support at least as far as I know, officially, ARM, right, VMware doesn't 04:36.680 --> 04:42.320 neither, okay, regarding the market place, we have a community market place and also an official 04:42.320 --> 04:49.320 one, and in the community market place that we also maintain, we have ARM 64 appliances, 04:49.360 --> 04:57.040 right, that can run directly in a Raspberry Pi, so not only X86, regarding the installation, 04:57.040 --> 05:03.480 in few minutes, I will explain how to install Open Nebula, I will explain the two main method methods, 05:03.480 --> 05:10.280 okay, and also regarding the resource efficiencies, very lightweight control plane, so even, like 05:10.280 --> 05:16.040 right now, you will see later, install Open Nebula here, both the control plane and the worker 05:16.280 --> 05:22.120 know, so what does it mean, that here you can connect, let's say, you are in the Wi-Fi local host, 05:22.120 --> 05:26.680 and then you can launch a VM directly in the same Raspberry Pi, okay, so that's the the 05:26.680 --> 05:33.320 power of this, and then regarding edge and IoT use cases, you have like native support, 05:33.320 --> 05:38.520 later I will explain a European project we are involved, that is already leveraging this Open 05:38.600 --> 05:50.680 Nebula features, okay, for ARM, okay, so just to quickly show you how this impact around 2027 05:50.680 --> 05:57.640 is expected, this is not official estimating information, but this is more or less in 2027, 05:57.640 --> 06:07.960 we will have like a crossover, okay, where ARM will go higher than X86 architecture machines, 06:08.520 --> 06:17.000 so what does it mean that soon we will have more ARM devices in edge scenarios, okay, so that's 06:17.000 --> 06:26.120 why we focus in this ARM compatibility, because we know it's the the base to enable this feature 06:26.120 --> 06:31.880 in the edge environment, then the challenge of traditional clouds, so traditional clouds have 06:31.880 --> 06:38.360 the problem that the far is generated, the there far from where the data is generated, sorry, 06:38.920 --> 06:44.040 and this makes that the latency is very high compared to an edge computing scenario, 06:44.040 --> 06:50.600 and the battery cost for data transfer is very high, so it's computing needs the data to be processed 06:50.600 --> 06:57.080 locally, right, with very low latency, that's why the edge is close where the source of the data, 06:57.160 --> 07:02.360 and this is very important, also it's computing sometimes we have you know like constrain 07:04.280 --> 07:10.120 features in the sense that we need or we have limited connectivity or sometimes we don't even have 07:10.440 --> 07:16.200 internet, okay, and we need to keep running for example on AI locally, and then the gap is that 07:16.200 --> 07:21.080 enterprise platforms sometimes are too heavy for an edge use case where we need like IoT devices 07:21.800 --> 07:27.720 or the new yourself solutions they like features sometimes, and the ARM support in the 07:27.720 --> 07:38.840 pass was not as broad as it is right now in with x86, okay, so the question is I give you 07:38.840 --> 07:46.120 what if you could run an enterprise great cloud on a 50 euro, so dollar device, so with open 07:46.120 --> 07:56.200 level you can do it, so let's continue, just to briefly show you the different features that I'm using 07:56.200 --> 08:02.040 I'm using a Raspberry Pi 5, okay, this is 16 because I'm testing Kubernetes clusters well, 08:02.040 --> 08:10.040 but you can start from four tickets, then regarding the stack I'm using Ubuntu 24 with KDM, 08:10.200 --> 08:17.640 hypervisor, and then using a pre-built ARM appliances, okay, and now you will see two different ways 08:17.640 --> 08:24.680 of installing open-evila in this Raspberry Pi, so the first one is mini one, this is like very simple 08:24.680 --> 08:29.640 way the someone asked me okay I want to start running open-evila, like many of you I'm sure you will 08:29.640 --> 08:36.040 do it after this talk, and okay I will tell you, just go to this QR and you will get the GitHub 08:36.040 --> 08:42.520 repo, okay, and you will see this link, okay, it's just like one script, you install it, and 08:42.520 --> 08:50.120 in two other two minutes you have it ready, you're open-evila, this is for you know POC's very fast 08:50.120 --> 08:55.400 testing, but if you want something more to know production, very multi-notes scenario, 08:56.520 --> 09:02.120 let's go with one deploy, one deploy is based in Ansible, it's just a set of Ansible Playgroups 09:02.200 --> 09:10.840 for automated deployments, so myself I install an open-evila with one deploy, why because I had 09:11.960 --> 09:19.080 one Arduino, okay I will explain you later, and I have another mini PC, this one is more powerful, 09:19.720 --> 09:25.880 and then with one simple manifest in Yamu, you just set the IP addresses of the IPs of your host, 09:26.440 --> 09:31.800 and you know enter, and in few minutes you have it, you're open-evila ready to go, 09:32.360 --> 09:37.720 some of the features you have, they went to use it, when you want a multi-notes environment, 09:37.720 --> 09:43.560 production, very deployment, or you know like custom network, because many one installs you like a 09:43.560 --> 09:49.720 very basic breach, a virtual network, by when you want, you know customizing with the VX LAN, 09:50.440 --> 09:55.800 you want to set a tail scale for example VPN, because right now for example, one of my mini PC 09:55.800 --> 10:02.440 is located in Murcia, where I'm from, and the other one is in Valencia, and they see the easiest way 10:02.440 --> 10:09.160 for me is to just deploy a VPN, and they are all interconnected, and then I don't have like headache 10:09.160 --> 10:14.520 connecting these machines, so and yeah it's also very easy to install, and you can like check it 10:14.520 --> 10:22.760 to QR, so the community marketplace, we are building more and more ARM applications, okay, 10:22.840 --> 10:28.680 right now as you can see we have already in XCloud, Nixos, SRS run for 5G use cases, 10:28.680 --> 10:33.960 rabbit and Q, but we are adding more and more, and you can like scan it there and and take all the 10:33.960 --> 10:40.440 appliances that we have compatible, so how you can create a custom appliance, before the 10:40.440 --> 10:48.040 new version 7.0, it was kind of difficult, even for me to create a simple appliance, but now we 10:48.120 --> 10:55.800 created a wizard, okay, it's CLI based right now, and you can choose whether to use Docker or 10:55.800 --> 11:02.200 LXC container, so let's say you want to use, I will show you now home assistant, okay, you want 11:02.200 --> 11:09.560 a home lab, and you want to deploy a home assistant, so instead of just searching or asking AI, 11:09.560 --> 11:16.040 you just go and use this wizard, and you said okay, this is the Docker container I want to to deploy, 11:16.120 --> 11:21.000 and then you start like setting, okay, this is the port, this is the environment variables, 11:21.000 --> 11:26.040 you know, like you said all the details, and in the same way, sorry, we'll get you, until you have 11:26.040 --> 11:33.240 your image ready to use home assistant in open level, okay, also LXC containers, and it supports both 11:34.680 --> 11:43.880 X86 and ARM, so I will show you the video, okay, 11:46.680 --> 11:55.320 okay, so, right now, yeah, I deployed it, and you have it here, the two different options, okay, 11:55.320 --> 11:59.960 then we will stop, it goes very fast, then you can choose whether you want a Docker appliance, 11:59.960 --> 12:06.760 so what does it mean that you can have, for example, a virtual machine that has a free bill 12:06.760 --> 12:11.880 Docker, okay, and then you set which Docker you want to to deploy in this virtual machine, 12:11.960 --> 12:16.760 or an LXC container, for example, I also manage to connect an Arduino one of you, 12:16.760 --> 12:22.840 you know that is now compatible with Linux, it has Linux inside, and it can be managed by open 12:22.840 --> 12:29.560 level, so this is very powerful because you can deploy and manage LXC container in this tiny 12:29.560 --> 12:35.400 IoT devices, which is crazy, and I haven't seen any cloud yet apart from open level, that can 12:35.480 --> 12:42.120 you know deploy workloads in an Arduino, so that's a small device, so here I, for example, 12:42.120 --> 12:52.040 use Docker, okay, now I set a comma system, and then here you can see, well, I will go a bit faster, 12:53.640 --> 13:01.320 I here, I, it tells you with architecture, our compatible with this Docker, and then I choose 13:01.320 --> 13:07.560 for example, ERM because this is an ERM device, you can choose the operating system that is running 13:07.560 --> 13:12.840 under the hood in this virtual machine, then you select the data, you select the, you set the 13:12.840 --> 13:18.040 publisher information, of course, because once it's in the community market place, you will have 13:18.040 --> 13:22.920 it like publicly, and then you will see, okay, this person publish this appliance, 13:23.400 --> 13:32.360 then you set all the features, the main port, if it has like a browser ready, because for example, 13:32.360 --> 13:39.160 an QTT doesn't have, by default, you know, mosquito, I use your interface, but comma system in 13:39.160 --> 13:47.240 in this case, it has, so you select everything, the SSH policy, and then this is a summary of 13:47.320 --> 13:52.280 all the things, you have configure, okay, this is necessary, and if you are happy with this, 13:52.280 --> 13:59.240 you just select yes, and then it will start like showing all the, sorry, all the locks, 13:59.240 --> 14:05.080 until it's ready, okay, so here you can see, and it says build the image now, then yes, 14:06.120 --> 14:12.280 and it configures it directly to your open nebula, okay, so let me go back to the presentation, 14:12.280 --> 14:26.360 okay, so regarding the real world use cases, the main use cases, regarding an IOTA, 14:26.360 --> 14:31.960 your environment, it's home lab, of course, you can have your private cloud running, for example, 14:31.960 --> 14:38.200 next cloud, git lab, comma system for your home automation cases, then IOTA, of course, 14:39.160 --> 14:45.000 real time sensor data processing, and also educational research, now you will see that we are working 14:45.720 --> 14:52.520 in OCI, this is an European project, that is basically a project that aims to cover the whole 14:52.520 --> 14:59.720 continuum, as you can see, it covers the cloud, it's IOT continuum, and it's based in blueprints, 14:59.720 --> 15:05.160 okay, so you have all the technologies, and with a blueprint, you say, okay, I want for example, 15:05.240 --> 15:12.120 hand chart, I want my SQL, and you want all these different features, and we have like a recipe, 15:12.120 --> 15:18.040 and then this recipe's sailor for a specific use case, and this is where an open nebula in this case 15:18.600 --> 15:25.000 appears, because open nebula allows to this virtualization for Raspberry Pi's, and in this case, 15:25.000 --> 15:30.840 also to manage LXC containers, and this is a real use case that we can see that this is really 15:30.920 --> 15:40.360 interesting for the industry, right? So the main KTEK takeaways, sorry, are that edge computing 15:40.360 --> 15:45.960 now is more accessible than ever, okay, before it was, okay, we want edge computing, but we are using 15:45.960 --> 15:54.680 X86, you know, so now with ARM is really possible, we have an 80 native, you know, ARM 15:54.680 --> 16:03.160 compatibility with open nebula, and all the benefits that that unlocks, regarding implementation, 16:03.160 --> 16:09.880 you have two different ways to deploy it, like the fast version, and one like more production, 16:09.880 --> 16:17.080 very version, and everything I say is managed by the same control plane, that's the key idea. 16:17.400 --> 16:22.920 Now, before ending, I will show you another video demo, let me see, 16:25.880 --> 16:30.760 this is because I've been talking about open nebula, but I want you to see how it looks like, 16:30.760 --> 16:37.960 and how it is to deploy, right? So this is, yeah, you have two logging, okay, and you will have 16:37.960 --> 16:43.960 the main dashboard, which you can see, like how many VMs do you have, templates, the images, 16:44.680 --> 16:51.320 and now you will see here in the left bar, the VMs that you have, okay, so here right now I have 16:51.320 --> 16:58.360 the HOMAS system VM that you saw before I created, it's ready, okay, it's running in this Raspberry Pi, 16:58.360 --> 17:02.760 and you can see like the most important information, like the IP, you know, and also you can 17:02.760 --> 17:10.360 access directly through VNC server, and you can manage your virtual machine without going to 17:10.440 --> 17:15.720 we sell it to your code, you know, SSH, I mean you can do it of course, but this is just like a 17:15.720 --> 17:21.560 fast way to see if the virtual machine is working, and then the two last are LXC containers, 17:21.560 --> 17:29.400 as you can see, I tag it with Arduino, okay, and I run here, and MQTT server, and I know the red, 17:29.400 --> 17:35.160 you know, I'm sure many of you know, know the red is amazing for, you know, creating your 17:35.160 --> 17:41.800 workflows, integrating different IPIs, it's really cool. So if you tap in the VM, you will see 17:41.800 --> 17:47.640 the most important features, I mean feature the characteristics, like the IP, the the host that is 17:47.640 --> 17:53.640 where this VM is running, you know, the CPU, also here you can control the storage, you can add 17:53.640 --> 18:00.200 more if you need, then it's working site as well, okay, you can see some some graphics here, 18:00.360 --> 18:06.280 and also for example, the configuration, and you see all the details, the type of architecture, 18:06.600 --> 18:14.520 all those kind of features. Then you can also of course, the same with in this case, 18:14.520 --> 18:22.280 I'm showing NQTT, you can see all the different features of this LXC, and for you to see that 18:22.360 --> 18:29.560 this is really working, let's see the dashboard of homacistan, okay, this is just a homacistan 18:29.560 --> 18:39.480 I install, okay, and here I created just like a very basic, let's say workflow where I kind of 18:39.480 --> 18:48.040 interconnect these two, where this is the NQTT broker, okay, and it has the no red access, so I created 18:48.040 --> 18:56.920 like a dumb random feature or like, yeah, like a function, where it generates random data, 18:56.920 --> 19:04.120 okay, I need send it to homacistan that is here, okay, and as you can see every two seconds, 19:04.120 --> 19:11.320 five seconds is changing, and everything this is done through Taylor scale, okay, this is the VPN 19:11.320 --> 19:15.560 I am using very easy to set up, but you can use wire guard, you know, Taylor scale is basically 19:15.720 --> 19:21.480 what you are, you can use any other, and you can have, for example, your Arduino at home, 19:21.480 --> 19:27.720 running in QTT, and you can have your Raspberry Pi running in another city, and this lightweight 19:27.720 --> 19:34.840 devices, you know, it's crazy like how interconnected they can be, so you can see here the MQTT 19:34.840 --> 19:41.960 integration I use, and then here you can see the workflow I created, and every two seconds, 19:41.960 --> 19:48.920 it's sending the temperature, and this is just the MQTT broker, that is basically the IP address 19:48.920 --> 19:58.120 of this Arduino, okay, and it's everything is interconnected in the N, let me see, yeah, and you can 19:58.120 --> 20:04.520 monitor the temperature in this case, and also very important, from here you can, like, you can 20:04.520 --> 20:10.280 manage everything, the VMs, virtual routers, the templates, whatever, and the host, this is where you 20:10.280 --> 20:18.520 can monitor all the host, manage by your control plane, okay, so here we have the point one that 20:18.520 --> 20:25.720 is the Arduino, only two gigas of RAM, then this is the mini PC, I think, yeah, that one doesn't 20:25.720 --> 20:32.360 have any VM, and this is the one that is the Raspberry Pi that is running home assistant, okay, 20:32.360 --> 20:37.160 and from here you can monitor everything, you know, all the host, no matter if they are 20:38.120 --> 20:47.000 in your public cloud or at home, everything can be managed from here, and if you click, you can see, 20:47.000 --> 20:54.440 like, the storage, all the CPU, the memory, you know, and this is more or less like an overview 20:55.960 --> 21:01.960 of how it looks like, and yeah, let me show you, go back to the presentation. 21:07.480 --> 21:15.400 Yeah, so, yeah, already explained the key takeaways, and I would like you to connect with me, 21:15.400 --> 21:21.720 I, as I told you, I write medium blockpost where I publish about Kubernetes, about how I build my 21:21.720 --> 21:30.120 home lab, how I created this Raspberry Pi or this, sorry, this one, the private cloud running in a Raspberry 21:30.200 --> 21:37.880 Pi, there is explain a step by step how to do it, my linketing and my GitHub, and thank you, 21:37.880 --> 21:59.240 if you have any question, feel free to ask, yeah, sorry, I cannot hear, you can speak louder, please, 22:00.360 --> 22:27.240 so if I understood well, you want to migrate from LXC to Docker, so the LXC we manage is not based on Docker, 22:27.480 --> 22:34.840 that's why it's based on an alpine version, and it's not like other platforms based on Docker, 22:35.400 --> 22:48.600 so right now we don't support this feature, so you mean, from LXC to Docker, 22:49.240 --> 22:57.720 or from Runser, yeah, but right now, I don't think we support this feature, yeah, 23:01.160 --> 23:05.400 okay, oh no more question, or the last one, okay, 23:05.720 --> 23:11.720 I don't really think it's a nice question, I think Docker support, 23:11.720 --> 23:18.760 no, we offer directly, if you want to manage containers, it's Kubernetes, by natively, 23:18.760 --> 23:25.400 or natively, yeah, okay, so thank you, sorry,