 Can I say, 10 seconds. Okay, we're good. So, can I welcome Laszlo Pap, who is here to talk about, give us an ONS introduction and demo. Thank you so much, Laszlo. Thank you everyone for coming, and I'm very pleased to be here. So, I think this is the first time that Onof is talked about at Fauston. So, it's quite exciting and I would like to just give you some taster about ONOS and what ONOS is. Maybe a short ice breaker would be like, how many of you heard about ONOS before? That's very good. So, well, I still hope that I can provide some information and maybe you can ask questions so I can also learn from you. So, I'm actually an ONOS ambassador. It's not a big title or anything, but that just means that I'm keen on using this technology and I'm keen on advocating it to others as well. So, what I'm going to talk about is basically, I would just for those and also for those who know ONOS, but those who don't know what ONOS is, maybe just explain the architecture briefly and the use cases. Hopefully, we will have a very, very brief demo one minute and then maybe just a few words about the community and how you can join it if you like hacking and open source projects. So, ONOS comes from the background. Basically, it comes in terms of SDN. So, it's traditionally, the word was such that there were many devices in the networks. I mean, it's still there are many devices in the networks, and quite often, these are like closed platforms. They come with their own protocols. It's provided by the vendor and even the software that controls the functionality very often comes from the vendor. So, there is very little space for researchers or open source developers to actually customize these devices and these systems. So, they have to always comply with whatever the vendor is providing. So, that's the background where SDN is born. So, there is what we call data plane, which is there were a lot of talks about how to optimize that part of the stack, but there's also the control plane and ONOS is actually in that domain. So, ONOS is more concentrating on the control plane itself. So, yeah, it's just again just summarizing, there's the forwarding hardware functionality in the hardware. This is coming from the hardware vendors. Actually, I also work for hardware vendor companies. So, I'm coming from that side of the software stack, and then there is a network operating system, and then there are application on top of that platform, which all kinds of applications can be implemented. In a way, I would probably compare it to the Linux kernel itself. That's why it's also an operating system because in many ways, when you write drivers for these forwarding hardware, you actually write like a device driver in a bit different sense, but the philosophy is kind of like the same, and then the applications would compare to user space applications sitting on the top of the Linux kernel. So, this is a centralized platform, and the use case is really that in data centers, there are so many hardware devices and applications that need to be provided, that the variety and the matrix of these are so complex, and there was a need to have like a centralized platform to manage all this. So, in a data center, I just read two years ago in a big data centers, that for example, Google has, there are 70,000 virtual servers running. So, it's really huge scale. So, on us, on us is an open network operating system. So, it's, I've very much compared to the Linux kernel in the networking domain. So, it's completely open. It's meant for networking for this use case. It's written in Java, that's definitely different to the Linux kernel. So, it's a bit higher level language and very much object oriented and all these things. The license is Apache, it's open source, so it's available on GitHub, so you can clone it yourself to see it, there are quarterly releases. So, the last one happened actually just this month. The next one will happen in April, either before Brexit or after, I don't know. So, yeah, just the ecosystem briefly. So, this is very important. This slide is more just to show how much it is used and how many industrial collaborators are investing into this project. So, it's definitely not a toy project, not a personal repo from someone. So, it's actually backed by many big giants in the networking field, including Cisco, you see all these. I think even Intel, yeah, Intel is also there. So, many of these companies are behind this project. There is a very active board deciding according to service provider use cases. So, this is very much industry driven. So, briefly just about the architecture. So, this is roughly the architecture of Onos, which is basically an operating system for the networking field. So, there is a core, which I would compare to the Linux kernel. There you have the core, the actual kernel itself. Then there is what we call the SB core API, that's the south bound core API. I would very much compare this to the driver system in the Linux kernel. So, you can write device drivers for various devices. Even for one particular device, you can write multiple drivers for different protocols. Then there is what is called, sitting on top of the distributed core is the north bound core API. And then the apps, but I think I will just go through explaining each of them very briefly and why they are there. So, obviously the distributed core is where the abstraction is happening, high availability is happening, which is very important in network systems, and scalability, performance, distributed storage. So, all the kind of logical algorithm is happening inside that. So, that's basically the craft of the whole thing. So, the distributed core also makes sure that the scalability is good. So, like I said before in big data centers, there are so many network devices. So, it's very important that these are just pluggable into the network, and the operating on us is basically still up working. So, it doesn't matter how many more devices you connect to it, it will keep working. Or similarly, if you connect servers into the system host, then that is also like not a limitation in the most that you can scale up the network like that. So, this is just an example. In this case, we have various network devices at the bottom in the network. And at the top, we have multiple servers, multiple hosts, and they are all equal. So, those are there to provide high availability. So, in this case, if one host is running at fold, then another host will take over. So, it's not going to be a problem for the network at all. So, all the hosts are running the same code, the same release basically. So, they have their own internal protocol for communicating all this takeover. It's a consensus protocol. So, the next thing very important in the architecture is the northbound interface, because this is where the actual network services, network applications are written on top. So, yeah, it provides key abstractions. Probably I won't go very much into the details, but I think the main point for network operators and network architects is that they can write applications explaining what the application, the network service should do as opposed to how. So, it's a way in almost to what we call intents. So, it's really the network operator can express their intent as opposed to connect this device to this device, this device to this, no. You just say, these end devices connect them and don't want to work out what the intent, how the intent should be actually implemented. So, the next thing which I worked actually personally a lot with is the southbound core API. This is where the network drivers are written. But again, it's not network drivers in terms of the Linux kernel, but in some way they are very similar because there is a strong abstraction. So, you can plug in any device. It doesn't matter whether it's an optical device, whether it's an Ethernet device, whether it's running OpenFlow, whether it's running SNMP, NetConf. So, it's possible basically to plug in anything. And yeah, it's just a few examples of these. So, what I worked on personally is OpenFlow. In fact, that's how I started this whole Onos thing. In fact, even before Onos, I was working with Open Daylight. Because Onos got on the open source in 2014, I started it in 2013. And we started with OpenFlow and gradually we got more requests from customers to support NetConf on our devices or SNMP. P4 is a new upcoming way of programming devices, basically. And a couple of other examples, like even REST or RESTConf, these are very popular for network providers. So, these are what they are all implementing in different ways. Sometimes these protocols are not exactly implemented in the same way by Windows. This is what writing the driving in Onos means. So, then we come to the applications. So, this is probably the most interesting part of the stack for network operators because this is where various applications can be written. So, this is just one example where Onos, in the middle, it can function basically as a service in OpenStack. And I haven't mentioned this, but it's kind of given these days that Onos is also providing Docker containers and Docker images. So, actually, there are nightly builds. So, even the very new stuff can be experimented with and tried out. So, Onos is providing that. And in this way, an almost instance or set of Docker containers that Onos provide, they can be plugged into the OpenStack word and then it can function as a service. And this is practically how it's done in terms of architecture. So, yeah, Onos provides containers. It can be run in VMs. In fact, the demo that I will show that is also using VMs and Docker containers. So, this is not a problem. And then some more use cases, it's probably a bit too many to show. But I'm not trying to show this on a horizon basis, just to show that there are so many use cases out there that can be done with, that can be used for, that Onos can be used for. So, that's an interesting project. I forgot to mention that Onos is coming from the Open Network Foundation. And they're also working on a project called COARD. Where they are basically into all kinds of things. So, data centers, providing services for data centers, telecommunication offices. So, 5G projects and all kinds of data center projects. Because this is actually a developer conference. Just to show, because going short on time, but basically just to summarize, developing an Onos application is not any different to basically any other way of developing applications in other projects. You just clone the code. So, like I mentioned on the first slide, it's available on GitHub. You create your application or clone an existing one and adjust it. Write your code. It's written in Java at the back end and the front end is written in JavaScript. The build system is currently switched to Bazel, which is a new build system. And then again, you launch it, you activate applications. It's all based on OSGI. So some of you, if you are familiar with the Java word, it's very common to activate the activate applications drivers on the fly without affecting the running production instance. And obviously, you test it, you debug and you release it again. So, I will just show how Onos looks like when it is used. So, this is one of the northbound interfaces. It's a GUI. So, this is actually a network topology. And yeah, this is America. And this is how the GUI looks like. So, you can see here, like there are multiple hosts. So, they're all in charge of the whole network. So, if there's a failure in one, the other will take order. And this is just the GUI. We have a console-based interface as well. I personally use that the most, but it's just what I prefer. It's not really required. And we have a REST interface. So, Onos has a REST interface for interacting. So, many applications can be written using the REST interface. And then you have the usual swagger, which is the providing the REST API documentation. So, it's again, it's generic. And I will try to show the demo if it works. There should be a play button somewhere. It worked yesterday. It worked yesterday. Let's go out of full-screen mode. Yeah. Can you check? Maybe a button at the play button. Or maybe we can just go to the slide and play it from back. There we go. And then if we go back, is that playing? It's not playing still. Something is not right. I will not hit this mark. Okay. I might say just don't go full-screen. Just play it from... Yeah, okay. Yeah, that's what it was meant to be. Show us a video. Okay. So, that's it. So, this is the honest group that is being demonstrated. So, there are all kinds of views in the group. So, this is the intent view where you have your intents listed. They have IDs, type. And this is like a simple topology view. In this case, it's using optical switches because that's the background that I'm coming from. But it's not limited to optical technology at all. So, yeah. So, you can see there are several nodes. You can see their IDs. And, yeah, then a cable is plugged out there. Just not to read. Yeah. So, there are also flows in the systems. Obviously, everything that goes between the elements, those are flows, even for optical switches, actually. The abstraction of flows are preserved. Yeah. So, in this case, the idea was that if you remove the path, then the topology will recalculate everything. And it just shows that the consensus works and how the topology changes. Maybe it's a bit long. So, I will just go to the next slide. So, the community. Community, again, there is an ambassador programming on us. That's how I got into it as well. My SaaS, it's very accessible. The community is very open, very, very, like, very friendly. We use Garrett for code reviews. And this is just a map of the contributors all over the world. So, there's a lot in Europe, also in America, also in the East. And, yeah, just quickly, the takeaways. Honestly, it's production ready. That's the critique it used to get in the past. But now with actual real deployment, this can be proved that it's production ready. It has a distributed core. It's modular. So, if you write code in one area, if you don't affect the other code, it's high performance, scalable. It's easy to extend. It's easy to use from CLI, GUI, and REST. And, yeah, it simplifies the network. It's open source, and it has a great community. Thank you very much.