IOT, Lennox, Hugh discussed on Software Engineering Daily
And taking action is is obviously something that's massively important, but that's only one when portion of the equation flow. Go is described as this event driven ecosystem. It's not exactly. A framework describe what the goals of the flow. Go ecosystem are and what the scope of the project is. Yes. So this is this is rather interesting. So we kind of go back in time two years ago or so we sat down and we said, hey, listen. So you've got this. This new emergence of compute. That's coming online. How do you build an process data at the those edge devices? But also had you do it in a cloud native way in how do you build this? You know, this this concept of this framework. So we took a step back, and we came to the realization quite quickly that you cannot simply take an existing tech stack. That's, you know, maybe built in Java or no jazz or something like that and retrofit it to to work on on an edge device or a device with much less compute. So we began building up logo. We picked go laying as the language of choice for a number of reasons you can compile down natively compiled quite quickly. The binary are statically produced or statically compiled meaning. That you've got no no third party dependencies that you need to pull in at Runtime. So you the only thing you really need on these edge devices is an OS which in this case is oftentimes Lennox, and then you've got this tiny binary that runs. So it started out, you know, in in kind of that capacity. Iot was a classic example because you had resource restricted environments, though, cloud native was also something that was, you know, in the front of our mind as we were building out the framework, and then and then time time kind of progressed, and we said, you know, listen, so we've built this framework that is event driven by design. Meaning that you take an event you dispatching event to a worker a worker does something with that event. And and that's it. Right. So we kind of took a step back and say, listen. So an event is fundamentally just something that happens. There can be one of them. There can be millions of them. It's how you process the event that's actually different. So we began exploring the concept of stream processing as as. As it relates to M L model influencing. So we quickly came to the realization that hey, you know, what oftentimes this this? This raw data is actually meaningless on its own. How do you produce a derived value that that's meaningful and allows us to execute predictive models? So we implemented the stream processing action or in other words, the stream processing event processor. And that's how it started expanding into an ecosystem. Because of the way was originally built from the beginning that that it it does process events, we can add in different event processing capabilities amid expose those out to this this ecosystem notion, and then developers have a multitude of ways that they can they can build applications. They can build applications using web based environment or they could use our goal Lang lib and write their own go applications, and they can they can use it in a number of different capacities. So that's how it's kind of expanded overtime hope that make sense. Why has there been an increase in? People developing event driven applications. It's a good question. So I I mean in reality. There's nothing new about event driven applications in general, right? I mean, we've we've always had this notion of an event and how events are produced and consumed has change in the nomenclature perhaps. Yeah. Exactly, exactly. So so it also technologies evolved. So we've moved into things like M, Hugh, t and we've moved into to to consuming using things like kaffa, and the the notion and the simplicity of leveraging those technologies has kind of brought back up the importance of an oven event in less so of the the traditional request reply pipeline that we've been used to for for quite some time. Let's talk about the vocabulary within flow go. So you have triggers actions handlers flows. Explain what a trigger is an example of a trigger. Yeah. So a trigger is that event sink. Or event consumer if you will. So so something like a kaffa consumer or an t t listener, that's the notion of of a trigger. So that's that's the instance, or the the go go routine that that sitting there listening for events to come in on that particular pipeline..