 Yeah, yeah, you're right Cool, okay If any is someone able to share the agenda as well so people can see it Fantastic. Thanks you Lucina Alright, well, let's go ahead and get started. So if you have not added yourself to the list Please go ahead and do so now and we'll start with some agenda bashing. Is there anything not on the agenda that? That you would like to have added on Okay, your silence says no, so We have a couple of upcoming events So next week on Tuesday is the cloud native network function seminar There's someone has their their Mic on and just background voices cool Anyways, so we have the open the cloud native network function seminar That's next Tuesday during the afternoon in Vancouver. If you are going to be there, you haven't registered Now's the time to do it you can go on to the open source summits website and They have a way for you to add a registration even if you even if you've already gone to the process of registering you can You can update the registration a Couple a couple other things on that. Oh nice. So I'll let you do those as Announcements as well We have onus Europe coming up as well and we have a talk for a network service mesh and so I will let Taylor and Taylor and Watson if you want to talk about what you're presenting real quick since we're talking about events I'll speak on their behalf I've got my mute mute button on the ready. So we're going to do an overview of the cross-cloud CI and how we've implemented the own app project to the dashboard and Yeah, it'll be just a quick 20 minutes on that and I don't know that we're going to talk too much about our Progress on the CNF's. So it'll be mostly about the cross-cloud testing system and dashboard Cool, very nice Okay And you have you still have an idea on the happy hour Yeah, so I've also been asked to present for 20 minutes on network service mesh at that seminar So I will be getting some slides together. It turns out to be remarkably hard to Condense things into 20 minutes. So that that's always interesting And the other thing that I'm kind of bouncing around Is the idea of possibly doing an NSM happy hour at a nearby bar? And I still need to go take a look and see if there are some conflicting receptions that may be happening Tuesday night or whatnot But you know, if not, we'll probably go ahead and get it up You know, I'll definitely mention it as part of the slide deck. We'll probably get it up on the landing page We're going to talk about it here in a little bit Etc. Because I think it would be good to get people together Just to visit and talk especially since people seem very excited and have a lot of questions And 20-minute talk at the seminar does not really mesh well with that Okay, so Yeah, it'll be good to to work out Yeah, I'm I'm pretty sure that the the conference is scheduled something for every night But my understanding is that they've limited the end of the invites Based on various criteria So like I think Thursday was the partner and speaker reception and and speaker reception Tuesday, I think was a Diversity dinner so so that might be the that's only conference I'm aware of but Yeah, I There may be others so we definitely need to to work out and that's right Wednesday is the aquarium Okay so So special on special announcements So what what are the thoughts on cancelling the the meeting? Yeah, I think I'm gonna be an airplane at that particular at this time the next Friday and I suspect a lot of other folks will be as well Yeah, I'm happy to see to have a counselor next week and I don't think that will I think what's gonna end up happening is that there will be people are interested in network service mesh I think if we hold a meeting on Friday, even if everyone was not on an airplane and we had the time to take it I don't think we have enough time to prepare to help To help on board and get people on to get people on so So I think it would be good to have a little bit of time to to So For the action items go over that bit quick because we have a lot to we have a lot to go over so We have complete this project we have completed. Let's see a new linter for all YAML files Mr. Do you want to talk about that? Yeah, I just I actually stumbled upon that. I wasn't even looking for that I forget what I was doing that let me down that path but when I saw that I thought oh, that's pretty interesting and and You know in my quest to automate all the things I thought you know, let's automate this as well And and it actually it actually found a bunch of stuff in our YAML files that I picked up So I was happy with that nice so Okay, so that's that's been set up So when you run your when you run the make file then it it just it kicks it off as well, right? Yes, yes, yes Hold on one sec, let me just verify that oh You know what it isn't but but in fact as soon as this meeting is done I'll push a PR that does that Because I I added it directly to the Travis dot YAML But then I went and added it to a bunch of other Legato projects as well and for those I put it in the make file So I will I will I will push it so it's in our make file as well. So so when you use the build it does that Okay, fantastic then let's see we also So we also have our Document on using CNI with mini cube So if we can if we can add a link to the agenda In the Kyle if you're gonna add a link to the to the agenda about that that'll that'll be good and That leaves us to the last part which is Building the NSM website using Q go and I we actually have an agenda item for that So we'll hold off for that one for the agenda. It might actually be next It is next so It's jump directly into the into the OSS preparations So we have a huge amount of work that's gone into the landing page. So if you haven't seen it yet Go to the network service mesh dot IO. It's it's It's linked on the agenda so you can click on that and And take a look at it And it would be really really helpful like even if you don't want to add any content if you just review it make sure everything looks clear and Help us refine this so that when we when we share it that It's it's as clear as we can it's we can make it at this point. So It definitely is I was super happy with this because because basically, you know Basically getting this deployed to to a global CDN basically took me a few hours, which is you know 2018 is amazing in certain ways because because that was awesome And I love the fact that it's that it's Hugo and we're see eyeing it And then it just automatically deploys to netlify once we merge things back. So so super cool It deploys to netlify so fast that between clicking the merge button and typing in the URL. It's already updated. It's Yes, it's an it's amazing how fast it is Yeah So is there anything on the site that we want to point? People here directly to for for review or anything or anything like that like is there anything that comes to mind? um so I think Probably a good review on the concepts would be very helpful and The more people who try the getting started the better the getting started a little bit sparse right now right now It just tells you how to deploy an network service mesh to your Existing Kubernetes cluster. We need to get through and sort of also you'll show you how to try out the test case But yeah, that that's That's kind of where we stand right now By you by the test case. Do you mean? Surgees Test data plane Yeah, exactly So basically the test data playing a test network service endpoint and then a pod to connect to it Yeah, it's I I started that and there are there is some fuzziness There's some steps that are not absolutely clear So I I'd be willing to to try to see if I could write that Just as I try to figure it out and actually do it because I want to write a more complex data plane nse and I thought by starting with surgees and trying to make that work. It would give me a start to writing another one It may take me a little longer than then somebody I'll have to figure it out as I go. But sometimes that helps to lead to Clarifying what the steps are Tom, it's just a John. I'll We don't to help you come trying to do the same thing this night. So yeah, I've been reading your stuff John and your PI as well about you know that we discussed last week and That was certainly extremely helpful. Yeah, I'm making a little sample out this night So we can actually use it as a test case. So so my my recommendation in this one since we have multiple people who are Going to be looking at this in parallel, but we want a single document and we have a limited limited time because Tuesdays Tuesdays, I think is the goal. So if we were to start up a Google doc and what we can do is is You know start without lying what we what we have and if somebody does some work on it and get some progress stick the commands in and inside of the Google doc and then the next person who hops on can read can look at that and then fill out the next parts or clarify and that way that we we don't We don't end up having a temporary silo for for Tuesday Yeah, I agree. I think Google doc might be better than a PR and we'll do the PR after we At this point so just just for the interest of Time because normally I'd say You know work out however you want to to collaborate or so on but I think in this scenario You know and then I'll jump in as well and I'll also see how much I can I can push it forward as well That'd be really good. I think I think it'd be a best fit during cool so I will I'll go and create a Google doc now and Let's go ahead and Yeah, give a give me number to give a bunch of us edit privileges on this one. Yeah, so If you guys could also give me edit privileges there because I may poke at this problem as well so yeah, this is This is something I would love it to see if we can get pulled together or something very clear and simple for Tuesday Because that will be a lot of people's First exposure and I think the existing quick start is very clear and simple as far as it goes It just doesn't go very far, right? It's the run this one command. Congratulations. You are now a network service mesh enabled in your cluster Okay, and now what? Yeah, we need to see some applications and traffic going between the two applications to make sense Yeah, and it will have to do it in stages because right now We only have the test data plane really and we'll have to get to something a little more real with a you know A remote data plane before we can really start cooking with gas. Yeah, that's what I that's what I want to I want to work on is and uh, I Confused about where some of the bits go That you actually need to start getting traffic moving and You know Building on If you're looking to be building on VPP There are now some Docker files in the VPP repo that I pushed recently. So that might give you a starting place I'll just I'll just start with surges example because it's probably really really simple and people can actually look at the code and understand almost everything If you try throwing VPP you've got to teach them VPP now Yeah, I know I mean whatever whatever we end up doing has to be simple as hell, right? Yeah, yeah, okay, so the So is there anything else that so we have documentation listed as a as an agenda item is Did we just cover that or is there something else that that someone had in mind for for that bullet item? I think we may have just covered that. I mean, I think we're getting a pretty good set of stuff in the documentation There's actually one thing I could use a little opinion on so when I put together the documentation page Right now it loads of concepts first. So if you just click on the docs link, you'll be taken to concepts I do sometimes wonder if maybe Documentation shouldn't land you in setup. In other words, we shouldn't switch the order so that setup leads before concepts I would very much welcome opinions on that. I bet you can argue it both ways. So You can definitely argue it both ways I'm very very very pleased with the quick-start image that we wound up with that image. We speak very happy Just a quick note there is now a document and It is editable if you have this link. So be careful with Sharing it out too far, but I think it's safe to put on this agenda for now Cool So we're seeing so so which particular one so you said it's under so when you're in the start page you said that you go to documentation and then you'd say Documentation right now in the top level menu, right? Right now it will drop you on to the concepts page because that's the first one on the list of the nav for Documentation and the question is do we want us with set up and set up with concepts? I'll link to set up Our link to the dots directory on this page probably would be What we need and I think starting with concepts and the narrative is good. It's a good thing, but we probably Need a link that says okay now Go do something if you have a link back to the Docs page underneath these two or whatever Yeah, this is it is like what What's next and then like that way it drives them like a like a narrative Right Okay, I think ideally we'd have to having some way of this is long term linking your Long Presentation back into steps in the documentation actually Could you go listen it could you go to? Concepts and scroll down a little bit. If you go if you go to concepts The first one is the sort of what is network service mesh? If you scroll down tiny bit from that Literally have the embedded slide deck Yeah, I was saying you know translate that into code into code steps Oh, that would be fabulous. Yes. We don't have the supporting code for it. Oh, yeah, but yes. Yes, exactly Yeah, that's that's I think that some of the questions you asked in the in the Narrative document the Google Slides document along the side are beginning to For people to think about what we need to flesh in Yep so cool So I'm the the draft of working group proposal. I apologize. I've not made any progress on that this week I've been very focused on trying to get the website together No problem. I think I Think the website I think is the highest priority Tim. I think we'll wait for us. So So I think we're I think we're good on that Also, I had one other thing I was on mute so What in terms of the in terms of the OSS preparation, so I have this little web application that I've been working on that allows people to type in questions and What I so this is based on what I proposed earlier that we would have something that we can type questions in and they just pop up on the website so it's designed to be stuck in the iframe and And it all happens live. So as like as you edit the as you edit this the page then Or that's people add things where their questions or answers. They automatically pop up and so So what I what I'm hoping that we can do is is set it up so that if people have questions at any particular event we can have this thing running on the side somewhere and use it as a as a honeypot to catch questions and then and we can answer them on You know either have someone answer him who's on in the crowd or have someone else or have one of us answer it after after talks And the and the end result is that we take those questions And then it gives us a a process to work out like how do we want to incorporate this into our Into our markdown. So it's not designed to be permanent. It's just for for running during events so as I'm going to finish up the application today and We'll and we'll see about finding a way to to integrate it nicely so that that it works So I Don't have a link to it yet. I haven't pushed it up to GitHub yet, but I will I will push it up soon So and one of the nice things about it is that when you do the answer like it literally will just show up on Everyone else's page. So there's no refreshing or anything like that. So it's so it's designed to be live and dynamic in that sense so anyways, I Barring any questions with that Let's move on to the draft x-factor cnf so I Created a doesn't look like I posted the the gist on here. So I'll post it right now. So but basically I created a a Gist that has information on what I'm thinking of for the x-factor For the x-factor cnfs and You have the link here Apologize we're not happening up right now There we go. And so I'm starting with with this and the idea is not to say This is this is what one of these things like how do you do one of these? The idea is to try this to set the agenda as to what I think the community should should rally around and specifically So I so there's a diverse set of bullet points You can see it I think the whole factor apps are aiming more towards making it easy for developers to to build the applications to maximize the portability of the of the applications To be able to deploy on modern clouds Minimize the divergence between development tests and products and then to provide horizontal scaling and I think that we can start with those properties as well You know and and and learn from them and they're very high level I put some stuff that were a little bit more there were a little bit more specific on the CNF so things like no VNF should have specific kernel modules and So and so if you're right if you're rewriting a VNFL we are renamed that the CNF So as you're moving from VNF to CNF's many VNF's have specific kernel modules And if you have to deploy a kernel module, you're breaking out of the isolation. So that's So just just as an example and so to try to to work out like how do we how do we move people from VNF style thinking to to CNF style thinking another challenge we're running into right now and if I think the Volk People are definitely on this is Like even defining what a CNF means like like what is a what is a CNF and Trying to try to define and say this is this is a CNF. This isn't a CNF I think is Going going to continue to evolve for a while. So like even being a saying here's how you write CNS is dependent on that question. So Can I ask a question? I mean sure. I think one of the things I think I think we just mean me for my World view is that a CNF is not an end point a CNF, you know Has traffic going through it not it's not destined for Does that make sense to everybody or is that just my Provocable view of it No, I think you're actually so I think you're right in the in the global sense But from There is a perspective there are perspectives from which they are end points because from the perspective of So from the perspective of some consumer that wants to connect to a CNF That network service isn't in point right all it knows is it shows packets back and forth from the global perspective You're absolutely right Yeah, I think From my perspective and tell me if I'm wrong I think when we talk about the NS network service end point We're talking about a control plane end point That's saying that the final thing we want configured happens there But but it could be an endpoint that for existent for example is a is a firewall or a Router so therefore try packets will still throw flow through it Isn't that isn't that correct from so in other words it would be a control plane endpoint, but not a data point Not necessarily a data plane endpoint Yeah, and I I have a tendency to to also think like when I was writing this one of things that occurred to me was that We want to be very distinct as well, but there's there's also a relationship to a service I guess you say I'm service function chaining on on in cloud native environments and So So I think part of part of how I'm going to try to approach this is about Not just about how do you scale the CNF, but how do you scale the service function chain itself? and See the service function chain you're talking about CNF that do not terminate you're talking about things that must pass through because You know CNF one must pass through to CNF to through the service function chain Yeah, and as and they and they can grow independently like maybe one is very computationally expensive and It has to grow with computation Maybe number two is very data or very throughput intensive and that has to grow parallel to to land you more nicks and landing Landing one of these on a system that already has where you already have one on it Is not gonna is actually gonna doesn't work. Yes, so well, but Fred isn't Isn't a chain a node on a service function chain could still be a Traffic will go through it from the point from the standpoint of the NSM It could still be an end point because we're configuring that if that name if that node has some kind of configuration You know I don't know clarify that place So It's I want to make sure that I understand the question. So so it's a question about like about I'll try and I'll try answering and tell me if I hit if I hit your question. So in terms of in terms of endpoints Like yes, there's there's endpoints. Yes, we have to data flow through them But I but I would also argue that every CNF itself is also is also an endpoints like if you look at at least from the at least from the point of perspective from from the From NSM maybe other SS service function chaining and control planes don't view it in this particular way You know, if you go through the how our CRD was developed You know, we have a source and a destination that's defined for each for each node And so when you have a firewall you the chain the chain is this this is like in the VPN Gateway, okay, so you have corporate Internet connectivity and inside of that inside of that service When you when the first connection is if you're not part of the service You go to the firewall and then the second one is if you are part of the service and you are the firewall Then you're connected to the gateway. So the gateway becomes the endpoint for the firewall and this change it just so so in essence, it's the same pattern over and over and over again and and there's They all act Each each section in the next change acts as the endpoint for the for the previous one So they're not they're not terminating endpoints is is the thing for it. So right like a firewall on a router. Do not terminate connections right These are not terminating the network traffic itself. Yes terminating the L2 L3 connection. I think that's for this Not always. Yeah No I Know but they are right because if I show an IP packet across the network service mesh container No service mesh L2 L3 connection and it arrives at the firewall You know the connection Definitely terminates the firewall the traffic gets carried transparent. Yes. Yes. Yes And so that's I think a little distinction one of the things that I think we probably want to Also focus on and I find this very useful when I think about cloud native about CNS One of the things that's in the cloud native definition is something about immutable infrastructure And and I think this concept of immutable infrastructure Together with the notion of what is on what side of the infrastructure is a hugely powerful way to think about them so for example For cloud native the kernel is part of the infrastructure and therefore the kernel is immutable Right. Um, and so that's why your cnf can't have a kernel module But there there may be other kinds of things as we explore here that that that fall out naturally from this In terms of you know immutable infrastructure and where the line of demark is between the application and infrastructure for cnfs Yeah, and that's a really great point and I think configuring the kernel through the device plugin API that in a controlled manner is acceptable, but saying we're going to We're going to shove a kernel module in that's going to affect others other cnfs Like you could still you can There's still use cases like these are sort of heuristics if you absolutely need to do it No one's going to stop you from doing it, but you lose You lose something for it Yeah, but something you lose is the whole advantage of of containerized Functions Oh, I definitely definitely agree and so that's you know and So that's what I was saying. There was like a it's like a set of guidelines and in heuristics, but I think that Yeah, I think that's a that's a really great way to look at it as well Let's try to define the the borders and see one of the things that I was that I That I realized is the orders of magnitude is more complexity that's here compared to the web application version So when the 12 factors apps came out and adam was building it out. I mean he had seen Probably 10,000 or 100,000 different deployments and it probably worked with With customers to help resolve scalability issues with them and again how to configure and manage them And one of the things that I think we're going to run into here is that the diversity of the types of deployments that we're going to see is going to be Is going to be significantly Significantly higher, but I think that there's certain patterns that we'll be able to to See that we'll work across the border for for all of them And then if we want to drill down for a specific one because we see there's problematic in that area, then we absolutely should But yeah, so so this is so this is basically what I what I started with I I should actually stick this in the google doc instead so that people can can modify it. So I'll I'll do that as well Uh, but any help with it just like Concerns comments You know Anything that comes to mind, you know, great greatly greatly appreciate it and and I see this is not being like Like tuesday is not like the the end point for this like I'd love to be able to shop it around on tuesday and get more people involved But I think this is actually something that Is going to be like ongoing. So as we continue to work with network service mesh And we people are going to ask us for guidance We can give them is we can give them these these x-factor cnf's Guidelines as as guidance to help to help them work out How they should build out and help them understand like why Taking just a vnf and sticking it into a container is Does not does not give them the benefits of kubernetes and that's that's really the point that I want to try to drive with To try to drive with people is that they need to start looking at their their cloud native infrastructure as As having specific properties that if they follow certain patterns, they will gain the benefits of cloud native and So Which means don't don't rely on scaling up don't rely on kernel modules do rely on on Scaling horizontal Do do rely on being very explicit and declarative in your configurations and defining your capabilities of how you can communicate how you what payloads you accept and you know and And also from the operational perspective like it's very one of the things that they have in the 12 factor apps that uh is a Discussions I've had with with uh with others was about It's like where to keep logging, you know, should you keep it centralized or should you keep it in some form of in some form of of event logging system or should you have a single system that that That is omniscient as an example and One of the things that that comes up with this is if you look at the 12 factor apps One of the things that they that they discuss is about you treat your logs as event streams And so whenever you have a log you you inject it into an event stream that you have something like fluent d or Or flume or something similar that's capable of capturing those Those logs and aggregated together and then you have another tool that can be used to To gain insight on your entire distributed system your entire cluster And so like these are these are patterns that if you're working primarily with a single omniscient system Then you won't be familiar with these type of patterns, but if you worked on distributed systems They're extremely common And so there's also an opportunity to help as we move towards a more distributed path to help bring some of these well-known concepts from other from from other areas so Anyways, I will go ahead and create a uh the document on that and Any any help I can get is is greatly greatly appreciated cool um, let's see moving moving down I don't believe that the problems with melanox nicks have been resolved that Taylor we're were you able to have a a conversation with uh jacob by any chance? Yeah, I've been carrying on a conversational jacob and some other folks about it. Um Right now they don't have any anex five nicks that are available for other folks They do have some systems With intel next so that's an option working on getting access to more of those Building out the specs that would be useful for The various projects seen at seen a comparison and nsm And and then there's been a lot of discussions that ed is aware of on the cnx for support with vpp I think a lot of that's coming forward. So if we have that then I think we'll be able to do more testing And you know, I can end up with a lot of docs how to I think cnx four from from what michael was saying If I understood correctly cnx four should work with vpp 18 for with vvpv 1804 there is some Thing odd about the dpdk drivers the more recent dpdk drivers from linox nicks in general that's currently being discussed and sorted out So um, but I do believe cnx four should work with vpp But not with the latest 1807 because it's using the latest dpdk and the latest dpdk drivers appear to be broken Um, but it does work with 1804 so, um Yeah, so I mean and we we are we are just exiting the finger pointing stage of figuring out what the hell is going on with the drivers and You know dpdk 1805 So I think Based on the output of all this um research testing and working we can have Here's the specs that you need Here's the packet systems that um are usable and Any gotchas on the software install to check with michael He's the one who I think claimed to have gotten um the cnx four is working in packet using vpp 1804 So he would know specifically. I'm just passing rumors at this stage Yeah, he he's we talked a lot of this week about it So once Some of the cleanup on the comparison code is there then we're going to update some of the docs That's on the cnx uh cncs cnx project We're gonna all that's available. What can roll something in with maybe a shorter doc for the nsm project as well so Okay, nice. Is there is there anything that we can that we can do to uh to help taylor as as well I think right now most of it's waiting on Mike to finish his testing and then if we hear anything back from um melanox On any specific items or working out where the the problem is on the Bpp code where we're having to go specific versions. So that's kind of outside of our hands right now Right now. I think we're good. No help needed Okay, cool. So if anything comes up, um, you know Don't have to wait for the for the meeting or anything like come come get a hold of us So and uh, thank you for taking the lead on this Okay, and um, I promise that a little bit of time so you can talk about hannah and the hardware nix since we didn't get to it last week So the floor is yours for the rest of the For the rest of the meeting Okay, one second. Let me go ahead and and pull this up And we'll go through it really quickly. Um One second Hang on. I had not anticipated presenting this otherwise I would have had it all up and going I apologize. I should have given you a little warning. It's okay. It's okay. It's all good. Um Yeah, so one of the things let me go ahead and start sharing That is not the version of chroma. I wanted to share one second and just a little note, um That if you look at the um at um At the narratives Uh, you see that there's a little bit of a I guess you call a mnemonic with it sort of like Sarah and a secure internet and you have hannah and the hardware nix and so on so it makes it a little bit easier to to to remember So when someone's talking about sarah, you know what use case it is someone's talking about hannah, you know what use case it is exactly so, um, basically Effectively what I ended up doing here is I've got the single deck and I've got a table of contents in the beginning that has links You can click the link and be taken to the correct Thing so, you know hannah and the hardware nix Um, you know, we have our character hannah She's writing a Kubernetes app to be deployed on her on-prem Kubernetes cluster And one of the pods needs some hardware nick now So to sort of set the stage, uh, people tend to think about hardware nix the same way they think about GPUs and they're so not Right, uh, so some of the nodes in hannah's cluster has special hardware nix and some dump Um, it's also the case that not all the special hardware nix are the same Right, so not all of them connect to the same network. For example, right? They connect to a bunch of different networks Um, not all the special hardware nix that connect to the same network have the same speed So for example, some are 10 gigs some are 100 gig there might be some 40 gigs whatever Um, so you think okay great. So we we've got what hardware nis network nis speed nis And then of course you also realize that not all the hardware nix are treated the same but the network they connect to either Right, so some nix connected to what the network may have ACLs applied to them Some may have cost guarantees Um, and and so you you sort of start putting together this long list of attributes You should discover that you can't just go enumerate all the attributes because network engineers are creative And we have created way more attributes than you think we have um And so from hannah's point of view though her her situation is very simple right from her point of view She has a pod that has to be scheduled um To some place that has a hardware nick Um, and then she needs a nick injected into that pod So, you know again sarah's definition of hell Having to figure out which one where you know, how do I find out all the nicks in the cluster? How do I find out which hardware nix provides the service I need? Uh, how does the scheduling get handled? Um, you know, how do we dot we avoid collisions in terms of the scheduling? And of course, then we we have ariande our for your friendly neighborhood spider Um, who comes and sort of introduces herself Uh talks a little bit about network service mesh and how it's sort of like service mesh only for 2 and l3 And then you ask then she asks hannah to um Explain her problems right so hannah's like okay. It's really simple I want to play my pod where I can get the hardware interface that that I need injected So a very simple problem, but She doesn't want to have to think about which one. She doesn't want to think about what node it's on She doesn't want to have to wind up with a hardware nick that doesn't do what she needs Um, and she still wants to get her normal kubernetes networking into our pod Right, so You know, obviously the first question that everyone should be asking is what about the device plugin api and you know It doesn't really quite get there because you know as hannah points out Uh, you know the device plugin doesn't need to get the information needs to handle the networkiness of mix The c and i plugin doesn't get the information it needs to handle the hardwareness of mix And so you get this disconnect Uh, plus uh, hannah doesn't need any old hardware nick. She needs a hardware nick that does the things she needs Right, so just saying give me a hardware nick or give me a 40 gig hardware nick Or give me a hardware nick plugged into vlan 10 none of those actually Describe what it is that hannah needs because what hannah really needs is connectivity to a network service And and here's our friend sad panda So we start talking about how network service mesh could help Right, so network service mesh thinks about things in terms of and this is the familiar intro to network services um network service endpoints and uh connections But here's the thing Um, when you actually look at this in sarah's situation What you really have is the node with hannah's pod and you have the hardware nick and the hardware nick is really the l2 and l3 connection And in sarah's situation the network service endpoint is really the port on the top of rack switch Right, and that's really what we're connecting sarah to via the mechanism of a hardware nick um Makes sense so far cool Um, and then we dive into how do I use this and this is the very familiar I'm gonna skin through because we're all very familiar with this stuff You know talking about defining a network service in this case enhanced corporate connectivity um In that sort of represents the class of hardware nick that hannah needs And then in the pod spec you simply put a resource request for enhanced corporate connectivity into your pod spec And then of course there's the obvious question about the networkingness here And this is where the network service manager comes in So hannah's pod gets you know dropped in with its nsm init container. It requests a connection the nsm injects the hardware nick and sends the accept And so from hannah's pods point of view, it just looks like the interface appears And it works very much like we're used to things working for a network service And of course for the scheduling and everything else that all works like normal device plugin mechanisms um, exactly You know with no new for alteration And you get connected to a nick that actually provides the network service that you need Because you're actually asking for the resource that is a nick that provides that network service Instead of just generically asking for I would like a 40 gig nick So again, no kubernetes upgrades. No c and i And that's I think the last slide. So there's definitely some repetition between the use cases But you know, I wanted them to be self-contained stories Do folks have comments or observations? Suggestions are most welcome Yeah, I I actually did go through this the other day and it's it's interesting hearing you talk through it as well I think it's real helpful because the a nick 40 gig gig 100 gig nick is Is concrete what? You know, I think this is real helpful. Thanks a lot ed I'm glad you like it. I mean in particular the one slide. I was kind of really happy with how it came out was this slide because A lot of people it sort of really puts the fine point on it that what you really care about is what service is being provided to you By the network you're plugging into Because all too many people like I've literally seen lots of cases where people are thinking in terms of well, okay I need a hardware nick Okay, but what kind of hardware nick? Oh, I need a 40 gig card reneck. Well, what is it connected to? Oh, it's connected to a network. Okay. Well, what services are you getting from that network? And people tend to not think about the fullness of the problem space And and then as they discover it the band aids build up and it gets to be kind of ugly So, uh, we would we would define the fullness of the Hardware requirements just by adding additional lines to the to the spec In the yaml file, right? And then they would be Criteria that would be matched by nsm in order to know which service We're not quite that complicated yet Literally all we're doing is saying we're defining enhanced corporate connectivity and for whatever that happens to me and then You know in in the particular pods Some nicks will be marked as Providing enhanced corporate connectivity whatever that means. So Hannah doesn't actually really want to know generally speaking all the minutia Of what enhanced corporate connectivity means Because that can get to be quite stark She just wants to know this is the thing. This is the kind of thing I connect to and it gets the services that I need Those services are defined by the details in the spec associated with that service No, no, the it's simply named just like network services in general and network service mesh Are are simply named services that provide stuff Um, it's just sort of like think of it this way if I have a kubernetes service Right. I I I don't specify in the kubernetes service all the things about the the service that it actually is I basically tell you some very basic things about it and I give it a name And and similarly for um network service mesh You know, I don't have to enumerate, you know, I don't have to tell you in the network service definition that you're talking to Of stateful firewall. I just give it a name. It does the things it's supposed to do Yeah, I I think I understand that so if you want a stateful firewall You ask for a stateful firewall and you by name have a name. Yeah by name Yep, yep. And so if I want a network connectivity, that's what I asked for and that could involve a whole cluster of characteristics and services Um, some of which you don't even have a good way to reason about Will we ever have to have a network service mesh service browser? Yeah You know, it's coming Yeah, there's gonna have to be some kind of Or ultimately orchestration driver that knows how are they gonna have these enormous flat space of all these services with slightly different names and And to help know which ones to deploy Um, and I agree Someone's gonna have to map the abstract name to the To the details of what makes that abstract name unique for people like Hannah who Don't really want to know You know, we're all in a we're all in a world where everybody has their own domain of knowledge And they don't want to know about the other persons because if we If we all knew everything about everything none of us would get anything done. So this will abstract details Yep, so a little a little thing on that particular section So we're since we're dealing with keys with basically key value as for For looking up the name that there's There there's nothing that stops people from adding some organization through the key structure like they do in fcd So you can stick a slash somewhere and then say this is my corporate stuff and this is my VPN stuff or or so on and and maybe build out a little bit of of structure as well So I think we'll see some patterns like naturally evolve That that up with us and they require no I Ideally no code changes to to what we're doing to to help support these other than maybe Maybe enumerate but kubernetes and xcd have some techniques for enumerating based on that forward slash So we may even be able to make use of that. So we'll have to I do apologize. I have a hard stop at the top of the hour. So I do have to drop off now Yep, me as well. Thanks everyone. Look forward to seeing a bunch of you next week in vancouver Fantastic. Thank you everyone All right, safe travels. Goodbye everybody Cheers see you in vancouver