Latest / Agentic Conversations (formally mlops.community) / GenAI Traffic: Why API Infrastructure Must Evolve... Again // Erica Hughberg // #296
Transcript
- 0:00So my name is Erica Huberg and I work as a community advocate at
- 0:05a company called Tetrate, which means that I listen to people
- 0:09out in the industry and ensure that the solutions that are
- 0:12being built actually address people's real needs.
- 0:15And how do I take my coffee? Unfortunately, I normally take
- 0:19it cold, not by choice, but I do take it black.
- 0:23So I do often end up with a cold cup of coffee on my desk because
- 0:27I didn't drink it fast enough. We are back in action for
- 0:31another Envelops Community podcast.
- 0:33I am your host Dimitrios, and talking with Erica today, I
- 0:38learned a few things about the evolution of the Internet and
- 0:43how we do things on computers in general, but also her theory on
- 0:49how we've been plowing towards one reality of the Internet and
- 0:55because of large language models, that's all been flipped
- 0:59on its head. We're not going to spoil
- 1:00anything, I just want to get right into the conversation.
- 1:03I thoroughly enjoyed talking with Erica.
- 1:05She has the best sense of humor and I appreciate her coming on
- 1:09the pod. Let's do it.
- 1:18I want to jump into the tofur and potatoes on this so it
- 1:24sounds horrible. We'll just go with it.
- 1:27Yeah, I'm not a big fan of tofu. I'm very particular about how I
- 1:31eat tofu only in a pad Thai when it's crispy.
- 1:34Yeah, but there's so many ways you can make tofu.
- 1:38I've made some really bad tofu in my life.
- 1:40I tried to make some scrambled tofu.
- 1:42That was not a good idea. Yeah, that's hard.
- 1:47Yeah, I failed, so I'm not doing that again.
- 1:50So anyways, let's get into the meat and potatoes of this
- 1:53conversation, which is the Internet is changing a little
- 1:58bit. You've been spending a lot of
- 1:59time on gateways and thinking about different gateways, I
- 2:05think. Yeah.
- 2:07What can you break it down for us and then we'll like dive in
- 2:10deeper on it. Yeah.
- 2:11So I do think it's helpful to sometimes take many steps back
- 2:14to how the networking of the Internet and how our
- 2:18applications are communicating over like the last since 2010
- 2:27really, or even before? No, before then, since the early
- 2:312000s. I got the years wrong.
- 2:32Look, I'm getting old. I was like, oh, maybe it's not
- 2:34that long. So the last 25 years at roughly
- 2:39has been really interesting in the evolution of the Internet.
- 2:42So if we go back to the early 2000s, say 2000 and one 2000 and
- 2:47two 2003, what was happening during that time and how this is
- 2:53relevant to Jenny, I will hopefully become obvious in a
- 2:56little bit. But if you were around then I do
- 3:00appreciate that everyone are older than 25 years old.
- 3:03There are people who are younger than 25.
- 3:06But for those of us who were around, it was a very exciting
- 3:09time. We were going away from dial up
- 3:13to broadband and more and more people were getting access to
- 3:18the Internet and it was getting more common that companies had
- 3:23websites. We saw the rise of the social
- 3:26media and forums. We were on forums back then.
- 3:30We were on web forums talking to people we didn't know.
- 3:33Very exciting and IRC channels very cool if you know what that
- 3:39is. I hope you take your
- 3:41supplements, but I I. Am taking so it's rings to Drew.
- 3:49Oh my God. Well, so if you do remember
- 3:53these things, what was happening was that with more people
- 3:57getting devices and connecting to the Internet, that also meant
- 4:01that we had an greater need of handling many, many concurrent
- 4:07connections to web servers. So imagine Facebook, right?
- 4:13You couldn't really have a social media app with only like
- 4:16a few 1000 people on it. That wouldn't be very fun.
- 4:19Like when I say a few thousand, we're talking single digit
- 4:21thousands, not not hundreds of thousands.
- 4:24Say as we were scaling up and having this more interactive and
- 4:29multi connection on the Internet, we were hitting a
- 4:33problem that the traditional thread based proxies were
- 4:39struggling. So what does that?
- 4:40What is a thread based proxies? It would mean that you had a
- 4:44single connection per thread. So imagine you went to a
- 4:49restaurant and you were ordering food.
- 4:52So you come in and you get the waiter for your food.
- 4:55You order your tofu or whatever you like.
- 4:58Maybe you find your fancy tofu dish and at that point instead
- 5:03of the waiter just going around serving other tables while
- 5:06you're waiting for your food to cook, the waiter would stand
- 5:08there by a table and wait for your food to be ready and then
- 5:11come back, go back to the kitchen and and get your food
- 5:14and delivered to you when it was ready.
- 5:15So that waiter would be busy the entire time your food was
- 5:18cooking, but will be moved into when we, the Internet exploded.
- 5:24There's a problem that is known as this as the C10K problem of
- 5:29handling 10,000 concurrent connections.
- 5:33And this just then continues to explode as the Internet grows,
- 5:36right? This problem then this is just
- 5:38isolated to 10,000 concurrent. But that problem continues to
- 5:41grow as the Internet grows and the more users are on there.
- 5:45But that was the beginning of that problem.
- 5:47So then we got waiters that actually didn't have to stand by
- 5:52the table anymore and wait for your food to be ready.
- 5:54Like instead of you just sitting waiting for the food, the table
- 5:58to be ready, the waiter had to stand there with you.
- 6:00But then we got a better model where waiters could just put in
- 6:04the order in a system and go and wait other tables.
- 6:09And even if your waiter was busy, there was a runner who
- 6:13could go and deliver your food when it was ready because they
- 6:16know what you ordered and what table you're at because there
- 6:19was a system. This was the move to event
- 6:22driven proxies. So now we were able to get
- 6:26orders in. So that's the event.
- 6:28The order came in, the request came in and we sent it to the
- 6:31kitchen after your back end target server you're getting to,
- 6:35they're processing it, cooking, cooking, cooking, and then you
- 6:40are sharing threads. So many connections could share
- 6:43threads and different workers could pick up and deliver the
- 6:48the response. You didn't have to have your
- 6:50specific waiter. So that was the cool thing that
- 6:53happened during that time and then we started and then what
- 6:57happens after that. So they're cool.
- 6:59We solved the connection problem.
- 7:01We're going to under lots and lots of connections.
- 7:02That was exciting, right? No one has to sit at the wait.
- 7:05Well, we still have to wait, but the waiter doesn't have to wait.
- 7:08And then what happens is this move to like breakdown all of
- 7:14our apps. So this happens around the early
- 7:172000 and 10s. So this movement really starts
- 7:21kicking in around 2015. And that is, we used to have big
- 7:26monoliths. And what is a monolith really in
- 7:29software engineering? I like to think of it as imagine
- 7:32you have a big box and all the little components that make up
- 7:36your software is in this box. So how you log in is in the box
- 7:42is a little maybe imagine it like a little teddy bear you've
- 7:46shoved into that box. And then you have another box
- 7:48full of hair ties in the box and you have lots of little
- 7:52functionalities in the box. Just throw it all in one big
- 7:55box. The problem with these big boxes
- 7:58was as the number of uses increased, needed to start to
- 8:03scale horizontally. And this is when we come into
- 8:06the world of cloud engineering and like scaling horizontally.
- 8:09But imagine in this big box was one was, was many different
- 8:14features from viewing images to logging in to if you think about
- 8:20the social media part, like loading your feed, like get all
- 8:23the posts from contacts or connections of friends and show
- 8:28them. That is one feature of this big
- 8:30box. But this box did so many things
- 8:34and we're like, oh, if we're going to scale horizontally and
- 8:37with more and more uses, this is getting more and more expensive.
- 8:40So scaling this big box, so cloning this big box over and
- 8:46over again started to get computationally expensive
- 8:49because we needed to reserve so much memory to.
- 8:53There's a bunch of waste, yeah. Yeah.
- 8:55So we're like, OK, well, what if we took out the teddy bear out
- 8:58the box and instead of cloning the whole box, we just cloned
- 9:04the teddy bear that we put in the box, right.
- 9:06So now we can have with, that's where we start breaking down the
- 9:13boxes into smaller boxes. So the teddy bear now has its
- 9:16own box. It doesn't have to be in the big
- 9:18box with all the other junk he threw in there.
- 9:21Now he's got his own box and it's a much smaller box.
- 9:24So now we can scale up that much more resource efficiently.
- 9:27So that's drove us to the move to change to micro services.
- 9:33So we went from monolith big box with lots of stuff shoved into
- 9:37it to lots of smaller boxes with just one or a few items in each
- 9:42box that could scale together. So it became more, much more
- 9:45resource efficient. Ah, But as we started breaking
- 9:49apart these boxes, we ran into networking problem, of course,
- 9:53because when we had the monoliths, it was all very
- 9:57straightforward from a networking and proxy
- 9:59perspective. So yeah, we'd sold the multiple
- 10:02connections to the proxy. Well done, everybody.
- 10:04We'd done that. But now, well, where we're going
- 10:07to send the traffic to. So now we had a new problem
- 10:11because as we tried to make all of our systems more resource
- 10:14efficient and we were scaling up all of these services, we had
- 10:18this fascinating problem that, wait a minute, the stuff's
- 10:25moving around. They're on different addresses
- 10:27now, and as you scale up and have more teddy bear boxes and
- 10:33then the teddy bear boxes are moving around as well because
- 10:35someone came up with this bright idea called Kubernetes, and you
- 10:39really know what Kubernetes does.
- 10:41Really what it does is moving your teddy bear box and your
- 10:45other boxes around on servers, like actual computer hardware.
- 10:50They're called nodes in Kubernetes.
- 10:52But what it really does is playing box Tetris.
- 10:55That's what Kubernetes is really good at.
- 10:57It's just stuck in these boxes to maximum and most efficient
- 11:01resource utilization on your notes.
- 11:04So now you may be moving your teddy bear around as it feels
- 11:07like because maybe it fits better over there because yeah,
- 11:11Kubernetes is just about playing box Tetris with computing
- 11:14resources and putting them in. So OK, so now stuff's moving
- 11:18around. So the network engineers,
- 11:20they're pulling their hair out. They're like, we can't keep up
- 11:23with all of this moving around and changing addresses because
- 11:26this is where the, this is also what becomes interesting because
- 11:30we didn't now just need to handle multiple connections.
- 11:33Now we have to be able to dynamically and quickly update
- 11:36the proxy to where it's pointing traffic to from a logical
- 11:40perspective. Oh, you want to reach the teddy
- 11:42bear API? OK, these are all the places to
- 11:45serve the teddy bear API and now we have to.
- 11:48So this is again a big shift in how we handled proxies because
- 11:53up until this point proxies like nginx was statically configured,
- 11:59they were not dynamically updated as your situation
- 12:02changed. So that's when we saw that that
- 12:05is actually what drives the introduction of proxies like
- 12:08Envoy proxy that can dynamically reload configuration.
- 12:14So it doesn't need to restart at all.
- 12:17So as your targets are moving around, your Teddy bass are
- 12:22moving around on the different boxes, they Envoy proxy doesn't
- 12:27need to restart. It just gets dynamically
- 12:30updated. And now, and I say onward proxy
- 12:32was really created for that. It was created in the era of
- 12:36breaking things apart. So now we're taking a log or
- 12:39step back. And then during this micro
- 12:42services era was also cool. When we start to optimise, we
- 12:45want to do loads of little requests and they're light and
- 12:48they're fast and this little services like our now teddy bear
- 12:52service, I imagine this like little cute pink teddy bear in
- 12:56my head. By the way, this this teddy bear
- 13:00service, it's it was really it had to be really fast and they
- 13:04need to to be really lightweight because if you want to do also
- 13:08really good horizontal scaling, we need things to start fast
- 13:12response. I mean the response fast kind of
- 13:15comes with it. If you can build a really
- 13:17self-contained and thought through service, but so we, we
- 13:23now optimized how we think about networking in this micro
- 13:27services era to be fast. The process itself should
- 13:31respond within single digit milliseconds, right?
- 13:36It shouldn't take longer. Keep this in mind now, because
- 13:39what's happened with Gen. AIA, Gen.
- 13:42AI like a service, a model service is fast if it returns
- 13:46the response in 100 milliseconds.
- 13:49So it's so if you think that the TEDDY by APR service responded
- 13:52inside of itself in the space of one or two milliseconds or five
- 13:58maybe, But we're talking about anywhere from like 100 times
- 14:02slower to 10 times, like between 10 to 100 times slower.
- 14:07That is fastest when we're looking at LLM services, for
- 14:12example, the time now we're not talking network latency, we're
- 14:16just talking about the process itself responding.
- 14:19So it's a lot slower at responding from first bites.
- 14:24Then we have other fun stuff. We'll talk about the first bite,
- 14:27time to 1st bite because LLM stuff also tends to be streaming
- 14:32and we really then focused on time to 1st bite.
- 14:35That was the best explain like on 5 description of the
- 14:39evolution of software engineering I've ever heard.
- 14:44That is amazing, from the restaurant analogy to the teddy
- 14:49bear to Kubernetes just being Tetris.
- 14:51That is amazing and I love each little piece of that.
- 14:55And so now in this world of everything being an API and our
- 15:00micro. Services.
- 15:02Paradigm that we're living in. One thing that is fascinating is
- 15:07not only that, OK, these models are a bit slower, but they're
- 15:11gigantic, right? Yeah.
- 15:13That's a little different too. I think you were mentioning that
- 15:16we've been building for super small, super fast type of
- 15:22workloads and AP is and now we're looking at really big and
- 15:29really low type of things. Yes.
- 15:32It also was really interesting is the workloads for that's an
- 15:36entire topic on itself like how to manage the LLM workloads in
- 15:41your computer. I think there's also this very
- 15:45interesting aspect where people are looking at how small can
- 15:48they be because again, we are very much gravitating to how can
- 15:52we make things smaller and more scalable.
- 15:55There's some really interesting ideas on how you can even maybe
- 15:59run really lightweight models towards the your edge stack of
- 16:03your networking. For those who may not know, in
- 16:06the world of the Internet, we didn't just have to deal with
- 16:10lots of many connections. We have something called content
- 16:13delivery networks out in on the Internet.
- 16:16So when you go on a website and there's images on that, so
- 16:21imagine you just go to Facebook and on Facebook or Instagram,
- 16:26there are lots of photos and every time you are loading your
- 16:31phone and you are looking at photos on Instagram.
- 16:35When I go and look at it on Instagram in the United States,
- 16:40those photos were most likely cashed on the edge, on an edge
- 16:46through a content delivery network system.
- 16:50Whereas when my mother back home in Sweden, because I'm from
- 16:53Sweden, when she opens Instagram and looks at photos, they don't
- 16:57come all the way from some data centre in the US or in Germany.
- 17:02Most likely a lot of them would be coming from a CDN from really
- 17:07close to her in Sweden so that it can have that perception of
- 17:11fast delivery. So there's a lot of interesting
- 17:14thoughts of how can we bring at least lightweight Gen.
- 17:18AI serves as closer to those edges to be closer to people so
- 17:23things are faster. But I, I am not an expert on
- 17:27that. I just know that a lot of people
- 17:28are thinking about how small can you make these actual workloads?
- 17:34How efficiently can you get them closer to people?
- 17:37Even people are talking about what can you realistically run
- 17:40even on a client device. Yeah, exactly.
- 17:43And how you see that a little bit with what the Apple
- 17:49intelligence wanted to do, right?
- 17:52Yeah. All of the simple queries we're
- 17:55going to do on your own device. And then if you need a bit more,
- 17:58we're going to bring it to the cloud.
- 18:00And. It will get done, but it's going
- 18:02to be all private and in our cloud type of thing.
- 18:05Yeah, and yeah, I don't have the.
- 18:09I think my favorite problem is how big the requested responses
- 18:13have become. The actual network traffic is
- 18:15getting heavier. I guess the the the interesting
- 18:19question there is like what happens now with the network
- 18:23traffic? Yeah, Say, first of all, we were
- 18:28really optimizing for small requests.
- 18:30A lot of gateways out there, by the way, have requested response
- 18:34size limits, especially if you want to be able to interrogate
- 18:40the request or response body and the actual content of the
- 18:44request. And why would why would you want
- 18:46to do that? For security reasons.
- 18:48Yes, specifically for security and in the world of large, large
- 18:54language models, people are very interested in interrogating both
- 18:59request and response content to either protect information from
- 19:05leaking. Protect your protect information
- 19:12from coming in, like malicious information coming into your
- 19:15system. But that's very common as
- 19:16standard web application firewall challenges.
- 19:19Another interesting thing that people want to do as traffic
- 19:23comes in. So imagine you're making an LLM
- 19:26request the query. So you have an application
- 19:30developer who's like I'm going to build cool app that people
- 19:33can write cool stuff into, but the person is building the
- 19:36application, they are no LLM expert.
- 19:40They're like, I want to have this cool thing.
- 19:42So then imagine that they're like, I just want to have a
- 19:46simple like LLM API to hook into.
- 19:48I don't want to care about picking a model or service
- 19:52provider. That's like not my expertise.
- 19:55Imagine that that developer just want to send a LLM like request
- 19:59to AAPI then. Why would someone want to
- 20:04interrogate the actual content of this request?
- 20:07Since I've seen some really interesting things that people
- 20:10are doing out there, which is like the SIM, like literally
- 20:13using a lightweight LLM almost to pick a model based on the
- 20:19request. So to be able to run an analysis
- 20:22on what is the most appropriate model for this type of the
- 20:25request, you need to have access to the body to do that decision.
- 20:29Otherwise you can't, right? You need to be able to access
- 20:33the body. So this obviously differs on
- 20:36like how big this body is where you've start running into
- 20:39problems, but you can't assume that everybody's going to be
- 20:43small, right? So being having architecture and
- 20:47infrastructure that allows to be able to do this for more
- 20:51unpredictable sizes of the request body as and then you
- 20:55have the response body being able.
- 20:57That's can get really complicated, especially with
- 21:00streaming how you're going to try to protect that.
- 21:03But yeah, I find it very fascinating.
- 21:05So that's like one problem in terms of how the network traffic
- 21:10shapes up differently with it being bigger, both requests and
- 21:16responses and the fact that the APIs we are dealing with are
- 21:19incredibly open-ended. They are not old traditional
- 21:24microservices APIs. When I say they're old like now,
- 21:27that sounds sad because they're they're very near as well.
- 21:30But I think we can call them old now because they were very much
- 21:34about being deterministic. Having very clear.
- 21:38This type of request is always going to take X amount of
- 21:41milliseconds, and you wanted to be very clear on that.
- 21:46The slowest 1 is going to be 50 milliseconds, for example, to.
- 21:52Then you may be able to do ones that are faster, but having a
- 21:55very clear idea. Whereas in the world of LLMS,
- 21:58this is incredibly unpredicted. If you've got and then you go
- 22:01beyond LLMS, you're going to inference models for, for
- 22:06images, it gets even more mental.
- 22:08We start even working with bigger amounts of data or to go
- 22:11into images, then you can go into video.
- 22:13Now we're dealing with even larger data.
- 22:16So LLMS, even though LLMS are pushing us, imagine where we're
- 22:20going with the media that isn't just text.
- 22:27Yeah. And what kind of infrastructure
- 22:29we will need to build out for the future that we all want.
- 22:34And you hear AI influencers on the Internet talking about how,
- 22:41oh, well, we're just going to not have movies be made anymore.
- 22:45They'll be made for us and our individual wants and what we're
- 22:49looking for off of a prompt or whatever.
- 22:52If we do want a world where there's going to be a lot of
- 22:56these heavier files being shared around or heavier creations from
- 23:03the foundational models and that's more common, what kind of
- 23:08infrastructure do we need for that?
- 23:10Because if it feels like we've been going in One Direction for
- 23:13the past 15 years and we've really been trying to optimize
- 23:17for this fast and light, yeah. But now we're needing to take a
- 23:25bit of a right turn. Yeah.
- 23:29And think a bit differently around how do we hold, how do we
- 23:34deal with long running connections, long ipen
- 23:37connections? Also.
- 23:38Because there's a difference when you look at what we did
- 23:41with streaming, like when you're using Netflix and you are
- 23:46streaming video, when you have signed into Netflix and you are
- 23:50connecting and you are streaming.
- 23:54When Netflix is streaming out there with like media to your TV
- 23:59or your device, they don't need to, they don't have any need at
- 24:03all to interrogate the output. So therefore, you can bypass a
- 24:07lot of the things that you may be, you wouldn't have to worry
- 24:12about you when you do, when you look at output from LLMS or
- 24:18large visual models and things like that, you actually want to
- 24:24interrogate the output before giving it to a user, which is
- 24:27different from what you see with streaming Gilmore Girls on the
- 24:33Internet, right? They don't need to check that
- 24:35the Gilmore Girls episode is actually what it is, right?
- 24:39So therefore, because at one point I thought, Erica, I said
- 24:44to myself, this streaming problem and doing that at large
- 24:47scale fast, that's been solved, hasn't it?
- 24:49So then I was like, well, that has been solved in the scenario
- 24:55where you're having 9 controlled data that you, that the data you
- 25:02were sending is known and controlled.
- 25:03You know exactly what it is. You are not worried that it's
- 25:06going to send out something that you don't know what it is,
- 25:09right? So therefore that kind of
- 25:11streaming is very different from what we're looking at when we're
- 25:13looking at streaming responses from Gen.
- 25:16AI services because the security layers and and control of the
- 25:22what we're sending becomes different.
- 25:24Now I was thinking about how we move towards an Internet that is
- 25:31supporting more Gen. AI use cases.
- 25:35What does that look like from the networking perspective?
- 25:38From the gateway perspective, I know you all are doing a ton of
- 25:41work with the Envoy AI Gateway. I imagine it's not just all hey,
- 25:47let's throw an awesome gateway into the mix and that solves all
- 25:52our problems, right? Yeah, Yeah, it doesn't because
- 25:56even the existing found it. Like if you look at what how
- 26:00Envoy Proxy itself operated, we had we had to make enhancements
- 26:05to Envoy Proxy itself. And then we started the Envoy
- 26:08Air Gateway project to further expand on the on what proxy
- 26:14capabilities and control planes. So explain a little bit what
- 26:17that is in a moment. But if we take one step back and
- 26:20like look at what happens in the world of gateways, I think it's
- 26:23super fascinating was with the rise of Jenny I, there was a lot
- 26:27of Python gateways, Python ridden gateways that came out
- 26:32because it seems natural, right? Like, oh, we wrote all of these
- 26:36other cool stuff in Python And a lot of people who came from the
- 26:40machine learning and Gen. AI world are incredibly
- 26:43comfortable with Python. And if you want to do cool stuff
- 26:47like automatic model selection on an incoming request, you kind
- 26:52of got to do that in Python because now you're back into the
- 26:55machine learning and Gen. AI space.
- 26:57So it becomes this weird thing like how do we do the smart
- 27:01stuff we want to do, but also don't run into the single waiter
- 27:06per table problem. So because of Python gateways,
- 27:12fundamentally runs into problem and it's not about how smart the
- 27:17people are writing these Python gateways, not their fault.
- 27:21The problem comes back into like the foundations of the Python
- 27:25language where there is only effectively there's an
- 27:30interpreter because Python is an interpreted language, it is not
- 27:33a compiled language. So therefore you have this
- 27:36process that is interpreting Python And that is threaded.
- 27:41So every coming to threads now we come into the single waiter
- 27:45the table problem. And therefore even if you try
- 27:50to, you can start trying to be clever and simulate the what is
- 27:56referred to as event driven architecture.
- 28:00Don't confuse that with Kafka. But when you look at the the
- 28:04event driven architecture, a proxy is when you can have
- 28:07multiple, you can have one waiter serving multiple tables
- 28:11and just putting things into the system.
- 28:13So it's like this little event notification within the
- 28:16restaurant within the proxy. So you can simulate a lot of
- 28:21that with Python, but you are going to eventually run up into
- 28:25the issues and the constraints, well, we can call them issues.
- 28:28The issues aren't Python itself isn't the issue.
- 28:31It's just you will run into issues because of the
- 28:34constraints of the Python language if you want to do large
- 28:38scale of handling loads and loads of connections.
- 28:43So that's what we run into problems and how do we solve
- 28:46this problem? How can we like combine the
- 28:49multi, you know, the restaurants where waiters can serve multiple
- 28:54tables with the smart stuff that Python can do.
- 28:58Then we start. That's how we end up leaning
- 29:00into Envoy Proxy, which fundamentally can handle, which
- 29:05is very much the the restaurants where waiters can serve many
- 29:08tables, right. That is what on where proxy
- 29:10really is great at and has this event driven architecture, Envoy
- 29:16Proxy with Envoy Gateway, Envoy AI Gateway allows us to create
- 29:21an extension mechanism where we can bring in the cool logic like
- 29:26automatic model selection that's written in Python And still have
- 29:31the do you know one waiter serving multiple tables Proxy.
- 29:38And then being able to only when we need to go and get that
- 29:42special order from the Python extension to do smart stuff only
- 29:47if we need to and only if we want to.
- 29:50So that is where getting the network benefits as well as
- 29:54being able to bring some of the smart stuff in.
- 29:56And that is what makes it really interesting on how we can bring
- 30:01these worlds together. And, but we are, we are
- 30:06definitely going to see I, I still believe we're going to
- 30:09start seeing challenges with some of the, the time that the,
- 30:15the response times like time to 1st bite and the complete
- 30:19streaming. I just imagine that that's going
- 30:22to continue to grow as they need and we're going to have to start
- 30:28looking further into the internals of our proxies.
- 30:32I I'd be surprised if we're not going to continue growing in
- 30:35that space. You know what it reminds me a
- 30:38lot of is the folks who build Streamlit apps.
- 30:44It's like, yeah, I built this Streamlit app because I just
- 30:47code in Python And I like Python.
- 30:50It's you're like Streamline is probably not the best for your
- 30:53front end, but it gets you somewhere.
- 30:56And then when you want to take it to really productionizing it
- 30:59and making it fancy and doing all that cool front end stuff,
- 31:03then you can go to React or whatever.
- 31:05You bust out your versal jobs or your next JS and you actually
- 31:11make something that is nice for the end user or nice on the eye
- 31:18and has a bit of design to it. But sometimes you just are like,
- 31:24yeah, all right, cool. Well Streamlight gets me this
- 31:27MVP and that's what I want. And in a way, it's almost like
- 31:33what the parallel here is that there's been proxies made with
- 31:39Python. They get you a certain way down
- 31:43the road and you can validate ideas and you can see if it
- 31:46works. And then at a certain point,
- 31:49you're probably going to say to yourself, OK, now we want to
- 31:54productionize this, and Python is not the best way to do that.
- 31:59Yeah, like I think it's interesting because if you have
- 32:02like a small user base just building something internally
- 32:05for your company, you can probably be fine with your
- 32:08Python gateway. Like you got a few 100 users
- 32:12just inside your own company, you're probably fine but it.
- 32:17But if you have even internally, if you have a lot of concurrent
- 32:22connections and you start needing to deal with this, you
- 32:25can't have one waiter per table that is standing there waiting.
- 32:29So you got to have to figure out how you can make more use of all
- 32:33of the connections. So it's sort of interesting as
- 32:36we've talked about what happened at the beginning of the 2000s
- 32:39with the 10,000 concurrent connection problem.
- 32:42The Python gateways are effectively as we are bringing
- 32:46more Jenna, Jenna AI features to the mass market, ultimately runs
- 32:51into that problem. And the good news is the answer
- 32:54of the concurrent connection problem has already been solved.
- 32:58So then it says how can we bake these things together to get the
- 33:02cool features? But at least the good news is
- 33:05the concurrent connection problem has been solved.
- 33:10So there's, there's almost like 2 levels that you're talking
- 33:12about here, which is the trafficking and the network
- 33:16trafficking. But also then understanding the
- 33:20request and being able to leverage some of this cool stuff
- 33:25like, oh, well, this request probably doesn't need the
- 33:27biggest model. So let's route it to a smaller
- 33:30model. Or maybe it's open source and
- 33:32we're running it on our own. Maybe it's just the smallest
- 33:36open AI model, whatever it may be.
- 33:39And so the levels that you have to be playing at are different,
- 33:44right? Or at least in my mind I
- 33:45separate the whole networking level with the actual LLM call
- 33:51and what is happening in that API.
- 33:54Yeah. And then, but then you have the
- 33:56smart stuff that has to happen before you send it to the LLM
- 33:59service. And that's where the exciting
- 34:00part like combining things like Envoy proxy with a Python
- 34:06service, a filter, a Python filter to be able to do smart
- 34:10stuff to make those rafting decisions.
- 34:13And you don't think that that's just kicking the can down the
- 34:17road? Like, you're still going to run
- 34:19into problems if you're passing it off to Python at any step
- 34:23along the way. Good question.
- 34:25So when you are, we don't have the connection problem in the
- 34:28same way at that point, because now we can have dedicated by the
- 34:33Python services that can run and we can scale them independently
- 34:38of the proxy. So now we are not dealing with
- 34:41client to proxy or proxy to upstream connections.
- 34:45Now we have the proxy that is making a call out to an another
- 34:50service. So like a Python service and
- 34:53that service, you know how we talked about boxes in Kubernetes
- 34:55earlier, that little Python service box, we can scale it up
- 34:59and scale it down based on demand.
- 35:02So that thing now becomes horizontally and elastically
- 35:05scalable on its own and it's not going to have any.
- 35:09They won't be any noisy neighbor problems because they're not
- 35:11going to block each other. And we only run into the waiter
- 35:16problem when we have a limited set of waiters in our restaurant
- 35:22that are associated with one request response life cycle.
- 35:27Because now we just go to this little Python service when it's
- 35:30done, it's out of the picture. And also, we weren't blocking
- 35:34other requests because of how the Envoy architecture works.
- 35:38We weren't blocking the other requests while we weren't
- 35:40consulting this Python process about what to do.
- 35:43I understand what what's going on then and.
- 35:48Like we we call them and ask have little Python service.
- 35:50What do you think about this request?
- 35:52I'm going to hang up now, and when you have an answer, I'll
- 35:55pick up the phone and we'll continue this journey.
- 35:58Yeah. And that bottleneck only is
- 36:02happening potentially at the proxy area.
- 36:06It's. Not yeah, that's a connection
- 36:08problem. Once it goes through the proxy,
- 36:11then it's like free range and there's all kinds of stuff that
- 36:15you can be dipping your fingers into it.
- 36:18Says that they request life cycle inside of on.
- 36:20What is the important part and how you can include external
- 36:23filters so that you can it's basically rent driven.
- 36:27Let's talk about like you, you basically put stuff into the
- 36:30central system of on when and then knows what to do.
- 36:34So it's I hope this is an oversimplified explanation by
- 36:39the way. So people who are really in the
- 36:41depths of onward proxy could probably be like, oh, Erica,
- 36:44that is not entirely exactly in detail true.
- 36:48But if you want the like 10,000 feet view, I hope that is
- 36:52enough. And if you really want to dive
- 36:53into it like you. Can you can.
- 36:55Spend a long time learning about the internals of this, but the
- 37:00good news is that it's very clever and how it handles
- 37:03resources and and manages connections.
- 37:07So that is really cool. But then Envoy proxy is really
- 37:11hard to configure. So I'm going to go on a slight
- 37:13tangent, but an important tangent and like why Envoy AI
- 37:16gateway is really interesting because Envoy AI gateway does
- 37:22two key things for when it comes to helping you leverage Envoy
- 37:26proxy to handle traffic and and you have two every time you have
- 37:31a proxy, you have a two side problem.
- 37:34You don't just have, you need to configure this proxy and you
- 37:38want to be able to configure it in a way.
- 37:40So even if it scales up and down.
- 37:42So you have like many proxies, SO1 proxy, you have a control
- 37:46plane that can effectively and resource efficiently configure
- 37:50this fleet of proxies. So on where AI Gateway brings
- 37:54you this control plane that is extending onward gateway control
- 37:58plane. And then it's like really
- 38:01interesting, I really can't have time for spending on that, but
- 38:04how that control plane is being very efficient in how it
- 38:07configures Unword Proxy and helps you propagate
- 38:12configurations across all the proxies that are run in.
- 38:15And then the other part that we've added into Unword AI
- 38:19Gateway is an external process that helps with specific Gen.
- 38:25AI challenges like transforming requests.
- 38:28So one of the things we've done is to have a unified API so that
- 38:35if I'm an application developer, I don't have to learn all these
- 38:37different interfaces to connect to different providers.
- 38:40Smart. Because we don't have to put
- 38:44that cognitive load of people who want to build cool apps, let
- 38:46them build cool apps, and then we can worry about their pipes.
- 38:51Yeah. And do you need one to be able
- 38:54to leverage the other? I guess do you need Envoy to be
- 38:57able to leverage Envoy AI Gateway?
- 39:00So when you install Envoy AI gateway, it actually installs
- 39:04Envoy gateway which installed which gives you Envoy proxy and
- 39:07the Envoy gateway control plane and when.
- 39:09So when you go through installation steps, you actually
- 39:12first install Envoy gateway and it would run on a Kubernetes
- 39:17cluster. I'll call this like a gateway
- 39:20cluster, by the way, for reference, if you ever look at
- 39:23any of my diagrams in blog posts.
- 39:24But and then you've deployed that, then you there's a helm
- 39:29chart and you just like install on way AI gateway and that
- 39:32deploys an external process and an extension of the control
- 39:34plane. So it expands on the
- 39:38functionality of on way gateway and on way proxy.
- 39:41So you don't really have to know that you are deploying all of
- 39:44those things, but that is what happens if you deploy it.
- 39:49It's all part of the Envoys CNCF project.
- 39:52It's not like a set, it's part of that fat ecosystem.
- 39:56So it's it's not like a separate entity per SE like the it's part
- 40:03of the Envoys CNCF ecosystem. Have you noticed a lot of AI or
- 40:10ML engineers starting to come into the Envoy AI gateway
- 40:16project and like submit PRS? Do you look at that type of
- 40:20stuff? Because I wonder how much of the
- 40:25tasks or of this scope falls onto ML engineers, AI engineers,
- 40:32or if it if those folks just throw it over to the Sr.
- 40:37ES and the Dev OPS folks. It's a good question.
- 40:40What? Where we really need the people
- 40:44who have good understanding of machine learning and Gen.
- 40:49AI. It really becomes, I mean look
- 40:52at these intelligent Python, maybe Python based extensions.
- 40:57If there are people out there who have ideas on how to do for
- 41:00example, semantic routing to be able to decide that model, not
- 41:05doing it in Python, please let me know.
- 41:07Very interesting. This is outside of my area of
- 41:11expertise, so if there's someone who can write it in Rust, please
- 41:16let me know. That'll be amazing.
- 41:19But the yes, we are seeing people who come in who are like,
- 41:22hey, let me show you this Python extension and how it fits into
- 41:28Envoy, AI Gateway and the smart stuff that is.
- 41:34Yeah, definitely outside of my expertise.
- 41:36I find it really fascinating and interesting.
- 41:39So if people have that expertise, I would love people
- 41:43to come and help build those extensions into On Way AI
- 41:48Gateway and bring those features to the community.
- 41:51Because fundamentally what when we look at the on way Gateway
- 41:55initiative within the on way project, the On Way AI Gateway
- 41:58initiative is really about what we're facing right now and how
- 42:03this traffic is changing and shaping up.
- 42:06It is not a single company's problem.
- 42:08It is not a single users problem.
- 42:11We are all running into this. So coming together and solving
- 42:15these things together in open source and maintaining it
- 42:19together, I think it's really exciting and seeing both vendors
- 42:25and users coming into the space and collaborating.
- 42:29And yeah, really sharing knowledge, as you said, like
- 42:32sharing the networking knowledge with sharing the knowledge of,
- 42:36well, what does what LLM functionality do we have out
- 42:40there? How can we actually bring some
- 42:42functionality into the gateway to make it even smarter?
- 42:45And people who really understand the challenges of how they are
- 42:48running other than workloads, I think is really, really
- 42:52interesting combination. And I've learned so much over
- 42:55the last by six 7-8 months say from collaborating with people.
- 43:01So it's been really cool and exciting.
- 43:04So I will say that what you are talking about here, it has been
- 43:09100% validated by the community. And even the way that I, I know
- 43:15it's been validated is when we do our AI in production surveys
- 43:20and we try and do them every time we do like a big conference
- 43:22or almost once 1/4. And we ask people what's going
- 43:27on in your world and what are the biggest challenges?
- 43:29What are things that you're grappling with right now?
- 43:32A lot of people have written back and said some of the
- 43:36hardest things are that there's this new way that we are working
- 43:47with software and working with models and almost like what you
- 43:51were talking about where these models are so big.
- 43:55So it makes things much different to handle and it makes
- 44:01everything a little bit more complex.
- 44:04And then on top of that, you don't really have anywhere that
- 44:10you can turn to that has definitive design patterns and
- 44:15folks who have figured it out and are sharing that information
- 44:19with the greater developer community.
- 44:23And so I, I find it absolutely incredible that a, you're
- 44:29working on it in the open. It's great that like the open
- 44:33source project is trying to do that, but then B you've thought
- 44:38about this idea of OK the models.
- 44:41Like traffic to models, the traffic is so different.
- 44:46They're so different. They bring so many other ways of
- 44:52having to deal with software engineering, not just the the
- 44:57fast and light way that we've been looking at it and trying to
- 45:00get to. But now there's a little bit
- 45:02heavier 1. And now we get these time out
- 45:05problems or the model doesn't fit and there's like payload
- 45:10constraints, all of these like these constraints or these
- 45:14problems that people are running into because you try to bring
- 45:22this new paradigm onto the old rails and you see where there's
- 45:28a few cracks. Yeah, like it's I, so I in my,
- 45:33my actual work, in my day-to-day work, like I, I am a community
- 45:39advocate, which actually means a lot of what I do is
- 45:43understanding what's happening out in the technology community.
- 45:47And so I work at a company called Tetrite and we are very
- 45:52invested in the Envoy project, for example, with having
- 45:58engineers and people like myself being out there building in open
- 46:02source. But as a community advocate, a
- 46:05lot of what it is for me is like talking to people, listening to
- 46:08what's really going on and the challenges they're running into
- 46:12and advocating for the community when we are looking at how we
- 46:17are building things going forward.
- 46:19So I think what could be maybe misinterpreted being a community
- 46:22advocate is I'm advocating for the solutions to the community.
- 46:25No, no, no, I am advocating for the community for so that the
- 46:30solutions that are being built are addressing needs in the
- 46:34community and maybe sometimes even needs the community haven't
- 46:36realized they've got yet. Maybe they're running into
- 46:39interesting problems. Have I heard people say they are
- 46:41running into challenges with their Python gateways?
- 46:43Like why do you? Why does it seem like the
- 46:46gateway itself is adding latency?
- 46:48Well, let's talk about event driven proxies.
- 46:51But this is where it's interesting.
- 46:54How can you advocate and understand the challenges of the
- 46:57community so that the solutions are being built meet those
- 47:00needs? So yeah, I found that really
- 47:03interesting for me specifically. So I find it really nice to hear
- 47:07what problems people are running into.
- 47:08So it's really exciting to hear like what you're seeing as well
- 47:11in your community and advocating for people's real needs out in
- 47:17the real world to say we don't build science projects.
- 47:21And I think that is also what's so exciting.
- 47:23You know, you said you had Alexa on here earlier, right?
- 47:25Like collaborating with Alexa and the team in open source and,
- 47:31and really bouncing ideas together and really getting to
- 47:36real needs. I think that's really fun and
- 47:38nice. And you know, we don't work at
- 47:40the same companies, but we get to collaborate and, and drive
- 47:45solutions together. Oh, it's really fun.
- 47:48The thing that I'm wondering about is, do you feel like you
- 47:53have to be technical to be that type of a community advocate?
- 48:01That's a good question. I am very technical at the start
- 48:04of my I started coding when I was 12 and I been in the gateway
- 48:11space for many years. I started being in the platform
- 48:15engineering and gateway space back in 20/15/16 as we started
- 48:232015 when we started breaking down those monoliths into micro
- 48:27services and the need of gateways became apparent.
- 48:30So I've been in that space, yeah, since 2015.
- 48:34And I was in the Fintech space. And I need to be honest, this
- 48:40Gen. AI and this type of traffic
- 48:44patterns we're seeing now, I feel really validated because
- 48:48definitely between 2015 and about at least 2023, I was in a
- 48:54situation where people said those financial analysis APIs
- 48:57that I was dealing with there was incredibly open-ended.
- 49:01And you can be like, oh, I have this portfolio and I want to
- 49:05analyse it. But there's a big difference
- 49:07between analysing a portfolio with 10 U.S. equity holdings in
- 49:12it versus a multi asset multinational portfolio with
- 49:1610,000 holdings in it. Analysing those, even if it's
- 49:20the same API endpoint you're hitting, I hope you can
- 49:24understand that one of them is going to be very fast and easy
- 49:27to respond to and 1 is going to take a lot of time processing
- 49:30and both the input potentially and the output, especially the
- 49:34output, they're talking very big outputs.
- 49:37That was starting to hit the limits of what API gateways.
- 49:42You know, how we talked about the, the body, the response body
- 49:44limitations, We started to run into those problems because
- 49:48there were so big responses. They were hitting the 10
- 49:51megabyte limits of many, many gateways out there.
- 49:54So I was like, for years I felt that people were telling me,
- 50:00Erica, you were doing your AP is wrong.
- 50:02Clearly, those financial analysis AP is, is something
- 50:07wrong with your design. That's the problem, not the
- 50:10gateway. And to be honest, I truly
- 50:13believe that we must be doing something wrong, right?
- 50:16That we have these APIs that were so unpredictable in the
- 50:23time to respond and the size of the response.
- 50:26But then Jenny, I and LLM APIs came around and I'm like, wait a
- 50:31minute, I've seen this before an API you could put stuff in and
- 50:35it'd be very different what comes out and it could be slow,
- 50:38it could be big. I'm like, and now everyone seems
- 50:41to be on board with like the this is a real challenge.
- 50:45But actually a lot of the things we are handling dealing with
- 50:48now, it would gateways in the world of LLMS is actually the
- 50:53problems we are solving benefits these financial analysis APIs as
- 50:57well. So these changes in how we're
- 51:01looking at both the limiting usage like in LLM world, we're
- 51:05using the quote token quotas. So maybe you're allowed to use
- 51:1010,000 tokens in the space of whatever time frame you like.
- 51:16But if you want to say a day or a week or a month and you can
- 51:20then start putting these. But those are not number of
- 51:23requests. You can make just a couple of
- 51:26requests and hit your quota or you can make loads of small ones
- 51:31and then you'll hit your quota. So that is different.
- 51:34So we actually had to change how we did rate limiting like normal
- 51:39rate limiting and usage limiting and Envoy proxy to be able to
- 51:44allow for this more dynamic way of measuring usage.
- 51:48So you don't just measure, measure usage based on number of
- 51:51requests, but you can measure it on another data point.
- 51:55So in this case in LLM world, it would be tokens like word
- 51:59tokens. So that's fascinating to me.
- 52:02And even this our observability in how we measure how fast we
- 52:08are responding. So if you think about an LLM and
- 52:11you're streaming a response and you're streaming tokens back,
- 52:14what you're actually interested in from a performance point of
- 52:18view is response tokens per second because then you know,
- 52:23it's, it's, it's working like stuff's happening.
- 52:26Responses are streaming through. If you then correlate that to
- 52:30some of the challenges we saw in financial analysis, AP is we
- 52:33didn't have word tokens, but we had, we were very concerned
- 52:37about time to 1st bite. So the first bite, we started
- 52:40streaming in the response. So instead of looking at the
- 52:44time it takes for the entire request to process in the
- 52:47financial analysis API, imagine we can monitor bytes per second
- 52:53because that will tell us stuff is moving.
- 52:55It's not standing still. So similar to how we are
- 52:58interested in response tokens per second when we're streaming
- 53:01LLM responses. If we take the parallel and look
- 53:04at the financial analysis, AP is just shifting the way we're
- 53:08thinking about performance and observability is also important
- 53:12when we look at this infrastructure to understand the
- 53:14health and of our system. Yeah, you really are.
- 53:18I like that idea of, hey, the performance metrics have to
- 53:26almost you, you want to try and get more creative with them.
- 53:30And it reminds me of a conversation we had with Krishna
- 53:34who works at Qualcomm. And he was talking about how
- 53:39sometimes when you're putting AI onto edge devices, you want to
- 53:46optimize for battery life. And ways that you can do that
- 53:50are by streaming less tokens, or making sure that the tokens
- 53:54aren't streaming at 300 tokens per second, because people can't
- 53:58really read 300 tokens per second.
- 54:00So why stream them that fast if people aren't going to read it
- 54:05that fast? And if it can.
- 54:07Mean less battery consumption. Then you stream at 20 tokens per
- 54:12second or whatever it may be, whatever that happy medium is.
- 54:15Yeah, absolutely. That's a really good
- 54:18perspective. So yeah, like they all add up.
- 54:20They were like, I think it's fascinating in this space that
- 54:23how so many things are are related.
- 54:27It's like I normally don't think about battery times because I
- 54:30work in places where, you know, power is plugged in, it's off
- 54:35the mains, right? And there's no charge up
- 54:38battery. We don't have battery driven
- 54:39service, right? But yeah, I do think though
- 54:43they're coming back to question, do you have to be technical to
- 54:46be able to be advocating for a community in the space?
- 54:49Yes, I do think it would been very hard for me to not have my
- 54:54technical software engineering and software engineering manager
- 54:58leadership background. Interesting.
- 55:00I think that that would been very hard because I'm in such a
- 55:04technical space, right? It's so deeply technical and I
- 55:11believe it would be very hard to not have experience in this
- 55:15space because sometimes I can hear problems people are
- 55:19describing like, oh, this Python gateway is somehow very
- 55:25unpredictable in the latency the gateway itself adds to my
- 55:29requests. Cool.
- 55:31I hear that they necessarily can't express that the challenge
- 55:37they're running into is that they're, they have ran out of
- 55:41waiters in the restaurant. So their, their requests are
- 55:44waiting outside for an available table and waiter, right.
- 55:48And that is why sometimes the request takes 100 milliseconds
- 55:52and sometimes the request takes 700 milliseconds.
- 55:57They can explain the problem they're observing, but you have
- 55:59to understand, OK, are using a Python gateway.
- 56:03What are the limitations of the Python language that may be the
- 56:07actual foundational cause of the problem that you are observing.
- 56:10So be able to advocate for the user in that case I need to
- 56:15understand. The.
- 56:17The course of the pain to then advocate for solutions to be
- 56:25built in the industry to address their need.
- 56:27Hopefully that makes sense. I think it'd be very hard if you
- 56:29don't. Often you're deep.
- 56:31Often you are dealing with users observing challenges but aren't
- 56:35in a position to see the opportunities as well and and
- 56:41the causes of the challenges are observing.
- 56:44It's almost like you're part product manager, part like
- 56:50customer success or support in a way and in part community or
- 57:00externally facing. I don't know how you how you
- 57:03would qualify that. And so it's interesting to think
- 57:08about how these deep questions, deep technical questions or
- 57:13discussions are coming across your desk and you're seeing them
- 57:17and then you recognize, wow, there's a pattern here.
- 57:21And maybe that means that we should try to build it into the
- 57:26product so that we can help these users with this pattern
- 57:30because I'm, I'm keep seeing it come up.
- 57:33So let's get ahead of it. Let's help create a feature or
- 57:36whatever to help the users so that they don't have to suffer
- 57:40from this problem anymore. Yeah.
- 57:43And I think on that like being ahead of a problem because I
- 57:46used to be in platform engineering in like in like
- 57:49internal building API platform service platforms and such in my
- 57:54old roles. And often the challenge always
- 58:00is that you need to try and build things before people are
- 58:04really in pain because when people are in true pain, you are
- 58:08too late. So being able to see that
- 58:13someone see the symptoms of something that's going to become
- 58:18really painful later, early enough that you can address
- 58:22them. So you have the cure when people
- 58:25come around, but what has been really great is that
- 58:30fortunately, unfortunately, however you want to see it, some
- 58:33people had already started running into these problems.
- 58:37But if you can work to solve those problems for a small set
- 58:41of people early and then being able to showcase that and then
- 58:46help the sort of 2nd wave of adopters not have to experience
- 58:52the growing pains that the first sort of pioneers had to
- 58:56experience. But yeah, generally it's like
- 59:00sometimes hard to even explain to the the wider community the
- 59:06purpose of doing something because they might be like this
- 59:09problem you're talking about. I don't have it.
- 59:13And you're like, that's great for you, That's amazing, that's
- 59:18awesome. I'm happy you don't have it.
- 59:20Yeah, talk to me in from it. So that's the other tricky part
- 59:26of advocating for a community, because sometimes you have to
- 59:30advocate for a commute for people in the community that,
- 59:33but they don't feel like you need to advocate for them yet.
- 59:36They're like, well, and also they, they don't need to know
- 59:41what I do, you know, when I talk to people exactly.
- 59:46But I do think it's an important read to see where the where the
- 59:50community and the industries at, how they are.
- 59:55Where are they now? How long do we think it is until
- 59:59the pains will start being felt? One thing that's got to be hard
- 1:00:04about your job is the shifting sands that you're building on.
- 1:00:08And I say that because a friend of mine, Flores, was saying how
- 1:00:12he spent in the beginning of the LLM boom.
- 1:00:16He did so many hacky things to allow for greater context
- 1:00:24windows on their requests. And he spent so much time on
- 1:00:29that problem. And then next thing you know,
- 1:00:32context windows just got really big.
- 1:00:34And so he he was sitting at his desk like, damn, all that time I
- 1:00:39put into this, I could have just waited three months or six
- 1:00:43months and it would have happened on its own.
- 1:00:46And so I think about in the world that you're living in, as
- 1:00:51you're thinking through some of these problems, how do you
- 1:00:56ensure, if at all, that you're working on the right problem and
- 1:01:00you're not going to get into a situation where something that
- 1:01:06you've worked on for the past six months now doesn't matter
- 1:01:11because of another piece of the puzzle changing and totally
- 1:01:16making it obsolete in a way? I think for me, when I look at
- 1:01:22how the when I started looking at features to aid and enable
- 1:01:29Gen. AI traffic, I got to be honest,
- 1:01:32the first time someone said like AI Gateway to me, I was like
- 1:01:36really like, it's just network traffic.
- 1:01:41I was like really like, what are you talking about?
- 1:01:44It's just network traffic. We've been dealing with network
- 1:01:46traffic for a long time. Like what's up with you?
- 1:01:49Like this is just a someone you know stick in an AI label on a
- 1:01:55network component because. They need to raise some funds.
- 1:01:58Yeah. And I was just like, this is
- 1:02:00ridiculous. It's just, and I even was like,
- 1:02:03I even had that moment where I looked at their problems of
- 1:02:06these, like the big payloads in requests and responses and the
- 1:02:12unpredictable response times and the high compute utilization.
- 1:02:16I was like, yeah, I had that problem for years and I like
- 1:02:20looked at. I was like, yeah, that's not a
- 1:02:22Jenny I problem. I've had a problem in fintech
- 1:02:25for a long time. Congratulations that you joined
- 1:02:27the party. That was my initial reaction.
- 1:02:29I was like, OK, fun for you, welcome to the club with these
- 1:02:35problems. But it's almost that what made
- 1:02:38me really excited when I saw that the problem that was being
- 1:02:43run into in the Jenny I space I had experienced for over five
- 1:02:48years. And I was like, well, if I've
- 1:02:51experienced it for five years and everyone told me that the
- 1:02:56problem I had was myself inflicted problem and then now
- 1:03:02we had this problem. The amount of people who was
- 1:03:06experiencing the problem had just grown.
- 1:03:09That made me feel like, OK, these features, even though we
- 1:03:14can drive the innovation at this point because of the explosion
- 1:03:18of Gen. AI, these features don't just
- 1:03:21benefit Gen. AI, they benefit beyond Gen.
- 1:03:24AI. And therefore I do not currently
- 1:03:29fit. This feels like fundamental
- 1:03:31problems in how we handle network traffic, connections and
- 1:03:36processing of request and response payloads.
- 1:03:39And I so therefore in this particular space, I think we're
- 1:03:45just actually late. We should have solved this a few
- 1:03:48years ago. Yeah, I guess a lot of the
- 1:03:51energy too, and the advancements and the money are going into the
- 1:03:57model layers and application layers, but not necessarily the
- 1:04:04nuts and bolts and the piping and tubing layers.
- 1:04:07It's. Almost like this is a bit of an
- 1:04:11afterthought when you do hit scale and when you do realize
- 1:04:15that, Oh yeah, we want to make this production grade, how can
- 1:04:24we do that? And you start to think about
- 1:04:27that. Hopefully you don't think about
- 1:04:29it once you already have the product out and it's getting
- 1:04:32requests. Hopefully you're thinking about
- 1:04:34it before then. Yeah, like when people come out
- 1:04:36of their POC workshops. Yeah.
- 1:04:40How do they get it industrialized?
- 1:04:43Exactly. It's A and I do think that
- 1:04:46people should start in their POC workshops, right?
- 1:04:49They should be playing around, seeing what's possible.
- 1:04:52Listen, I don't think people should scale their systems
- 1:04:56before they need to scale them. That is like what if you have a
- 1:05:00bad idea like leave it in the in the POC workshop, don't take it
- 1:05:05out can stay there on a shelf. You can be like I built that
- 1:05:08once that was cute and no one needed it and that's OK.
- 1:05:13So it's don't scale too early, but there now at least I feel
- 1:05:20that there's enough people out there that need the scale.
- 1:05:23And I'm really excited about how we don't just bring these
- 1:05:26features into Envoy AI Gateway, but really this notion of having
- 1:05:35usage limits that isn't just number requests that features
- 1:05:39available in Envoy Gateway. Now you don't need to use Envoy
- 1:05:44AI Gateway to leverage that. That is now part of Envoy
- 1:05:48Gateway as of the 1.3 release. So if you have a financial
- 1:05:53analysis API, you can actually now you don't have to go and
- 1:05:56install an Envoy AI Gateway to have more intelligent.
- 1:06:02Intelligent is the wrong thing to call it.
- 1:06:03Dynamic is the right thing to call it more dynamic way of
- 1:06:07enforcing usage limits beyond number of requests.