 So I'm so happy to see so many people actually I was I had a nightmare just today that was only going to be Mauricio Me and maybe Whitney So yeah, appreciate you I know there was no We have to do the talk in Spanish in Spanish. See we can do it in Spanish. Yeah, no So I like I said, I know there was a lot of talks at this time So I really appreciate so many people coming in to know about the Kennedy project And the open source aspect of it, and we're going to talk a little bit about joining CNCF and a little bit about the the function so Just to survey the room Who who have contributed to to k-native a dog or code So we have a few folks who have used k-native before Great, that's who was who was yesterday here in the day to k-native con Okay, so don't miss out the the next one. We're going to have one in Detroit And the CFP will come in will come out soon So if this you have a chance by if you're not you're learning k-native or using k-native Those are the type of talks that are the program committee and part of the current committee that we're looking for So don't don't be afraid if you're known contribute to k-native one of the main talks that we're looking for is End-user companies or end-user organizations. How are you using k-native? How k-native is solving your issues? And also if you're an user company, please reach out to me because I'm doing interviews just to get your story about How you using k-native? What are the things that is working for you? What are the things that are missing so we can have feedback into the community and I can serve that into the user experience group To make it better and showcase your company as a case study because that's part of the CNCF Journey if we become CNCF other companies we joined who have Confidence that the budget will stick around for a while and it will have more features and will be robust and it'll be enterprise ready So with that and if you are into k-native, we have another talk this afternoon actually on k-native from Mauricio Yeah, I'm presenting with Thomas here and we are talking about like functions and all the stuff that it's coming there And how do you feel like a you know a function as a service kind of platform? Yeah, so we go deeper on on the k-native functions So they're going to talk a little bit about the project so people get get involved and hopefully By Detroit I want to see more hands for people contributing To k-native and again contribution is not code, right Mauricio. We always say it could be a piece of blog post It could be a tutorial it could be Just joining slack and answering questions on stack overflow creating an issue creating an issue Explaining like I have this issue and this is a Reproduce that is easy to reproduce sometimes people just say they have an issue and that's it But we all ask those excellent folks that write all the information like this is how to reproduce it in a in a simpler way So that's that's everything counts. I think actually those counts into contributions for voting for our members So currently if you are contributing those those type of things you can vote in the TOC elections the technical oversight committee is having elections right now and You can go online and vote if you are you are a contributor and we count Those contributors in the dev stacks like we the dev stacks that we use for Kubernetes out on the other CNCF projects. I Think that you're forgetting something important that is that we have a stickers. Oh, yes We have stickers. So if you have questions, you have deeps on on stickers So you have good questions you get two stickers But yeah, there's stickers around for everyone even has here and I have more here So if and take and take the stickers out right to give to your friends or if you are doing meet-ups in your country Where are you from? About k-native right you giving a talk, you know, you can give stickers out And we're going to have a CNCF store So if that's something that you want to continue doing like running meet-ups and be an ambassador or an advocate for k-native Now we're in CNCF. We have funds. We have we have money Now we can use to give swag. So we were trying to get the store up up up and running I think we're going to first thing is going to be t-shirts We didn't have them for here, but for Detroit. I hope we hopefully we have both stickers t-shirts and If Lindsey can get me socks, I really want socks k-native socks. I don't know. That's good. Everybody has cool socks and then we don't have socks So that was a long introduction We're burning five minutes on that one. So introductions. Who are the two people random people up here? My name is Carlos Santana. I play the guitar make millions and now I heard the Kubernetes is Awesome and people are making more millions out of Kubernetes So I need to to get in there. I'm an architect in IBM. I work with a lot of customers insurance company bank companies trying to make Their software and IBM software run on Kubernetes the best way possible with DevOps and upstream I work on k-native and steering committee and in Kubernetes I'm in the sick release Recently joined there and the release team lead for release notes 125 help in 124 So if you are in the also in Kubernetes upstream come say hi because I'm trying to meet and learn that that journey about all the six and Marysio yeah, so my name is Marysio Salatino. I will keep it super short I'm working for VMware upstream k-native as well working on functions a lot these days Working also a little bit on k-native eventing, but I am truly passionate and close to developers So I'm really pushing forward to get like a great developer experience there on the functions project It's pretty exciting. We will be showing a bit of that now. Yeah, and follow Marysio on Twitter He has a cool weekly k-native newsletter that he does of his experience of working with k-native and the k-native community I I read it every week. So it's it's keep doing it. So people are actually reading it You don't have metrics get metrics In there so yeah, so let's we have something fun for this for this talk It's maintainers track usually are like dry, but we want to do a game Yes, so basically we are going to play a game at the end of the session, right? But I wanted to show you how the game looks like so we can all play at the end because it's a little bit fast It's like a just a quiz game pretty simple stuff But if you don't see it before you play it might be too fast for for some some people there So usually like this is a quiz game you go there You just generate a player's name because we don't want you to enter your crazy names And then when you have one that you like then you start playing right as you can imagine This is being built by functions, but that basically means that each question Processing kind like the inputs that you're providing It's just a function that will be get started in a Kubernetes cluster, right? So the moment you start the question you will see here a timer and you have 10 seconds to answer if you save some Time for example, five seconds there That's going to come count in your your points experience, right like an I corrected Maybe kind of like okay, so I get ten points there You can see here that you know a function was created there and bootstrapped in the cluster I can do that for question two which is a little bit different It has some pressing buttons and stuff and you will see that as soon as the timer runs out a new function We'll be created in the cluster, right? If we are all playing on the same time We will just be sending a lot of you know Putting a lot of demand on the system so functions will be a scale up Dynamically by K native well and what I wanted to explain here is in the last like in the last the screen here You have like this tweet button Basically that when you click it it will take you to Twitter and if you tweet and you rank high in the leaderboard We will be you know sharing some swag in there as well So now you know how it works. Let's go through the presentation and then we will be playing together at the end Carlos yes, so it's a competition and it's not a competition. It's yes. It's a fun competition Valencia trivia so for you that haven't seen a came here before Is the project is around? Serving which is gets a lot of attention to it for the serverless containers on Kubernetes and we also have the event driven apps or EDA It's good to spell it out event driven applications, which is a sync operations a sync cloud events It's based on cloud events, which is another CNCF project On those we have a reference implementation, but K native is also an API So you can take an API for developer experience. We made the API v 1.0 So you say it's a stable API that we feel confident going out to do conformance You can have an implementation some vendors have an implementation behind it That is not Kubernetes, but most of the people here today are going to run it in Kubernetes as the implementation of it and that's what makes it a Kubernetes native right CRD is the way you manage so a lot of questions when you have for running K native Usually the answer is like you do it the Kubernetes way, right? So we put the developer experience that abstraction But at the end of the day a lot of people like to use it because some of the lower level questions They get answered like you do it either the cut Kubernetes way or a cloud provider way K native features, we can say the simpler abstractions that get very appealing to folks is the yaml I didn't do them scrolling right we have Twitter Twitter Twitter them scrolling We have yaml through scrolling when you start with a yaml with the ingress and the cert manager and the deployment and the Service and get the labels correct and then you have the HPA and you can have maybe some Service mesh routing team percentages and weight by the end of the day you have a lot of yaml So what we try to do is like abstract that into a simpler Attraction that it literally is like 10 lines of code that you can get started with a serving yaml file Would you specify? Here's the container and here's the port and if the port is 8080 You can just omit that the other one is auto scaling like this morning We're talking about the in the keynote of the energy efficiency on how much CPU is wasted So what we want to do is have as many pods right that being packing into into auto scaling so you can have maximum efficiencies to get as many deployment definitions right and those deployment definitions will be sometimes scaled to zero and Would not consume energy and then you have other definitions that are running So you can have a lot of definitions of these applications in a current discussor But depending what is the demand in the traffic and what are the types of the type of applications are running? They will scale to out and then when there's no traffic can scale to zero or one depending if your Your call starts and those type of things progressive rollouts is some feature that It's it has like a an initial implementation I will say but we're looking for the community to come up with the better and more clever ways of doing these rollouts Because there's a lot of there's a lot of I will say a lot of information or innovation going out in your companies on How do you do rollouts and some of the feedback that I hear the community? Which whole-way track is awesome for that is I don't use the standard rollout because it doesn't work for my company Well, we want to see what is working for companies and share that and build that in but at least in Incaneated we have one that is time-based basically you give it like I want to roll out this the new revision in one hour So it would it was split that one hour in 100 percent increments and it will start Running out the percentage of the traffic right from zero to a hundred because you don't want to like Suddenly like send all the traffic to the new revision So you have the option to say like well take your time to roll out These this revision and maybe for one region and then you move to the next one The other one is event integrations and this is where we have a need for sources So we have the the we have channels and subscriptions that is kind of a direct communication messaging Platform, but we also have a kind of a hub or broker pattern that you can have consumers or Sinks that tap into that into those cloud events based on different filters And those can be dynamic filters, which is a it's behind a feature flag So if you have seen demos or examples of being like strict to some attributes of that kind of event There's a dynamic filter for that For that event integration, but we need event sources more from the community And then handling events is like somebody produced events. It could be a cloud provider It could be pops up from from Google It could be through your mesh has a lot of integrations They can send you events from different providers and cloud providers or it could be your own events in your application So you're handling events and producing events and that's there was a great talk yesterday By Pablo that explains. How do I handle events? Why reply to a reply with an error, which is an interesting aspect to that The other one is pluggable since we are using Kubernetes We are Careful of choosing the abstractions, but also we are needing help from the community in terms of like What are the things that we expose into those in those type of things by using? Kubernetes right you can have controllers webhooks that annotate certain things. We have to leave that alone because you have the need for In introducing kind of specific configurations in those in those deployments But it's pluggable in the terms of you can have cloud events or you can have for example I was mentioning the broker so right now if you use your data core systems of events is rabid and Q blogging If you're doing dev in a kind cluster in your computer You can have the in-memory one or if your system you already established your Infrastructure on Kafka you can tap you can plug the Kafka so the abstraction Is pluggable the things that you do and you don't have to change the definition of the trigger or the handler for that So we try to make it very very pluggable This is this is one that I added Last minute which is came out out of this week and we still have some Information of K native but people have heard in the past and I just wanted to have some misbusters So the first one I think it comes out a lot like I can use k native because it's used Istio And I don't know how to use Istio and it's just so big that I can like burns my laptop up right and I cannot figure out You don't have to use Istio. Istio was the first implementation But at the when we have we heard that feedback we we right away Created an abstraction that we were able to plug something else So we was I think it was ambassador or a misery glue, but right now the one that are stable our contour We have our own Ingress that is smart enough that implements the the minimum things that we need is called courier And we have contour and I need to still there is still without the mesh and with the mesh But you don't have to use Istio Not saying that these two is bad or anything It's like not anyone not everyone is using Istio, but the key aspect is I always say if you're using Istio Don't introduce another one right use Istio We k native the other one was people are installing a k native in their computer, right? It was serving an event in an event independent on serving CRDs So we separated that so we could have serving by itself a small footprint or eventing and actually says a very small Footprint that we get it running in kind In less than five minutes You see another one that is that is recently is PVC Where some people were like try k native and because they needed some Was targeted for stainless applications, but maybe they did it empty there for example very very simple PVC or real PVC There's a feature flag that got introduced recently So you can have PVC but take into account if you create a PVC it will take time to the storage which Certain applications can can handle that Sidecarts you can we can support multiple user containers, so you need a sidecar that you're doing something special with your app you can add that I think yesterday somebody asked about arm and Like we run Raspberry I'm a fan of running k native or Raspberry Pi because I have a little bit a lot of small applications there But not not running so they run when there's an event in the like in my house in auto Automation and it runs so it supports our Controllers are building go and they're the images are multi architecture, so you can run it in arm I already mentioned the dynamic filters and header based routing You can have the DNS all that function or service have an extra sub domain that you can target the URL But there's applications that you want to do certain things by header for a front end application That want to get to a revision or the last revision you can have a header and then have the routing to that to that service So it's kind of the misbusters that some people try k native I mean they were not able to get it into their Production application because they were missing one or two features So I just wanted to point out a few of them that give it another shot and if you find something that is blocking you You know tell us and we can help you out It could be like a simple web hook for now or work around and we can put it in the backlog and then we have Different working groups that will be evaluating depending what where's the gap? Adopters this is something that comes along a lot is like who's using k native right? No one wants to be like this the single company and the first company to use k native in production But we have some companies in production some companies building a platform see people like red hat IBM We're Google where are the the main the first ones and trigger match which is a it's a startup that basically started out of the innovation of K native and car events But we have case studies in the website you can check them out and those are the case studies that I want to continue doing We have three one from deep C for for AI and gaming outfit seven Anyone knows Tom Tom the cat that company actually I was surprised to see them in slack And I asked them like what you guys? What are you doing with with k native and I got I got to meet them had an interview and learn about what their Problem that they're solving and the case study made it to the to the website. So what case studies are very good to feel Confident to other companies to and also learn what there's what are the problems they're solving? So I asked in the community if you have your end user company, please reach out to to me Evan or one of our Maintainers because we want to capture that and see this is maintainers track If you have your open open source project that you want to get into CNCF case studies is one of the requirements that the TOC would evaluate We need to Yeah Major milestones that we did recently was the v1.1 that I said joining CNCF And these are like kind of like the the major milestones. We started the project Stats we have 11,000 github stars We have two github repos. So we have many repos in the core and also we have a github repo call k native sandbox There's a multiple PRs coming in and there's a lot of reviewers But we need help in the community to get more people into positions that they can help review PRs And we have a a ladder on you getting started as a member of And also to a lead position into one or the working group leads And about CNCF projects since this is a CNCF Event we were able to get into CNCF. We did the the work and the paperwork And we steering is kind of working out getting all those last minute transitions into getting all the CNCF Benefits from sum accounts to implement the the CLA and replace the Google CLA that we had in place To replace it with a CNCF one and that people can contribute The the project structures these are the we have a steering committee. We have a technical committee Steering works with more of the community and the health of the project The oversight technical committee we having I mentioned at the beginning we have in elections So if you can vote go ahead and vote for one of the candidates and working groups We're dividing into working groups. So depending on your preference or your skills or the things that you want to learn Join a working group and you can just join. There's no requirement You can join the meeting and start learning what they're working on from productivity That will work on infra to serving and things like venting I think there's a new one functions to say is a hot one that is just became a working group Roadmap we're looking into API Gateway Kubernetes ingress v2 Things that we presented yesterday that container freezer and a security audit that is kind of a check mark saying that We it's a record. It's one of the many requirements to go into CNCF graduation We started like that process seven is it's working on that and also if you are a security person We would like to see you join So we have an open community that we want to hear what are the things maybe we put in that RFP And also when the outcome of like what are the security findings dealing with like the TLS version and the Cyphers, you know, so you in that space we need people like that like to help us out Clicker there you go. Okay. So, yeah, I think that like following kind of that message and the state of the project I would say that K native functions is a very good place to start contributing We are actively looking for new contributors And this is the good thing about functions is that it's like a polyglot place no matter which language, you know You can definitely contribute to the project if you are into go You can contribute into the CLI and that's what I want to quickly show you kind of what you can do with functions today It's pretty simple and the idea of functions again It's just to build simple applications that do a single thing pretty easily and we are focusing here into the developer experience So basically what I can do can you read it in the back? Yeah, is that okay? Yeah, okay. So basically I'm creating a Function here, which is just a directory and then what I will use is the funk CLI And in this case, I'm creating a function using the goal language, right? So I've just created like a language like a function here that I would can open in my ID Pretty pretty simple stuff. Again. This funk CLI allows you to scaffold the project This is just a very simple simple source code here like nothing. It's just saying, you know This is a function. It's going to do something here This is where you write your code and this is the output of the function, right? So hey maintainers Right, so pretty simple function. It's not going to do much But the experience behind these is like the idea of here like a developer I can just go back to the the terminal here That's quite a bit better and then basically just have this running in a Kubernetes cluster, right? So I have a Kubernetes cluster already configured And funk will take care of building this function into a container no matter the language that I use, right? and then build a container push that container to a registry and then basically deploy that into a Knative installation without having to write a docker file or a jammel file in this case So Kennedy funk in this case the function project is taking care of all these developer experience And there is a lot of work in that area, right? Yesterday in Kennedy con We also showed how you can do the building process instead of locally with your docker You know with your docker demon in your laptop You can do it remotely in a cluster and what we are seeing here is that the function, you know The container was built it's now push pushing this function container to the docker register in this case docker hub with my You know with my account and then the next step it's going to be deploying that into The Kubernetes cluster that is running so as a developer I can focus on writing code the code of that function I can connect that function to a database or do whatever you want to do in the function And then just use the funk CLI just to move that into a cluster That can be like the your development cluster for example Now it's deploying the function and at the end of this kind of like running this command What I'm expecting to have is just a URL that I can basically access by just doing an HTTP request, right? So I went from having no project whatsoever to a function that runs in side Kubernetes It's leveraging the entire, you know framework of k-native in this case It's automatically a scaling based on demand and also it's going to be downscale to zero if I don't use it for a while In just three minutes, which is pretty nice in my opinion and again This is polyglot so I can create like a function using Java or I can create a function using Rust or any other You know energy efficient language We do not support C right now, but we should I'm bash and yes. I think it's like I was talking about Jokes jokes aside That's kind of nice, but that's a yes You can guess that's a simple hello world kind of thing, right? And that's the main reason why we build kind of the function like the quiz game just to show a little bit more How can like a normal application will look like? So the function game that you are going to play in your phones I guess or your laptops if you have a laptop it's kind of following this architecture, right? So we have a Kubernetes cluster with k-native installed and as I mentioned before We have one function per level in this case per question and these functions are connecting to readies to store the state Like when you score like the answer of like a player You're going to just store store that in in redis And then you will have like we will have like a leaderboard screen Which basically has a different function that goes to readies get all this goes for your your your play your gameplay And then just crunch that data and then send it to you know like a view that it's basically a ranking When you start building these applications you start to have how much time do we have we have five minutes, okay? When you start building this kind of like application you start realizing that for example in this case if Your functions are like the ones that I show that are synchronous You need to like send an HTTP request to the function so the function can do something You will start dealing with latency issues right like in this case every time that I want to evaluate the score for a level I need to go to the function calculate the score then go to readies store You know the score and then go back with the answer to the to the user, right? So all that kind of thing takes time so it's like when you start building functions the way of You know the mental model that you use in order to code these functions It's a little bit different to normal applications If you are working with lambdas or any other you know function platform It's pretty much the same, but you need to kind of like be aware as a developer The function that we have used here for the levels are all synchronous So they are all have this kind of like latency problem You need to wait for the functions to return in order to continue playing the game in this case But because For that we are only using K native serving right like the serving part of the project We can also start using the eventing part of the project which will give us like a more reactive approach Right, so in this case what we have done for the eventing side of things is we are using the K native Eventing broker and triggers to basically route cloud events inside the architecture So every time that we score like one of these levels We are emitting a cloud event to a K native broker Which is a clouds event router and that event is being routed to the front end Which is then forwarded to the user interface, you know, that's client side. It's in my browser running here So we have cloud events running all over the like moving around all over the place And we have this very very genetic infrastructure that we can wire dynamically for our applications We can connect more pieces if you want to we can route those events to multiple functions to keep doing processing and stuff In my opinion this provides you this gives you a very nice developer experience because when you are building functions In order to use all this messaging and cloud events and all that stuff as a developer I only need to use HTTP I don't need to just you know connect to a message broker or connect to Kafka or have an extra dependency in my application to Generate cloud events and in this case we are using our socket as like a bidirectional channel from the you know From the cluster to the browser in this case So pretty simple and complicated stuff at the same time We are planning to put this you know this this example publicly available so people can play around with it and also you know use it Like your own trivia right exactly so you can make your own trivia You can also show it like around the people can do the rubber cup in Detroit We can do that we can do that we can do a hackathon as well, right? Yeah Before I start and share this playing I wanted to just run a set of commands I think that that's pretty much it. I want to check that the leaderboard is there You get the QR code. Yes, I will just share it in a bit So as soon as this is you know working which is now right now I will just share the QR code with you folks. So if you have your phone Open your phone You can scan this code. I want to have everyone a picture of everyone playing If the QR code doesn't work there is a link there as well yesterday, I think that we hit the Like the limit for a free service QR code my bad now using an NPM CLI A thousand dependencies. I can see people playing. So I will take off the the QR thing, right? Is that all right? Everybody got it. Everybody's up Who can guess where those names are coming from? Generating names five minutes all right and I will switch here and Look at that. So we have like cloud everybody Floating around like a lot of confetti there Your people is basically playing and that's real-time cloud events going to my browser from the cluster Based on the things that you're playing there, which is pretty nuts Look at that like the notifications are going like and I guess all line are playing your virtual Look at that I work out I've never seen that library. Sorry. I Can show the pots on the cluster. That's very good. Evan. Thank you very much And that's we're not using lambda. We're not using cloud around. So scuba net is playing simple Yeah, look at that. So you have all the pots there Like CPU for the front and it's going hard because we have a single replica there We are going to change that pretty soon And then I can go back to the web. We're using WebSocket. So one thing that I think I mentioned when the milestone was yeah, some people Use cloud function for others, but we can use WebSocket's HTTP to gRPC Look at that. We have like 115 people playing there. Yeah, I told you to share. Yes So yeah, so if you finish you can tweet your score And he has a link right so people can find it on Twitter also play if they're on Twitter That's pretty cool. Who's winning? nice Rosalinda Rosalina 2 and second place happy Carver 4 and third zeroes made there too. This is good This is a score 68. Who has it? Who has a perfect score? No one? I think that yeah nice Rosalina Rosalina is okay So she means where my might be from Valencia from Spain from Spain cool stuff. All right. I think that's Do we have an extra slide? Yeah, I think the end the end slide right we do have an extra slide. That's true Yeah, so it's a call out for the community to join us like I said you can help in any capacity You're good writing docs. You're good advocating. You're good Organizing and working with the community we need help in that and also security network all the aspects of the of the Project so we we work on everyone that wants to either learn or contribute Yeah, and I want to say like functions is definitely an easy entry point for people that it's already coding different kind of applications It's a polyglot place. So if you want to come just reach out There are a bunch of K native function maintainers here as well So, you know, just get in touch and templates they can help with templates templates for examples And the rising in your in your company if you have like we build functions like this You can create your own template and then your developers just take that template and that's your standard in your company to write the functions Yep, whatever is the monetary agent or thing that you have to have in that library that you want You don't want to explain to people how to get it the template actually gets gets it for you Questions one one question on a line that you have a secret now. Yeah, at the end at the end you can come come here Yes, any other questions other questions Do virtual oh no from virtual we don't have anything Guys, thanks a lot. It was great. I want to complain about the game because it was bias for the people that are from Spain from Yes No, I'm joking. That's great great stuff, you know what? I'm coming from sort of different words the telco world I was on Vodafone and we are running now a new a lot of new activities on cloud and I got into coming K native from colleagues, you know supporting us other companies, and it's really really very interesting I want to do we want to do things with K native But you know in our world everything stops when you reach Operations, so I was wondering Observability areas. Yeah, like when we launch that and we start spinning up functions and services How does the operations people don't go nuts? I mean they can observe they can monitor and so on That's that's my question a bit of information on that Thanks, can we be the question? Yes, so the question is about like observability and what are we doing around observability inside the project? What Efficiently how are you doing efficiently? Okay, so so the question is you as a platform team in charge of the cluster and giving The developers access to to the functions how the best to run a monitor that cluster I guess Right. So one level is the Kubernetes level that we're just launching pods launching deployments So those you just took your your standard monitoring stack and then we have even can talk a little bit more After we finish in details about the open sensors and the open telemetry of the controllers of K native I think that's also you want to watch is because it's that's that's your owning those controllers So we have a couple of controllers like auto scaler the main controller the auto scalers They have metrics endpoints that you can grab information from them. That's a what And and the Q proxy cycle so those are like K native Components that you want to tap into observability to see how are the health and how do you scale them? So there's there's aspects of like making the HPA of those components so they can have redundancy and scaling So those those type of type of things are in the website some of that information is in the website But you can reach out to us and there's also some Grafana Community-driven Grafana dashboards and the stack that you can tap tap into it and get started on on that But a lot of people use all their monitoring services, right? Yeah To your point is like if you are already monitoring Kubernetes, you just keep doing yeah But I think people ask like well, what about the others the native components Those are built like cloud native way and have instrumentation into it But definitely we need people like you folks of like what are the best patterns for that to have more Documentation and examples on how to integrate maybe we do with third parties. That's a good question Yep, I think we're out of time. We're out of time, but feel free to come And stickers like I can see Maria there picture