Sorry. So Tommy just joined. I have no idea who's going to work at all. Tommy, can you actually hear us? Actually, Tommy doesn't like to talk. What? Yeah, but it'd be nice if you could respond to me telling me whether you can hear us or not. So I'm going to leave this here and hopefully, and Michael will pick it up. So we don't have a formal agenda other than to sit around and brainstorm about what to work on. It might be worthwhile to mention that Kathy is leading the group, working on the workflow, which is another option. So let's work with you. And obviously, those guys are working on it as well. We are that group is still going to continue working on workflow. And I know there is some interest by the company that might do anything well. So what we're talking about here is doing something else in addition to the workflow stuff. This isn't applying the workflow stuff. So what I mean best now is to sort of hear what you guys think in terms of where you'd like us to go next. For example, if people think follow-on working cloud events is the right thing to step in. So if you build a different surface, what are the pain points you guys are hearing? I'm not going to be talking about this. You guys are great stories. So we pause there and let anybody raise their hand and talk to everyone. I'll pick up people because I will do that. Of course, the agenda is on the agenda. We have cloud events, which is great because we can now bind data onto part of our policy. But we don't put a wave or a service to expose what it produces or wants to consume. So some sort of mechanism to have a catalog. OpenAPI have it in the cloud platform that we have developed with cloud events. Make a catalog of the cloud events that you could produce or consume. So we can query the information to see what the pain is set out. Similar to OpenAPI, but instead of being wrapped up around restful interfaces, what would it look like for, like, I'll tell you the protocol or maybe you tell me what protocols you support and what's the cloud platform that you produce. So I've looked at ACAPI and talked to Fran. So I think what they're after is more the general purpose messaging story. And they have also, like, they took the inspiration from OpenAPI, which is very expansive. And they basically took that similar expansive approach to trying to find every message in the world, every interaction in the world that exists. So I think it's a little overscoped for my taste. But I think that's certainly the idea that might indeed be a little bit too much. And maybe the ACAPI project also would do well in scoping down. But I think the collaboration with those folks, I've been sitting in their meetings and there's ways we could kind of like map cloud events to that. But it's still, there's a lot of assumptions about protocol. And instead of restful endpoints, it's queues. Yeah, I mean, it's a thing for queues, right? So that's why for our queuing side of the world, for us, it's interesting because it targets queues, but for the polyglot protocol world that we've been targeting. But I agree that it will make sense to have catalog of that sort. But if you allow for interaction, if you can go and query a publisher or an emissary of a publisher, middleman, for what events are available, then you should also have some subscription. So it's a method to subscribe that's also standardized. So I think having a standardized API that says here's what's on offer and here's what's subscribed, exactly. That seems to be the next from an interaction perspective, it seems to be the closest thing for push cloud. So with that also, I have a query to see. So schema is a great point and I talk with Doug about that. I think of schema as something that might put people in factor into different thing about necessarily make that hold that down so much to the cloud that's percent. So I think schema registry is also something that I'm interested in for maybe that's a super set of use cases because the schema registry will be, we have a ton of recordings now Afro, Polo, whatever they are that are schema bound that people love and we have built something that is for ACPERS communication where you want to put something onto a bus have that show up in different ways and then you get it on the other side and now the question is how do I get to that schema and how do I manage that schema and having something that is super simple to schema registry that would be used with other types of use. Yeah, this is more like discovery for a producer or consumer and then you could leverage some defined schema and then using those two pieces, clouds could be hard to articulate a little better, but then like how to subscribe to this thing. And then there's a third thing that fits into this is the security sort, because minimal end-to-end signature end-to-end production will also be helpful. And it doesn't have to be super complicated while the ocean and W security need to stop but we can be a little bit more focused on algorithms and what's being supported but we need to have a way to exchange keys and store keys and some kind of evolved API so that's the three APIs that are in my head it's subscription and discovery it's schema registry and some kind of a key tool. Another aspect that you are not sure about in these concepts is whether it's synchronous or asynchronous. I think that's especially from synchronous asynchronous. That's the event that doesn't have a synchronous asynchronous. I understand the notion of asynchronous but what do you want for us to produce in that space? Is it a mechanism by which someone can find out whether the producer can send an event and expect to be synchronous or what were you looking for to be in the standardization perspective? So I'm thinking for the synchronous right, maybe the synchronous response. I'm more thinking about a specific level when I receive an alert and see if I'm right and see if I'm right. Wait wait, first you have to introduce yourself. I'm Evan Anderson from Google. In terms of the synchronous case it seems like you expect a single response. So in many of the asynchronous cases you can fan out to many different places but if you're expecting this as some sort of synchronous decision, make a decision thing getting back three different decisions is probably yes, no, and please hold them for further question. Fan out query is where you go to consolidate the results. It's questionable whether that's actually an eventing case. That's the question too. We've so far tried to stay away from correlation or the synchronous response correlation and the question is how far that is because it's also an event. And I think if you think of that as asynchronous versus synchronous where synchronous is the response there you can use the cloud events format for that certainly if the correlation is given by the transport but if you look at HCP then the transport goes to correlation for you so that's just want to raise your hand for the next step. Yes, sorry, is this specifically next step for cloud events or just next step for everything? Right, so I'm Jeff. I think one of the things I think if you sit into even just looking around at this conference, I think there's a lot of interesting and very important projects going around from Native open VAS to Duplio. One of the things I'm interested in doing is using a few calls to just hear people have a chance to kind of present here's the decisions that we made. Here's why we do KDA eventing the way that it does and then just think honestly I'm not alone. It's less around like we're building new things for standardizing existing but I think there's a lot of stuff that I just would be interested in having discussions. Do you want to order more information? Maybe a little bit of code. I would mention I can even present things like here's why we built KDA the way we did and here's the pros and the cons and maybe someone else cares back and they're like oh that I can see why things like ordering are super important so it's kind of like there's a little bit of a discussion where it's like oh I can see why this would be it. But I think the dialogues, the architecture on the table Yeah, maybe. There's like so many different services offerings and they're not one of the long feature wise right and so having like a series of presentations I was thinking about the following piece of work or an extension to the service white paper that already did say okay we had that passed now, we're going on a KDA here's why they made the decisions they did so people can understand those projects and different architectures without saying they were sort of bad. Here's what they did. I think as well with those discussions I think going a little more depth in the white paper necessarily but recording those and recording like the pattern so that it's not just a hey we had a discussion and there's a video and watch it but like going into more depth around consequences of some of the decisions. And it would be awesome if there was like a format so that people could look at each other in the same outline or something that would make it easier for them to consume and check in a little different. That's a little better. One thing along these lines is I have noticed that people outside the circle really don't know and don't care much about the events so reaching out and evangelizing videos particularly maybe integrating with different technologies and expanding on the nice demo that we have built earlier and make sure that we can present various events, various conferences and a little talk that is evangelizing. That's great. Is there a speaker group or something like the speaker office that they can manage for events? It's a bass set of basically people like persons to sell their data by paying on top of that. So I think if there's you can apply for some background budget to give a talk and we know. Okay. The other thing would be one of the things in security we deferred doing a white paper because there was some debate about what the audience would be for that white paper and what that audience would want. And we're talking to Cheryl and the end user community about figuring out a way to engage with the companies that are members of the CNCF. So that might be interesting to see if there's an end user meaning the companies that I serve. If you were to pull out ones where you'd be like, oh my gosh these companies should be in any kind of a province and specifically invite them to a round table. We think you'd be great candidates to use this and this is why it would be great and maybe managing. Because I think there's a lot of the service providers here right here. We have to do two, but there are only events. Yes. I'm just thinking with the some of these some of these companies basically I don't know some of these companies some of these companies some of these companies I don't know my company I don't know what they were like. Some of the folks that are some of these other functions like I don't know the more other other other providers like oh yeah so you know So what's your, so we've been talking about something that is related to dispatching standardized that. So what is your, what is the goal that you have with that, with that standardization? Do you need to build? Do you think we should build something that goes down to the metal? Or do you think we should go and create something that makes the codes a job between different platforms? I think we should build. Because servers, right? In that case, for a group of events, events are just part of it. I think that another key part of the system is platform. If we, while we build that, we might find out, okay, there might be some interfaces to standardize it. Well, functions is actually an important part of that. I think I'm trying to get on some of the same points that Sarah and Kathy were, but I think probably be useful for adoption to have some sort of adopters kit that would include, like, documentate, you know, we have the spec, but some real examples of, you know, okay, here's how we've worked with, you know, one or two or three, you know, actual things. Here's the kinds of cloud events they're emitting. Here's, you know, actual examples of the strings that they're using. We have, you know, we have cross-tested all of our libraries against each other, and we know that they actually, like, if you write something and go and you send it, that you can get all of the extension attributes when you go and pull it out of JavaScript after it's been passed through the C-sharp library, for example. Like, I don't know if that works or not. I don't think anyone's tested it. Some real applications where we can show that next level of value. So more of a packaged, here's what you can do to get event providers on board with, this is a useful thing, and, you know, I know that Knative has done a lot of experimentation with the GitHub event provider because that lets Matt write lots of robots to automate things on our code workflows. But, like, you know, maybe I see that there are some Microsoft people here. Maybe we could go and, like, talk about GitHub about emitting cloud events. And our entire platform, though, is open. Great. You can see if a grid knows things about the message, you can translate all the tests. Does that include... Yeah. No, not yet. No. But I guess my point was that having one or two case studies of companies who have their own push stuff adopting cloud events would be really useful. So maybe GitHub isn't the right one. We have... So GitHub... So, I see that there is desire. Yeah. And we... Doug and I have talked to the respected GitHub folks who would be doing that work. And we got to them from... I just wrote an email to Nate, and they said they helped with what those events might be. We'll have to see whether we can encourage them to raise events in that format or we can go and figure out what that bridge would look like. I mean, I'd also be happy to be a list of six or eight other companies that we thought maybe we could talk about. Yeah. If I'm going to do is go back. Yeah. Yes. It's open. Doug, do you feel that anywhere there are any events for their cloud thing? Okay. Yeah. I mean... I think that the community section might need to have a list of real-life cloud events that are being made. So... And then... Just let me... Before I go to... Yeah. Before I go to... I actually... When I talked to GitHub about events, they were actually interested in it. They said, well, instead of PR, you know, do it. Especially because they're open to it. They're open to it. They're open to it. They're open to it. They're open to it. They're open to it. They're open to it. You know, that sounds, sounds like definitely something that is very interesting. Just going to say I just got on the best practices and how to do these things. I know that we work with some sources.  What do the students work like? Is this an event or is this a... Does this go out of a subject or what does that look like? like so I don't know what the forum would be for somebody like that it was like I want to do this but I also want to do it like so is there like what would the venue there be like I don't know it's more examples and we have this discussion as well yeah we have an adapters section in the credits repo that says if you're doing it get up get back this is what you look like that's what you have right now you have to close that yeah yeah I think it's sort of kind of a particular example that we did in some of the central anyways um yeah there was a lot of sort of kind of like what should these things work like it was just confusing and it wasn't sure exactly what the right it wasn't clear between me one of the examples I bounce around a lot inside Google was cloud storage but wait so first of all it's a single string what units should that be you know the project that's associated with a particular bucket or a particular object like there's different granularities that the source and resource now so that sounds like it could be that sounds like a um architecture we have this I think there's different forums here yeah where that we're all looking for yeah where we now effectively we're all working on different things yeah but there is I think there's an aspect of you know attacking the marketing team we're just like oh we build the thing and now everybody needs to know about it and unfortunately it's that's okay unfortunately it's messaging nobody compares we need better um so so I think that's one aspect and then there's the architecture our um where there's this best practices and probably videos about how we've been doing things and that's not only for the start of this platform I like Jeff what Jeff proposed but really also about the venting things that might be part of that kind of an outreach coordinated outreach program and where we have a video agenda that we say you know here is what we want to go produce in that week we can make it outlined and then everybody loves the 30 minute videos about their stuff with some level of commonalities so that will one thing and then maybe that we have I don't want to be to be to the working group call some kind of an architecture exchange for people who want to go in and build cloud events but we staff that in a rotating fashion with two people for three people and then people can come and say hey I want to build this how should I build the society of this office yeah they get that so we do a routine process how do you think you'll use my question and you know from um um the addition of cloud events from the project as a service when do you have a lot that you can do for example how we handle uh forceful events this is how we scale up or scale up and then how I build another connection if your function need to access another resource in the cloud how you can set up another convention that different ways to do it right like some design or some open source code that can have very good scalability very low latency and also very low latency like some ideas they have some people that just cost that and then well I just wanted to uh welcome and thank Ken for coming in use our uh initial talk sponsor or uh sort of the working group I'm going to appreciate him taking the chance on all of us to get us to where we are Kevin did you want to introduce yourself Hi I'm Ken I um what I would underlying transactions right so listen and what we're now going to say in discussions you guys wanted to pioneer any groups but then you used the C&C app if you kind of say great to be here thanks for showing up for the face-to-face look for just saying hopefully more involved like in the beginning last one was quite important comment on something um I know we go a bit in the past um function signatures I'm going to be really cool I'm trying to think of this from a uh from an end user perspective more than anything else I know it's not anything to say accurate but I think cloud events are the most important structural thing because while the end user may have to see the cloud events I think that helps in users out either sending what we're seeing inside I'm seeing inside having a portable interruptable function signature might help be some of the things that people's fears of be very personable and do this at the most time people understand that this won't go so if you feel basically go ahead and you're saying I'm going to go to events of type x and you think that's why I don't want that to be a long time being here so it's to go the other way around just go ahead and start out and say okay what event types do I have what kind of consume I'm going to say okay make me one of those things and you should be able to give me a scheme of anything else you should be able to go ahead and start to be some functions where the code just goes in there so yeah both of those words and I think there's some of the work that we do in various places I think this needs to be nice for us more if you get involved in this again I mean we have in in classroom functions we have two run times or three only how do you get done depending on how you look at it and of course the stack looks different for depending where you are and certainly to be frank I think we compete on implementation because we as for the public health part we certainly are very keen on making the cards work very nicely and making things super cheap and that's where I'm sure that's the same for AWS and I'm sure it's the same book cloud and there's a public infrastructure that people set up so the infrastructure per se and the functions host I would say there's a great variety of reasons but the code could indeed have a common set of patterns so that the binding to that infrastructure of that code is interchangeable now the reality that will be that will remain that if you build something for AWS for Azure that code will attract the platform components and so there will be some degree of lock-in but as standardization progresses there will be some other APN I'm sure that CNCF does much for that we can get the code more agile if you write a function in so let's say you build a function in Java and you hook up that job in the functions code and you send messages and interact with databases then you can use JDBC and JMS and be relatively agile across platforms and I think that's something that customers are looking for from the attraction of Kubernetes I believe that applies to the objects yeah see so that databases and objects are a secret database I'm not so sure you should ask if you're your closest or user or friend but she said JDBC so yeah so I definitely kind of works but if you start with native APIs and in complex cities so I think that would be useful to have you have to start somewhere and if we can go and find a way to to define the hookup of functions into that infrastructure so that comes in a changeable that will be I think interesting an interesting idea to pursue because we have certain ways of how you have to write a function in C-sharp so that we can go dispatch HTTP parameters to it and we have a particular way of how you have to go write that function so that you go dispatch a message to it and one way that's natural I think for us to start with is there's a call event right how does that get dispatched into into a purchase hold can we go and figure out how you can make that work and then we can think about you know generalizing it up that's what we said so we started with cloud events and that might be worth a thing to say so I'm talking to one thing that you actually see bad and I actually don't think that's bad this cross the calling across services to basically use the two months that we have to go to work so we have a certain service that certain things imagine it's actually not terrible so you go and get your compute over here if you want to run that through services in after or through any of the AI magic that I looked at earlier with the word then that's great so so that would already help yeah it was a very great dispatch AWS for dispatch it was running then it called down into no actually it was a GCP that was running called down into upload it and then set the results back into slack and so it's able to you know make up a portion but stitching together three public bonds in a sound service and using public so it's one of those things this sounds similar to the stuff that serverless framework has been doing is there a differentiation here or is it that this is supposed to require this okay but a function I write services I'd like to run that same function on another provider and that's what I think two different things that you've ever looked right one is like here's the way that the payloads come into mind and the other is how do I connect them fine to this provider and can I do that and an action function that I didn't say just knowing how all these different things the function editor can be the same but I don't think you just expect services from I think and so the reality right now this web web the reality right now is right both that was pretty tight over time we will get to monetization of most of the basic right now we can't even agree on the storage but I think we'll get there sure and so so if we go and start with someone's going to start so we start with that then we can also think about you know what does that mean to send to send out events receive out events there are some standards in in areas areas like if you look at jms or or next that is you can rely on that on java pretty well there's for databases and stuff and I think and with if you combine that with Kubernetes where you can now go and post a and a virtual edition where where you can go and take some move that to do the places in the whole center where you but then you want to run you or your business logic in a serverless source then the combination of you know the serverless source that the platform provides plus the database you bought it's probably not reasonable so I just want to understand though I agree with one of the other two things there's a bunch of signatures there's not a connect up the sources on the platform if anybody actually suggesting exactly that second one nothing that's not useful but they're suggesting we look at that from no perspective in terms of possibly for them actually do I add that to the list or is it just an interesting idea but we're not ready for it yet yeah okay that's what we're talking about and this initially transports so you can set up a line and inject the transport the transports transport and have a source statement that chooses a transport connects in that and then it's the same function that's consuming messages off of a puzzle or viewing systems and that code is really awesome because it's totally tested with the hdp and have no server I think having a standard function that per language and of course it may change versions of like cloud maybe that's the part that we don't know exactly yet but I think that's provided by the component we support the so yeah so it's fair that's actually but some of them might choose to collaborate on the actual interpretation of that I mean that happened but that's not what we're trying to solve something like we've got a couple of standardized ways but you can import like a lambda transport or an azure functions you know connect to the that particular way that azure functions today sets things in that may not be unless it is in one way or another some things in the function that is different the architecture for has no function is the outside host gets informed by the functions you build in for what it needs to do to start acquiring new data so that's that's kind of triggers and then the so the triggers run and then when the trigger gets input input request might have to go by hdp or whatever then and we have a bunch of those then we'll go and and and pick an execution host or not so that's that's that's a separate thing but the effect of the binding that exists on that function correctly what I'm talking about um the the information that's on that's on the in the code in terms of annotations or in terms of configuration that it forms basically all those sort of else and then you can think of the code that you're that you're operating in whatever language that is as the callback that's being called by the by the trigger by the trigger by the trigger so the trigger is the thing that the customer doesn't see and doesn't care and they just configure and you pay for everything and then and then that thing then calls back into the customer code and questions what does that enter protocol look like I think that's the I think that's a good one you all you'd like the distinction here which uh it's just as an FYI because all this I agree with the signature because it's interesting the trigger hosts they can have to describe and the customer code actually knows it's the same so things like over the loan and the natural functions just work because we'll be able to talk about locally and then go through trigger locally uh when you publish it it's already in the same thing so there's not a there's not like we grab a chair and we throw it over whenever we show these and honor them just want to know the speaking perspective it's not like that was just a discussion point not the same thing you know that was just supporting the point that we will be great if we could get a common callback signature model coming and I want to add to that point that at least the workflow and orchestration perspective having the signature is important and having the registry is a screen registry of events sorry events yeah the events phase three and also like the signature or calling functions in the standard way of event we be super comfortable about the example right so they're working on examples of how to do having that set of examples for us putting the samples in double dot it's a memory it's a temperature and then so that's a new practice enemy and for any other the short system platform you have to be the person right and then I also add so you also you might help me say I mean I'm not agree with the syntax or even the number of configuration you do if we can normalize this you know all the common if you got that one function on compute what's some of this so a policy effective policy document that goes with function it says here's what I mean yeah I mean you know we can normalize these you know so that like I said you'll say I write a function no matter whether my country wrong on which providers so if providers on platform I don't need to change my function I do not change my configuration it's it's safe for me instead of you know I'm going to do one provider I have to do this configuration because it's another provider I do a little slightly they kind of they have a let's you pass in some configuration to each each client I come into that and I'm trying to pass this up and but it's so it's all it makes all the COI and experience to deploy my functions but they don't solve all the functions which probably they're still different functions or or rather the use of the different functions to me uh we've been working on this for a long time in the team well my cloud library it is it's currently like in early period I don't think we have a ship that we were talking about service mom which is a JavaScript library for now that will support JavaScript if it was you could use this library and write a function in the libraries you write it a single way but if it was deployed to land out of the like so just that like it has not been solved by then I don't know that's the other I just want to say we haven't already done it like because I think facing events such fun events just for you um hello so I was just gonna you know continue on the discussion and the one thing that we noticed what we do now though is that you know the message comes in that separately by the black line which I think it gets transferred from which then gets passed to the function and that is what the function actually uses so I think it is probably harder to promise to actually enforce everybody to implement the exact same specification for the environment the exact same requirement and you know depending on whether the cloud or the I think getting down to this right the description for the baseline will be solved then the platform can do some cleanup that is you know the environment can do some cleanup perhaps it's very that easy so correct but likely to be true leaves um if you assume that the schema for an event type tends to be the same for you know that event type over an extended period of time presumably when you write your function you're intending to operate on a particular event type as opposed to a generic one and then you could unpack the payload from the cloud event into that particular schema um you if you did that statically you'd end up with a lovely you know here's all the different event types that I know about included or like include header for like they all need to progress types and you know then I say oh I'm expecting type x the go library actually does a bit of this where it will impact things in the structure but you need to pass the structure at the correct time well I agree but I think that basically means that you're going to have to run in a way to assume whether the structure's going to be and you know the final series of events that you know you accept whereas you know you can just make it like pre-reform and pass the use but it's also liberating in a sense that you know you don't constrain the developers in any way actually you know like you have to beat stuff in in case they don't fit in right in practices of working passes for generic objects stuff like intelligence starts to work but we don't get that too deep other than I think your main point is from signatures may not be trivial yes right yes the only thing I want to add really to if you decide to go out there's not a lot of point you go out there and tackle this unless there's a desire to express for you that's right oh I know right what happens is that there's not some level of desire for those people to actually support this on their platforms and you're sort of creating some kind of a weird adaptive layer and then translate to you know just go to every platform without the problem my my just from my point of view it's strictly my point of view is as you start narrowing down this list down to why don't you think you can probably work on I was going to probably talk to some of the big boys see if there's even a chance the hell of them ever supported this stuff and you have to come back know that ain't what your decision would look like because you just don't want to spend time doing this like nobody else now you can see do we count to who can you amongst the big boys you know okay so um a new context is that okay so so this is one where an area where I'm asking for collaborators and this might be a liaison thing um as that's passed between standardization groups and doesn't require further work by anybody unless they really want to so there is an industrial out of an industrial standard called obc way um the obc foundation is um effort that has been started in the 90s and by now um in the industrial realm every speaks everybody has started speaking obc way kind of structurally um and obc it covers affecting machine to machine integration communication of telemetry but also acquiring values state state updates and that's on the platform goes down to now starts going down to to real-time but ethernet tsm and also pushes events up into cloud systems and we have a um so we've been working with obviously with the obc foundation quite a bit and idm has been involved in there as well to effectively collect plan for the machine information and route that up into the cloud in the cloud for the analytics etc etc um and the obc foundation is 450 members and the german industry for photo initiative has picked that up the isc has not picked that up as such i have been the architect for the um for the pop-up part of obc way six years ago that's what we started and then we shipped this back finally a while ago and there are echoes of obc way cloud events and vice versa which is no accident because of the personnel of that um and so obc way has has for the path up to the cloud a wave where you go and you query the machine if you learn a schedule or when something happens you assemble a message that is out of values that you read out the machine and then you send that it's way you can go publish it over mpp or uh mbtp over hgp so it has a notion of binding so i'm going to present on december 11 or 12 cloud events to that group and we'll propose instead of having its own protocol findings of obc way let's go and deprecate all that stuff and let's meet that cloud events which effectively hooks up that entire industrial space to the cloud event ecosystem um so that's something i'm going to do um because i've been uh we think that that's a good idea um because it also takes complexity out of the obc way specification it kind of pushes it into the cloud events um and that will open up effectively that that firewalls of industrial data um into which includes telemetry but also learning and so all kinds of different event types opens that up more or less for the for the cloud event ecosystem um you know whoever supports it can go and play and so that's the that's the idea that in fact what we've done here is we've up-leveled from protocol layer to something that's above that right there have been there there are a few credible protocols and we have all the critical protocols effectively covered what we've done and there has been war and there's always war between them and there's use there's use cases for all of them right there's the use case for activity there's use case for htp there's use case for app there's use case for app but we're kind of people have been forced into this into you know making a choice and we can go teach the obc ways uh we can never so consistent mapping and we can teach all the obc ways stacks all the findings similar to what we do with the sdks and all of a sudden the whole discussion about you know which protocol are you using before you attach the protocols away and it becomes a tactical technical decision for a particular route i don't make a strategic decision for you know everything must be app but you make a tactical decision for a particular route to choose a protocol i don't think so the most of the so the obc ways its own format they're one that's a jason format that is just the the convalent event our accessibility that we have is sufficient um and um they also have a binary format for which you need to know the metadata store so that also plays the schema story right obc way has a schema notion and so the question is you know how you register those schemas and how distributed so that would be another topic there so i find um there is interest so our own industrial folks think that's a good idea um i've had some preliminary discussions with some of the folks in the obc way and they also find that they're tracking and obviously any further air cover from anybody in the companies who steal industrial systems would be useful as a payment it's not because if i go and present this then it's it's ah here's an industrial story but i don't want to make that the microphone i don't want to make that the microsoft story so just bringing that up as as an area of collaboration um which um where there is an interesting ecosystem that already has standards that is effectively potentially hopefully behind the stuff that we already have because of mobile and so that would be super smart i think that is for example and that's for me that is the most important story that comes out of this is the the protocol that we have we have done a good job and first on the rpc side we've now all ended up grpc doing the thing and so that's that's now the most important thing that we're over here but those protocols that remain have no reason to be there and but you can't make those choices because the protocol ultimately is a top to top decision yeah you have a particular route and on that particular route you have more footprints it's okay if you don't have all the fidelity features you have another route where you can have whether the message is the message information is more important because it's an aggregate that has to be enormously expensive you want to make sure that you acknowledge that etc so there's good reasons to have to have different protocols that we should embrace in fact i think how it has put us in a place where we have that sort of abstraction ultimately i would love for that to also work with you know the direct and responsible staff etc but that's a little bit further away top of what we've already done but the important thing is that we want to push you to the test for counter that was for example hp as our scale is zero so uh so typically that we want your service platform up to it are the other things that we want for the code platform we have discussions uh so that we want that these other service platform doesn't have to implement you can get it out of the box by the way it's a really great discussion in a concrete example of this when two sides actually agree to stuff like each hpd scale to zero a scale from zero will open pass as a way of doing it you need to pass the way of doing it from the side of the way of doing it like that's the way it would be awesome it would suck me to less standardize that so i'm not so fit but that's how many things one of the things that math has been wanting to experiment with is no global scheduling yeah so an interesting thing you can do space is decision making is very centralized and spending on pods uh control vbi server so having having the ability to assume the plan has the right notes i'll wave my hands a little bit there it enables the game to get better availability in the form and maybe for server as it comes it's a special thing we want to be able to schedule because if we go to the next right go to vgcd it's very personal yeah how schedule um there's a lot of things that um you like building on that is people investing in things that just works but exactly the guy server uh it's part of how that all works right so i think we need to be giving up a lot of that stuff and so i mean in restricted apis and could lead to be some local things but then use some of those but like for instance if i have an api on cuba that enables is otherwise largely uh cluster level data plane calls something from and maybe not all the api servers is down but what i'm going to do is in a lot of discussions i want to request that people but not spoken to have a chance to speak because some less or more shiny what you say so you you just spoke so i was gonna pick on you too but you guys you guys like you three right there i've not said the whole last you can't hide anything you guys want to add we're just going down to that people server like the scale to zero uh relative issue was we discussed before but the ability to to reach the boss because not always you do want to really scale it to zero yeah so that that gets into those cuba apis that i think would be interesting oh you're really ended pick on somebody else to speak to that yes okay that's awesome we told you should okay i wanted to take out the presentation and just to tell me that everyone is trying to cover but they don't really think what's holding to no the working group proved that you go forward it's good to see the ass because i'm not okay we had no way to do anything else and yes you need to go forward from us okay okay also related to blood defense and issues that it's very interesting to have a way to define a specific from the work of a specific loud events to transform these loud events these events or these payloads that they can do the work to do something else and make decisions about this content so having a way a specific way like a catalog or because i wasn't suddenly thinking as you mentioned with isink api but in the isink api you have the types different that have reference of others that extra loud this on the schema outside of the file and so this would be that whoever is using this interactive sending events sending yeah sending events or interacting with a function it is very important to know okay what types you would expect and how and what work to understand the work like how it works giving myself a small application to generate confidence and our react ui included in java uses the java SDK and still there is a lot of work but this application will give you a web ui for filling out a five event and sending it to a destination um before debugging and like so but again it's possible for yeah i like that yeah did you send this to the cloud that's like you know can you send it to these that yeah i i i i shared probably i probably know the one i shared before so yeah it's a lot of games and send it to the cloud it's the cnc the cnc is that the cnc app the cnc app was based cnc app was changed by the i suppose the kubernetes slide yes for those of us who are on too many slides it's otherwise the democratization might be thinking about using hard events it's fantastic to be able to go ahead and configure it on this system and work yeah it's when i introduce myself that we have been exploring services for a while now since service is to some people it's functional as a service so you to provide your code forget about it uh to some it's really like more grounded with the especially in the kubernetes environment as possible so that we get a lot more and enter from the fast aspect i can say that in a single bit the system doesn't understand what you can do with it so for example um eventually the number of the developers was just mapping this one uh single people who are adopting that one process now we saw that maybe uh we can even use process installation put a lot more functions in a single container so that's all right and you can even go a bit further that's people are providing their code like uh others sort of that on top of what you use providing that they might not even use containers to access it there is a form where our template is how you can map uh that uses code and if we wanted to have this really high level of structure for example so i appreciate very much the discussion about the sdk that was very new to me that you would allow a common interface to try this uh very specific development function services so maybe there is an opportunity to exploit that and then learn with respect to how the function should be placed in the network so most of the environments out there are normally data set clusters but it's pretty well made and when you're talking edge computing and wide area networks uh don't make sure stuff like what you were saying is similar to capital structures of configuration and policy yeah also we need ourselves you know seeing what helps you know uh we're going to talk a little bit away to the trade off multiple functions so if you find this sort of categorized thing before i mentioned what i think is a high level of categorized i want to ask you a question about you guys mentioned lots of cool ideas necessarily which ones you guys think will improve because i think it's one of the reasons why it appears like you need to go to small scope but also what do you guys think would be one of the more beneficial things to the community because you guys mentioned lots of cool ideas some of them are kind of grandiose some of them are kind of small if you guys were to take all the things you mentioned thinking that on the category of learning groups but beneficial community is you've heard about pain point these people which of those things do you think fall into that for sure that isn't bitter i think those things would be what you probably want to focus on but i'm just trying to help focus our our discussion how do you think you want to say that okay i was talking a little bit respect also important because i think the second thing that i think kathy talked about but didn't specifically mention is interoperability which is i think part of that portability is actually verifying that our stuff all talks to each other the way that we think it all does because there's a common spec and of course do we even have an example programs in each language that send events to other language implementations and do they actually get to the other side it's mostly a testing effort so to help try to solve that problem is where i'm working on the performance tool which uh you can write a cloud event as yaml form and then send it through a cli that converts it to you know it shows in transport yeah i think that's something we think it's low hanging fruit that has high value so that's heaven yeah the way you just let me put it in my ear is description API yeah it's description API something that's on the cloud website that i want to i hate stuff that is code yeah i'm careful yeah no no it's it's what i think that's the for me that's a logical next thing for me it's not good it can also be that to a certain extent i mean for all these subscriptions so it makes me you subscribe and then that part is subscribed you have yes functions are usually just some kind of event post that grassland you can save for the laboratory before you have to vent us for a call do you think that the the the sophistication of what event plus does in an event in terms of how it means now there's with that if you can just see the event plus that event wasn't that that on behalf of you has to subscribe somewhere else it's a more practical because that has to be some kind of pen shape with almost two different types of subscription in the office they're subscribing to the bed pass and the subscription to the producer right well there's there's uh subscribing to an event producer there's also the ability for the answers that are sending to it so that's that's part of the discussion of that because there's a there's a there's a good reason to let the producer know whether he's going to produce those events at all right because nobody at all is interested in those events then why publish some of those events might be here in mid-dates from those two you still see there's a plus there and he started and i saw his hand to go up and i thought so that word cloud events version of maybe because then i think that helps enable the subscription and that so okay that was a discovery of what you were doing but discovery for both the producer and the start of it including a set of tutorials and uh really nice and under documentation uh this is important because the third part is who are not familiar with the more confident that this is something that they had on board easily and they can improve that this is an official need to fill this and think of a way that you can get in the whole serverless working group uh participants to get there as well you know i think this is really good thinking about you know notes and and comments but we really need to be you know in the past i may have implied that you were going to come out of this meeting with the decision i didn't actually need that it's more like i think you could have narrowed down the choices and then bring it results back forward but i think we need to separate that you know the current voting scheme of the cloud events to you know be able to come up with a way to disparate it decide how we go out of the next serverless working group so okay so i have a bunch of signature that's improving around subscription APIs kind of like the server you need to start anything else but uh i mean whether or not it has not i think it's very looking at just kind of the hardware that you're hearing very little agreement has happened that's what it's going to be i'll also say do you have any interest in making PRs to it sure yeah absolutely that's it yeah okay that's right yes that's right yeah we're able to anyone that wants to make contributions to the cloud i mean if it's not virtual maybe we'll have some discussion about okay anything else i would put it as i was going to ask you whether packaging cloud is is in general kind of great functioning or comes to signature well it is part of what you submit uh not necessarily there's a group of three things that come together which is policy idea there's the the group of signatures it's like the great great of the saying have some declaration of what it contains and what the like this don't don't don't try to execute this unless you have and then a way to go with this up so i think those three things go with that i just i thought that i'd like to see something like that and stand it out to people on the cloud just to be a third member and the better discussion part of the sort of the potential was to be able to you know make it more attractive use it as a foundation to sort of do some things sort of do some three things three things yeah packaging policy same instruction i was just gonna say this is kind of almost the first thing i've ever done is almost this whereas like i definitely i don't think azure has figured i need to sound perfectly but for a lot of those things there's a lot i would be really interested in sharing like hey we've actually tried a and b and this is what went well and this is what really fit us here on like there's a bunch of stuff where the reason we voted how we did this is like oh yeah we actually we have some issues with this other approach so i love that idea of the kind of discussion of like this is why we need the decisions we have whether they're right decisions or not and i'm assuming you can be okay with sharing your information not just the right or what i don't know the whole calls yeah right that's right and that's where whether it's the ceiling aspect or the process or anything that's going into the packaging signature we've made a lot of mistakes uh but i would be more than happy to dive in no it's not funny but it's a question for the group so yeah because like this is something that's good that's part of the whole solution but it's another very key part is the simplest type of song but like you know we mentioned right you have a lot of experience right so from my thoughts and new thoughts and also lessons we can share with them something very good you can download so you can download it out and i think that obviously very good it sounds like yes i have some new ideas in the description and then in this group without connecting right it's not how i think it's that and so and also you know also yeah i think you know here we have several representative thoughts about some of these kind of like i like i don't have different some common ideas some different ideas and then something we are trying or something you know if i have ideas which we can share here we make it look very good i have my own answer but i want the people to see first so if i need to see another help write some questions hold on for people that you know both i think that's also very important in this stage for some of us around the just uh by very much a lot of questions but many applications or by some application are not that so that's another gathering of how much interest is for this whole group class um we like really like more people to join rather than not letting write we might be a bit um of the same if the more people like that will be more generic you may want to comment on her question about building that what i think that's what that's working down where you think of that point is someone needs to start or think they're starting to build it that apparently there exist several efforts that are parametric of open source and so the suit there needs to be decision made i think by folks or whether CNCF is the right home for that and whether the governance model is because that's a complicated project right so Kubernetes because it's it's not just at that point we're not talking just about uh you know opposed triggers but i think to have something useful so that's expanded for a second we have Kubernetes is you know the big project that's existing in this foundation what does it do it gives you a suffered to find data center for running potatoes but it doesn't do more than give you an unformatted Linux user lands that have some surrounding structure right you can go and build so many copies of those controls you go and create a network and all these things but ultimately it does nothing perhaps or very little so the question is what is the stuff that goes into those containers which is the hosts for those functions like there's a whole stack of them those functions might be stateless and then it's very easy to deal with them in htp way and go all about them in an undifferentiated way or they're safe full and now you're thinking about state replication primaries secondaries placement you're talking about all kinds of complicated issues which then come on and that's a project in its own that's a giant project in its own right um and and so that's something that i can't see us spending here that needs to come from from a source for example yes or you just do some component like either a step a standard or a schedule you know there's some component we need to take to provide value you know on top of the language you know others also is trouble that we use to provide htp i'm going to deal with some flowers there yeah but there is something in the css which is giving us which is build backs they are how and it would be integrating with build back which is in the someone so i can't use it so that could be the thing that but that could be the follow-up question can we look at any changes function definition this is a good question so you need to use my station to talk to the bigger players to see if they have any interest not yes we will soon but if they even want to sit because i think it was about say we don't want to touch that space and probably don't want to take that so it's a little bit a little bit but for functions the functions that the decision that i think the decision maybe there's rather reasonable if it's if we think it's works and jeff basically the people in this room agree that there's the world to where it's not what we can in the next six months we can't fund refactoring our signature but for some vlo.com slash Azure functions if someone wants to go i do think though from the back to the point earlier from a feasibility standpoint i share your vision where i like i really want to get to a spot and it might be two or three years down the line or up here is what we think is right platform from a realistic thing i think it's more of the grab whether it's the scaling or the scheduling or the whatever else the same like can we at least agree on this that's also much more feasible from us but it's like we already have a bunch of stuff but we can slowly start these things apart okay we can map this in so my question was someone along the line there where you only have individual brand visions for things i do think we should take the small things at a time to the point but i would change it slightly because the way you entered it i interpreted it as code and i think we should focus code and stack because while i think we all to some degree like kubernetes is more creative and successful i want to make sure people like the rest of the vlo.com here may not use kubernetes or lambda i want them to be able to support it as well so we focus solely on kubernetes and the answer and i'd be exude of people like if i want to focus on the spec you know i'll be expected to improve it with code running kubernetes or whatever the problem you want it's kind of what it would be yes which is so that's the vision of that standard shape of how you do having to ask for circles to be able to ask for containerized circles to be able to get that mentioned yet unless you think it's at that part of the opposite side of what that means yeah i get a little nervous about that response personally because i don't want to be kubernetes i know kubernetes is meant to be kubernetes but i can't experience it to me but that's over to you though i know you i know you respect that that's me that little API no no on the workflow side right should we stop pursuing i mean that's what i want to talk to you should we stop exceeding the examples in should we actually let i assume so i assume you guys are already working we are working on uh just you know to the entire group i think that maybe going to get some people from the cloud with us as well getting more involved and get to get some advice to ensure that you know we do the right things in the right order yeah i think so i think the two of these mentioned that one is sandbox project and i think from the service perspective you've already gotten there less you go forward so go forward with that get time on this tsc calendar get to a close all the way you know the other piece of it getting the comments people with service other service members involved i don't know what to say about because i don't know how you cook them appropriately because they know you exist part of the working group i don't know how to cook them to get them more involved but then maybe make sure you're on a week in college and talk about the progress you're making in terms of changes one aspect then maybe mention where the areas you'd like more feedback we can definitely resurrect that i mean i i just see work because you know find similar projects that might want to participate in and who else is doing things similar to workload approach those uh uh project engineers and people in this case like that it's totally cloud-based you want to speak as close as possible but even if you're separated with this continuation of that yes originally when i started this um this is our work you know the meetings there are some people that i don't know if they have names email staff you're still having that we're keeping notes of the week of the call that i'd like to find that you will have you know somebody to help me with my days i'll try to find the notes pretty sure about their needs code status we're starting to work on this again yeah let me see if i can find that i don't know because they're probably good by now anything else for what i do i feel like i'm running the risk of repeating everything i've done before um but it does seem like there's a lot of so there's some things that i obviously mind my classifying as community and those are things like some there's things like the testing of the refresh of the white paper so let's start again following that cap right now i think those are i want to think relatively short term things we need to work on but in terms of longer term things that will take like a year or more like probably today function signature subscription API and this recovery then you can classify the packaging as you know your three things the policy the packaging and signature all right in the one in terms of management of the function itself see that but it sounds like we have three or four different things that are outcome of this meeting right here but in fact we'll work with them and say what do you guys think or anything we're missing and that's the subscription API and the function signature stuff okay let's get some questions wrong we the service worker kind of sterilizes work basically with the service worker kind of a whole lot of big problems what do people think about little commitments to working on the next big thing do people think we actually have been with do more than one thing any comments no like you guys don't just take a regular basis but for your background the product events let's have a single credit and we basically did all most real work on the one hour we all probably had because most people were business events and it was quite that's not quite true well some of us did not outside the one hour yes but those are the more active people but the one part we we did a lot of work for the one hour because everybody had a job so the side of the motion and so we agreed to do more than any time Kansas are they will not be the same model can't do both things one hour right well I think it matters in terms of how many people can get interested into multiple activities as we take this back into the service working group we'll be able to get some people that dropped out but as we did product events in fact any service can be able to participate in some of these other projects that might be of more interest to them that's the case to me you know pretty much on multiple projects we'll just make sure we do coordination like in the sense that of all things we talked about there is a product events theme included in one make sure that there are the both positive systems so we've got that so and the thing is we don't have a very asynchronous model for everything all for a question where it's during the phone calls and that good or bad points you want to think that one place the only person 391 hard times the good point is it ensured that we could force people to pay attention because they you know not everybody worked on things offline of course they'll at least hear about that discussion in ways kind of certainly had that chance to which it didn't and it wasn't just oh 2010 and proof it was merged right we've enforced that community consensus if we only have for example we're going to commence every other week that so we need to think about do we want to change our process in order to work with the model i don't know what i'm thinking about uh like in service today so i guess relatively it's still pretty big i'm curious if anyone knows like how some of the other working groups is it like they choose one project or is it more than they need to be but it's like we're going to do 10 minutes of this thing 10 minutes of that thing i'm just curious to if you know there are emails like six right yeah anybody's to join that i don't know how they work i thought they had a single spec i don't know that c and i don't know but even they ask me to look to my mind is you know i love to do multiple multiple things at the same time i also worry about the reception of us looking like we're joining the war with the ocean because i know five or six probably longer than we would have liked but it was a very slow thing and showed we were being very thoughtful about it in terms of it would go too quick too fast we may end up putting out two specs that doesn't really have nearly one support and that scares me to death because i don't want to lose me to a good movie sounds like you're like but the only thing i don't understand if you only count on what i'm saying with this we know and we meaning like as you're we're going to keep meaning so whether it's like all the line with the service thing or not like we've got enough free customers for like we need better ways to run functions on it it's just possible and it's fine to like maybe even exit things something like we've got to figure out each of these skills we wrote if it's not the service eight and a half or whether it's something like so the inverse is like then there's just a 15 or like the fifth version of each of these skills you wrote that we put down or as i can come check with them so that points the existing function platform already happened so think think later they're already there so the question is you know can we produce something that they will eventually adopt right and so you're going to be this participant you have to get a solution out so we have to produce something that that you will consider adopting either work to it or in addition to what it has and so in my mind that probably exists today in some respects almost reduces the pressure on us to say we don't necessarily have to need your time because we're already set to make sure we do as well i guess that way i think that kind of makes sense is there anything else you can talk about in terms of resolution can i feel like you can tell me about this if you can make me know that you've got time to discuss whether that next step is in this meeting right now or something to do uh there were uh i also seen some of that over there in the past in this video especially in where you're at this time everybody wants to synchronize start-ups at each place it's not worth it it requires a certain skill to make sense but requires a problem and i'm also seeing a lot of lack of implementation best practices on land i've seen Todd want those sharing the same solution for the same problem a lot of time but this might be very very early but we get something for coupon after that that's more intense than the so-called expectation like some work some look at some something so let me clarify we start talking about lack of expectations about that lack of expectation about what there was uh okay at the base of the not-interested at a virtual federation of Barcelona uh a lot a lot of people complain that they don't know how to play how they would complain about how you decide what is the function how do you measure how are you affecting functions in a lot of group functions services stuff like that and there are large they're very very cute large skill and personally i want to use some thoughts and again this is sort of like we really really love to have something for two months and then like some workshop hey music events whether there's some functions like it's a money there's this kind for me is that cloud events helps this high friction place how do i transport transport data between two things where i don't if we jump all the way to here's how to make the serverless applications but i don't think that that i don't think we're not over there yet we need to find the next friction thing which is so what's the what's the thing that you will struggle with in serverless things standardize the my picture and experience a workshop no i just got so many options all right the best practice to transfer places in totally different parameters to that particular architecture okay great yes this one restart in the middle this one you got five minutes and good luck yeah i think that's what we're trying to get to eventually but we're just not there i would still love some workshops people i have some more can you can you not different right now but i mean right now your idea for a workshop that's a little more concrete it's a similar question i have you know i think workshop video here you're gonna have some stuff but i'm here to play with something but how do you not turn that into advertising for that to apply right yeah i thought i'm struggling yeah yeah it could be a better specific thing right now but i really can't yeah yeah and then it's the question what is the right thing to do in the cloud events uh sorry about maybe foundation setting in this conference because we won't be having to set up a function workshop we're not thinking about that i just don't know how to do it yeah that's my house that's all i saw that that's fine so what's interesting is i think once we kind of open the first one you have a set of building blocks you can point into the specification perspective with implementations of those very specifications then you can have a workshop that shows your ability it shows how you can use these things hundreds of platforms you have a azure group here that's here google have some sugar and they all work with first user versions first ones they all talk about another then you can start to look up how you can use this thing and then you can show how to migrate for your model that you want to service and the function of leverages i think we will be able to get there eventually i just know they were there get with chest and the else i think we do slowly in terms of helping consolidate our system process so thank you guys very much for the session the newcomers thank you tummy


Alright, so I'm Scott Smirchak and I'm here to talk to you about bulletproof logging. I work for a company called SMART here in Kansas City and we write logs to help us with our applications. So most people start out looking at logs, something like this. They're blurry, they're scrolling really fast down the screen, and they're probably just text and you have to do things to help figure them out. So what do you do? You use grep. And you search for errors and you try to get clever. You search for the dates. You try to get the query time over four seconds. And this can work, but it's troublesome. So the next step, you use logstash and you can get these plain text logs into a JSON format. You can extract the fields and this can help a lot. And then you can start messing with them. But even better would be to go into your application and write out JSON logs directly. So we can get more detail like the request and its status and its URL and that can all be contained within the request. And we can see other things that are relevant like the hostname. So onto some practical tips. Don't do this. If you're logging in error, the log level is important. So use an error log level and put infos in the info. But don't forget about debug. Because debug is also very important. You may not have it turned on in prod, but you can use debug logs to provide much more context in your critical sections of code. And you can leave this on in your staging and dev environments to help you get more information. So time stamps. Time stamps are very important. Received time is not the same as when you logged it. So make sure you're pulling out the right time stamp. It can be very confusing if you have a whole bunch of logs all received at the same time. And add a bunch of context to your logs. When you're logging JSON, you can add a bunch of context like the inputs and the outputs of a function. This can really help debug later when you're not sure what's going on. And keep a consistent naming convention. If you log errors three different ways, you're going to have a hard time finding all the details of those errors. Same thing goes for ID, request ID, entity ID. Those are all very important to keep consistent. Has anyone done this before? Logging up error and it actually throws an error when you're logging it. Don't do that. Probably helped use a type system. So tracing. So you won't get this type of output from your logs. This is Zipkin. But using correlation to make sure that you know how your logs are all related is going to help you troubleshoot things in production. So if I know I have a request and it's coming down all the way through the stack and hitting the database and then going all the way back out, I need to be able to associate all those together. You can use the ID or correlation ID or request ID, but use something so that you understand how these are related. And then review your logs. So if you're in development and you're or staging, look at your logs, look at how they look, how they feel. If they make sense, if you look at this and you can understand what's going on, great. But maybe things like database result aren't really useful to you. So the message is important. If you can read this and understand what your software is doing, then you're going to be, it's going to be there for you in production when you're trying to troubleshoot an issue. And then you can start to build dashboards. So this is a gray log dashboard and you can start to see your requests and your exceptions and updates in real time. And you see pretty charts and graphs. And you can start getting these metrics that really help you understand what your application is doing. These dashboards with elk and gray log and Splunk can be a really great stand in for understanding your system without having a formal metrics application server. And then you want to move on to alerting so that you don't have to keep track of that dashboard all the time. So set up some alerts, set up when something happens, maybe that fires immediately, maybe it's when you get 10 of these messages in an hour. But identify what you need to track and alert on it. And then take care of your log aggregator. So if you take care of it, it can take care of you. Don't let it get messed up and start losing your logs because that would not be good. And then finally, we also need to make sure we clean up and keep it in good condition. So that's bulletproof logging and take care of your logs and they'll take care of you. Awesome, thank you Scott.