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,

