Speaker 1: How'd you like to listen to dot net rocks with
Speaker 1: no ads? Easy? Become a patron for just five dollars
Speaker 1: a month. You get access to a private RSS feed
Speaker 1: where all the shows have no ads. Twenty dollars a month,
Speaker 1: we'll get you that and a special dot NetRocks patron mug.
Speaker 1: Sign up now at Patreon dot dot NetRocks dot com.
Speaker 1: Welcome back to dot net rocks. We're from Build.
Speaker 2: Yeah, Richard, I like being a build Well, Seattle, it's raining.
Speaker 2: Welcome to my neck of the woods.
Speaker 1: Right, I'm Carl Franklin. That's Richard Campbell, and it's gonna
Speaker 1: be a good show. This is the first show that
Speaker 1: we published from the list of shows that we're doing.
Speaker 2: It well, got us to be busy.
Speaker 1: Yes, however, this is the second show we recorded. Okay,
Speaker 1: so the keynote uh Hawk that we do with Scott
Speaker 1: Hunters next week. Yeah, yeah, all right, it's a couple
Speaker 1: hours ago, a couple hours ago, a lot of good stuff.
Speaker 1: Ken Exner is here. We're gonna be talking to him
Speaker 1: in just a minute. But first let's roll the music
Speaker 1: for better know a framework.
Speaker 2: Man, what do you got?
Speaker 1: Well? I haven't seen this one before. But it's trending
Speaker 1: on githubs. This is public dash APIs GitHub. It's the
Speaker 1: public API repository, manually curated by community members like you
Speaker 1: and folks working at API Layer. It's an extensive list
Speaker 1: of public APIs for many domains you can use for
Speaker 1: your own products. Consider it a treasure trove of api
Speaker 1: is well managed by the community over the years. That's cool,
Speaker 1: you know, so putting on my career criminal advice hat.
Speaker 1: If you want to do a denial of service attack
Speaker 1: to test out your new tools, pick one of these
Speaker 1: APIs and let it rip.
Speaker 2: Jeezus, that's dark. It's a very dark way to think
Speaker 2: about it.
Speaker 1: But yeah, I know, of course, you know you want
Speaker 1: to test out your your new harness for calling APIs
Speaker 1: and see if they were There's some really good stuff here.
Speaker 1: Locate and identify website visitors by IP address. That's a
Speaker 1: fun one market stack, free, easy to use rest API
Speaker 1: interface delivering worldwide stock market data and Jason format because
Speaker 1: you know CNN doesn't work well enough. Weather Stack retrieve
Speaker 1: incedant accurate weather information, numb verify, global phone number validation,
Speaker 1: look up Jason API and Fixer. A simple and lightweight
Speaker 1: API for current and historical foreign exchange rates, some good stuff,
Speaker 1: and there's more to it, of course, but that's it awesome.
Speaker 1: That's what I got. Who's talking to us today, Richard grab.
Speaker 2: Your comment of the show ten sixteen seven, which is
Speaker 2: a while ago. Let's tart twenty fourteen. We were talking
Speaker 2: about to edemar a bit about different search strategies and technologies,
Speaker 2: and one of the comments in the show came from
Speaker 2: Sean mccartall, who was talking about how he pitched a
Speaker 2: last search to his organization. And admittedly he's twenty fourteen,
Speaker 2: so think about the challenges back then, right, But he said,
Speaker 2: only after the second time I had to tell my
Speaker 2: boss I don't know why it broke. We don't have
Speaker 2: enough information I sought out to solve the problem. Yeah,
Speaker 2: so this is this is an EMEN type thinking, he said,
Speaker 2: And the problem this is an architecture that spans SharePoint, SAP,
Speaker 2: some Tomcat hosted solutions, so a little jab in there,
Speaker 2: along with a bunch of good dot net projects in too,
Speaker 2: and he worked with Python and power Show forty threw
Speaker 2: a Lodge staff receiver into a LASTI search cluster, which
Speaker 2: was the easiest part to set up. And then after
Speaker 2: by another week doing some tweaks and configurations, he was
Speaker 2: able to do an analysis of workflows through all of
Speaker 2: those different products in twenty fourteen. That's twenty fourteen. I
Speaker 2: mean today the tools are all different. You'd be in
Speaker 2: the cloud and doing that, but no, he was cracking
Speaker 2: it the hard way now. So now I appreciate that
Speaker 2: it's just a realization, like a last search bit in
Speaker 2: our lives a long time. Things are obviously different now.
Speaker 2: And as Sean, thank you so much for your comment,
Speaker 2: and a copy of music Coby is on its way
Speaker 2: to you. And if you'd like a copy of music Koba,
Speaker 2: I write a comment on the website at dot net
Speaker 2: rocks dot com or on the facebooks we've published every
Speaker 2: show there, and if you comment there and never real
Speaker 2: on the show, we'll send you copy of music Goby.
Speaker 1: Music to Code by of course, the music that helps
Speaker 1: you focus, still going strong, twenty two tracks. You can
Speaker 1: get it at music toocodebuy dot net. You can get
Speaker 1: the collection in MP three wave or a flack format.
Speaker 1: Before we interview our guests and introduce him, let's talk
Speaker 1: about nineteen fifty two yep so significant events, because this
Speaker 1: is show nineteen fifty two kind of have been been
Speaker 1: doing this. What happened in that year significant events including
Speaker 1: the death of King George the sixth and the ascension
Speaker 1: of his daughter Elizabeth to the throne of the United Kingdom.
Speaker 1: The US successfully tested the first hydrogen bomb. Dwight D.
Speaker 1: Eisenhower was elected President of the United States, defeating Adale Stevenson.
Speaker 1: The Korean War continue with the US launching bombing attacks
Speaker 1: in Greece and Turkey joint NATO. Other key events include
Speaker 1: the beginning of the Mau Mau rebellion in Kenya and
Speaker 1: the Great Smog of London caused by industrial pollution and
Speaker 1: high pressure weather. The Great Smog not to be confused
Speaker 1: with the Great Stink. Do you remember that? I mean
Speaker 1: I don't remember it, but I remember hearing about it.
Speaker 1: Sewage backed up in the Thames. It was horrible.
Speaker 2: Related to the presidential election nineteen fifty two, was one
Speaker 2: of the UNIVAC computers, which again these were all bespoke
Speaker 2: machines of the time, right, actually did the computational estimations
Speaker 2: to say that Eisenhower's going to win. So it's one
Speaker 2: of the first times the computer predicted the win based
Speaker 2: on poll.
Speaker 1: Okay, so you know how many times did the computer
Speaker 1: not predict the win though?
Speaker 2: Well before that?
Speaker 1: Zero? Oh yeah, okay, yeah, right, okay, shall we get
Speaker 1: on with our show. Let's talk to Ken Xner. I'll
Speaker 1: introduce him here. Ken is chief product Officer, head of
Speaker 1: products and engineering for Elastic. Maybe you've heard of it.
Speaker 3: Welcome Ken, Hey Carl, good to be here.
Speaker 2: Hey Richard, thanks, good to have you. Yeah, thank you.
Speaker 3: You mentioned uh Elastic search US in twenty fourteen. We
Speaker 3: actually just celebrated our fifteenth anniversary of.
Speaker 2: The lasted search, so twenty ten.
Speaker 3: Yeah, Elastic Search fifteen years as a couple of months ago.
Speaker 1: That's fantastic.
Speaker 3: H And it's a it's gone on to be downloaded
Speaker 3: four point six billion times.
Speaker 1: Wait billion with a B, billion with a B, which.
Speaker 3: Makes it I think one of the most popular open
Speaker 3: source projects of all time.
Speaker 2: Yeah, no, without doubt, And I mean it comes up regularly.
Speaker 2: It's just one of the tools we've count on for
Speaker 2: fast search solving certain certain scopes of problems. Right, see
Speaker 2: the smart casing tool. Now, you guys have got a
Speaker 2: new relationship in Azure. You're just you're becoming a service
Speaker 2: like well, how you guy, what do you guys are
Speaker 2: up to?
Speaker 1: But we've we've.
Speaker 3: Been Our partnership with Azure has been fantastic. So over
Speaker 3: the last few years, Azure has been integrating US almost
Speaker 3: like a first party service within Azure, so you can
Speaker 3: go into the navigation and select US as part of
Speaker 3: the experience with an Azure So if you wanted to
Speaker 3: launch your own Elastic Search, you can do it very
Speaker 3: simply from within the Azure console. So yeah, it's been fantastic.
Speaker 2: Yeah, and you guys been in cloud for ages.
Speaker 3: We started going back to the cloud, started going to
Speaker 3: cloud about six seven years ago, where we first started
Speaker 3: letting customers spin up a VM, have US automatically installed,
Speaker 3: have US patching and maintaining their cluster. We've recently actually
Speaker 3: introduced a new serverless offering that is kind of a
Speaker 3: fully managed experience that you can think of it as
Speaker 3: SaaS like. So it is a SaaS like experience for
Speaker 3: using Elastic Search, which means that customers can use US
Speaker 3: an open source, they can get a self managed license,
Speaker 3: they can have a hosted version in cloud, and they
Speaker 3: can have this new serverless offering which is kind of
Speaker 3: a SaaS like experience.
Speaker 2: So am I just paying by transaction at that point?
Speaker 3: Yeah, you're just paying for data. So if you're if
Speaker 3: you're using US as like a logging solution, you're just
Speaker 3: paying for data in and data retained.
Speaker 1: That's it.
Speaker 2: That's fair.
Speaker 3: And it scales to zero and it's uh yeah, it's
Speaker 3: a magical.
Speaker 2: It doesn't cost you anything. You don't move any data
Speaker 2: around it exactly nice. You're if you're running a VM,
Speaker 2: you're paying for it. That's right, no way around that.
Speaker 3: But yeah, it's it's been a challenge being able to
Speaker 3: deliver elastic search all these different ways that you know,
Speaker 3: it's hard to maintain software that many different ways, but
Speaker 3: it's what customers need.
Speaker 1: So how does it fit into Azure's new AI focus
Speaker 1: that you probably, yeah, are the focus this I did.
Speaker 2: The drinking game I decided on was not to say
Speaker 2: we need to take a drink, we say copa certainly
Speaker 2: not say drinks, we say AI, you'll be drunk when
Speaker 2: you say Windows.
Speaker 1: Yeah.
Speaker 2: I think I only had to take three drinks then.
Speaker 3: Yeah. Well, I think it's really a question of how
Speaker 3: is search, you know, playing a role in the I
Speaker 3: right boom, And I think one of the things that
Speaker 3: you know, when generative the I first happened, everyone's kind
Speaker 3: of wondering what's the future of search, and people were saying, oh,
Speaker 3: you know, Google is dead, and I think one of.
Speaker 1: The things that you even said, SAS is dead.
Speaker 3: He said that last year.
Speaker 2: Yeah.
Speaker 4: Yeah, yeah, I'm saying for him to say, I think
Speaker 4: it seems unlikely, maybe a little premature, maybe a little
Speaker 4: we'll get into agentic architectures in the augentic future soon,
Speaker 4: but yeah, I.
Speaker 3: Think SaaS is still here. But yeah, what we realized
Speaker 3: is that search had a huge role to play in
Speaker 3: AI because if you're building generative AI applications, you need
Speaker 3: to ground it on, you know, your own data so
Speaker 3: that you're not just basing on public information.
Speaker 2: And constantly changing.
Speaker 3: It's constantly changing. And if you, you know, want to
Speaker 3: make sure that you know the permissions reflect the user,
Speaker 3: you need to make sure that you know that whatever
Speaker 3: you're grounding on understands the user's permission to data.
Speaker 2: You're not going to build a model for every permission level.
Speaker 2: That doesn't seem practical.
Speaker 3: You know, fine tune or build a model for every
Speaker 3: single possible combination combination of permissions.
Speaker 2: Yeah, yeah, it seems like a way, good way to
Speaker 2: waste a lot of space.
Speaker 1: What else shouldn't you do let's talk about that.
Speaker 3: Well maybe in video would like that feature, but.
Speaker 2: Don't stick a fork at a toaster. That's a good one,
Speaker 2: I think.
Speaker 1: Okay, then we have two.
Speaker 3: Yeah, so search has this new found life in the
Speaker 3: age of generative AI. Wheople are using us to help
Speaker 3: build applications and doing retrieval mechanisms, and that's been sort
Speaker 3: of the source of our partnership with Azure, as well
Speaker 3: as helping them be a search engine or retrieval engine
Speaker 3: that helps their customers, our customers build these generative applications
Speaker 3: on top of their private data.
Speaker 1: Right, Yeah, that's great. Well, I mean we saw the
Speaker 1: we just saw the keynote a couple hours ago, and
Speaker 1: we'll get into more of that next week with Scott.
Speaker 1: But what did you take away from it?
Speaker 3: Well, one of the things in Scott's keynote he mentioned
Speaker 3: sort of the move towards conversational search, and this is
Speaker 3: one that we think is big within Elastic and we've
Speaker 3: seen the evolution of search. You know, started off as
Speaker 3: lexical search or text basse search, and then six seven
Speaker 3: years ago and moved to semantic search, where people started
Speaker 3: to expect their search box to understand natural language and
Speaker 3: respond to questions. And then I think with generative AI
Speaker 3: it became sort of an evolution further towards RAG where
Speaker 3: people wanted to build these applications. I think now it's
Speaker 3: moving towards conversational search, where you're expecting your search box
Speaker 3: to have a conversation with you and respond in natural
Speaker 3: language and carry the context and carry context, have memory
Speaker 3: be personalized. And I think one of the things that
Speaker 3: we've been working with Microsoft on is how do you
Speaker 3: build these conversational search experiences across the web. I'm excited
Speaker 3: about that.
Speaker 2: Yeah, yeah, and again it's just it's part of the infrastructure.
Speaker 2: You just want you just expect that to work and
Speaker 2: to be fast, to be fast.
Speaker 3: Yeah, you know, that's one of the things that elastic
Speaker 3: search is known for is blazing speed. I'm always you
Speaker 3: can you start typing keywords in a search box and
Speaker 3: auto completes. You expect that. So now combine that with
Speaker 3: like conversational search, you can.
Speaker 2: Get over the speed of l about the typing in
Speaker 2: the box, yeah, yeah, if I have to finish typing
Speaker 2: and hit a box, so annoying. That's a broken search tool.
Speaker 1: Yeah, so many of our listeners may not know about
Speaker 1: vector databases in general. Can you kind of give us
Speaker 1: an idea of how that changes the game sure data
Speaker 1: standard relationship.
Speaker 3: Yah. So when we became a semantic search engine, we
Speaker 3: had to become a vector database as well. And this
Speaker 3: is back around twenty seventeen we started supporting the ability
Speaker 3: to store and query dence spectors.
Speaker 2: It was cool before it was cool, five years before.
Speaker 3: Before it was cool.
Speaker 1: I don't know anything about that. It's like first podcast ever.
Speaker 3: I'm there's some debate about it, but I'm gonna still
Speaker 3: argue that we were one of, if not the first
Speaker 3: vector database out there because we had to support it
Speaker 3: for product search like image search, and for semantic search.
Speaker 1: So I kind of know what vectors are because I
Speaker 1: took high school physics. But tell us the.
Speaker 3: Basic idea is, you're trying to plot vettings or vectors
Speaker 3: in sort of a multiensal space, and you're trying to
Speaker 3: look for similarities between vectors in this multidimensional space. So
Speaker 3: you're you're basically taking text or you're taking images, and
Speaker 3: you're you're vectorizing it, which is turning it into these, uh,
Speaker 3: these embeddings, these numbers that can be plotted in vector space,
Speaker 3: and then that allows you to find similar terms. So
Speaker 3: when you're doing something like semantic search, you're trying to
Speaker 3: use uh vector sort of this vector search to look
Speaker 3: for similar terms. So if I if I say glass
Speaker 3: and cup, I understand that those are similar terms, right,
Speaker 3: because they're they're close in this vectorized space.
Speaker 1: Uh.
Speaker 3: Same thing with images, same thing with video. Anything that
Speaker 3: can be vectorized and turned and turned into vector embeddings. Uh.
Speaker 3: So we started supporting the ability to store these dense
Speaker 3: vectors and query dence vectors and elastic search, and then
Speaker 3: five years later generative AI happened and we were like, wow,
Speaker 3: we have a vector database. That's pretty cool.
Speaker 1: Yeah.
Speaker 2: Right, and that kind of thing that language tookeganization just
Speaker 2: lends itself so well to vectorization.
Speaker 1: That's right. Well, that's what makes possible, right like chat GPT,
Speaker 1: you type in a phrase or a question, the response,
Speaker 1: every single word is based on the probability of what
Speaker 1: is the next word based on the vector values.
Speaker 3: That's right. Right, And well, so there's there's a couple
Speaker 3: of ways that vectors are used. One is inside the
Speaker 3: models themselves, but a vector database specifically is used for
Speaker 3: helping ground an l l M. So like an LM
Speaker 3: doesn't actually use a vector database, but it uses vectors
Speaker 3: in how it's how it stores the information models. But
Speaker 3: for a vector database, it's it's trying to get the
Speaker 3: l M to ground itself on third party data so
Speaker 3: that you know, if it's not been trained on a
Speaker 3: product catalog, for example, you can expose it to a
Speaker 3: product catalog, or if you needed to use some information
Speaker 3: that it has not been specifically trained on, you can
Speaker 3: ground it on that. And a vector database is one
Speaker 3: technique for helping produce highly similar, highly effective search results
Speaker 3: that help ground that LLLM. We actually found that the
Speaker 3: best techniques are actually not just using vector databases. You know,
Speaker 3: I'm a we're a vector database, and I'm gonna say
Speaker 3: the best techniques are not just using the best techniques
Speaker 3: are actually using combinations of technologies. Hybrid search. We're using
Speaker 3: combinations of lexical search UH and uh en vector search,
Speaker 3: or you're using sort of graph traversal together with vector
Speaker 3: search where you're you're modeling information and we're seeing the
Speaker 3: relationship between entities. But we support all these things. We
Speaker 3: support a combination of geospatial search together with vector search.
Speaker 3: So yeah, there's also other techniques like reranking. So once
Speaker 3: you all the reason.
Speaker 2: You're talk about runing multiple searches and in those different
Speaker 2: forms and then somehow munging it together, so you're not
Speaker 2: repeating yourself to get a results at that's.
Speaker 3: Right, or you're you're running post process like you might
Speaker 3: pull a bunch of results and then run reranking after
Speaker 3: the fact, right, and that get further refines the results.
Speaker 3: And then what you're doing is you're passing the right
Speaker 3: inform to an LM so that it can say, okay,
Speaker 3: you're using it. You're passing into the context window and
Speaker 3: saying this is the information you should build your response on.
Speaker 3: And all this happens blazing really really fast, and then
Speaker 3: the LM now has some information in its context window
Speaker 3: that it can use to to provide an accurate result.
Speaker 1: So here's a scenario. Let's say I'm building an agent,
Speaker 1: and the agent I'm giving access to my database. On
Speaker 1: one side, I've got a SEQL server with a bunch
Speaker 1: of relational data in it. On the other side, I
Speaker 1: have a las to search vector database, and I give
Speaker 1: it access to both of those things. Is it going
Speaker 1: to be able to find things in the last to
Speaker 1: elast to search faster than it would in my relational
Speaker 1: data if they were both, if it was both trained
Speaker 1: on both data.
Speaker 3: We would be It depends if so I'm assuming this
Speaker 3: scenario that we have a connector to that database and
Speaker 3: we can run into it will be faster.
Speaker 1: Okay, so yeah, so why would I want to use
Speaker 1: the relational database? And my this is this is actually
Speaker 1: why one of the first that's why you're here, I
Speaker 1: get it. I see, actually one of the first.
Speaker 2: It's the end of databasetase we know it.
Speaker 3: One of the first use cases for elastic search was
Speaker 3: actually database offloading because it was the search function was
Speaker 3: creating contention in the database, so offloaded it to elastic
Speaker 3: search and we were blazing fast. Helped speed up the
Speaker 3: database at the same time.
Speaker 1: You know, most people what they do is they have
Speaker 1: one database for their product data or whatever, and then
Speaker 1: they have another one that's optimized for searching. That's right, right,
Speaker 1: So the one optimized for searching doesn't have all the
Speaker 1: the joins and everything that's crazy about data.
Speaker 2: Relational database cercually and we're not I don't want to
Speaker 2: be mean to relational databases, but they were from a
Speaker 2: time when DISPAS was at a premium, and so don't
Speaker 2: striplicate data, right, Like, that's why we organize data that way.
Speaker 2: It was space efficient. It's not particularly important now. Admittedly,
Speaker 2: now we have an infrastructure around it where we have
Speaker 2: so many querying tools and other bits and pieces that
Speaker 2: just work against it. That that's your instinct, and all
Speaker 2: our rms tend to point to. Okay, some ways are
Speaker 2: just in place from the momentum of what's been built
Speaker 2: on the facto standard, and they're highly integrated, like they
Speaker 2: have their advantages, but there are more ways to store
Speaker 2: data and we do. The trick is, you know, deciding
Speaker 2: on a source of truth and trying to keep everything,
Speaker 2: every copy in sync.
Speaker 1: So a last search on Azure is kind of like
Speaker 1: the place to be. I think now that we've been
Speaker 1: talking about this, if you're going to be building you know,
Speaker 1: copilot and agents in Azure Foundry, I guess.
Speaker 3: And we've actually integrated with AI Foundry. We're one of
Speaker 3: three launch partners. So if you're using AI Foundry, you
Speaker 3: can use us as a grounding engine as a way
Speaker 3: to build generative AI applications using our vector database. We've
Speaker 3: also been integrated with semantic kernel from the very beginning. Right,
Speaker 3: we first started supporting semantic kernel by offering vector search.
Speaker 3: Recently we actually extended that to do hybrid search. So
Speaker 3: what I was talking about before, being able to combine
Speaker 3: different search techniques, right, we're the first offering to do that.
Speaker 1: Now, you know, we've been given SQL server a lot
Speaker 1: of crap here. But if somebody is listening and say, yeah,
Speaker 1: you know that rings, I think I'm going to try this.
Speaker 1: How easy is it to move our relational databases from
Speaker 1: let's say SQL azure to elastic search.
Speaker 3: How easy it would it be to change the search
Speaker 3: to be using out using US as a search engine
Speaker 3: and plugging into.
Speaker 1: Or data or just moving all the data, moving all
Speaker 1: the search. Is that something that you want to necessarily do?
Speaker 3: Most people wouldn't use US as sort of a database
Speaker 3: alternative database. They would use US if they're using a
Speaker 3: relational database. They might use US as to offload search functions,
Speaker 3: so they would use it that way. But people do
Speaker 3: use US to store logs and other time series data
Speaker 3: as a primary data store. Sure you wouldn't store that.
Speaker 1: In a relational database, so not real data.
Speaker 3: It's not relational data. But people do, people do. I
Speaker 3: would not, I would not use this as an alternative
Speaker 3: to a relational data store. But I would absolutely use
Speaker 3: US as a time series database. I would absolutely use
Speaker 3: US as a vector datase. I would absolutely use US
Speaker 3: as a database offloading tool for SQL and other words speeding.
Speaker 1: Yeah, that's right. Yeah, and so it has it has
Speaker 1: access to your SEQL server. It can figure out how
Speaker 1: to optimize those queries things that you would do in
Speaker 1: a store procedure where you're getting multiple data sets from
Speaker 1: multiple tables and things like that. That's the kind of
Speaker 1: stuff where you would be in a lasts.
Speaker 3: Those are the kind of workloads that are perfect for us,
Speaker 3: Like we will help speed that up, take the take
Speaker 3: the workload off of SQL server so that they can
Speaker 3: handle the rest of its work without contention.
Speaker 2: So I can also see the data, like I want
Speaker 2: to search the incoming data. I think you constantly current data,
Speaker 2: so I don't want to keep reprocessing models to include it.
Speaker 2: So I'm using these search mechanisms that data is coming
Speaker 2: into my relational database, then probably I have an asynchronous
Speaker 2: call from that calling out of it. And reorganizing it
Speaker 2: into the vector database.
Speaker 3: Yeah, so there would be the connector would would basically
Speaker 3: be indexing a as is coming in, say, creating an
Speaker 3: index so that it can handle those queries and do
Speaker 3: that without bothering the primary database.
Speaker 2: Right, yeah, yeah, so is that actually a hook I
Speaker 2: put into a lastic search into elastica just saying hey,
Speaker 2: watch this database when yous come in politic exactly now,
Speaker 2: I mean, because it's relation to database, I tend to
Speaker 2: decompose data, right, I've broken this order down into rows
Speaker 2: and columns and stuff. I don't imagine that's how you
Speaker 2: want to start in a vector database. You kind of
Speaker 2: in a.
Speaker 3: Vectora less to search, everything is sort of document based.
Speaker 3: Everything's turned into a document. Uh but uh but yeah,
Speaker 3: we'd be able to map that back to the rows
Speaker 3: and tables in a in.
Speaker 2: A in a Right. So I mean I started off
Speaker 2: with the whole order. Should I just stole the whole
Speaker 2: order in in elastic and then decompose it into rows
Speaker 2: and columns? Like, what's the right flow there?
Speaker 1: Right? If you're do you have any actual to help me?
Speaker 3: I'm not sure I think you you know, if you
Speaker 3: just use our connectors it'll handle this for you and
Speaker 3: you'll have to think about it. It doesn't like we
Speaker 3: have four hundred different connectors that have been built up
Speaker 3: over the years for all kinds of different data stores
Speaker 3: for everything from Snowflake to SQL server to you know
Speaker 3: other and it handles all of that for sure. And
Speaker 3: then these days everything is kind of getting replaced by
Speaker 3: mcps or we're starting to build mcps of board into
Speaker 3: that as well.
Speaker 2: Yeah, the AI equation of this is flipping huge.
Speaker 1: And we'll talk about that a little bit more when
Speaker 1: we come back, and also next week with Scott Hunter.
Speaker 1: We're going to take a break right now, though we'll
Speaker 1: be back after these very important messages. Don't go away.
Speaker 1: You know, dot net six has officially reached the end
Speaker 1: of support and now is the time to upgrade. Dot
Speaker 1: Net eight is well supported on a w S. Learn
Speaker 1: more at aws dot Amazon dot com, slash dot net.
Speaker 1: And we're back. It's dot net Rocks. I'm Carl Franklin
Speaker 1: Campbell and we're talking to Ken Exner from Elastic about
Speaker 1: elasti search and some really important information that we just
Speaker 1: discovered about you know, what it, what it is, where
Speaker 1: it fits in, and what it doesn't do. Uh, and
Speaker 1: how it fits in with with Azure, especially about how
Speaker 1: you can make searches stinky fast rights stinky fast?
Speaker 3: Is that I'm not That's good.
Speaker 1: No, that's really good.
Speaker 2: So fast you can smell the burn and rubber.
Speaker 3: That makes it better. I like that, all right?
Speaker 1: So how do you get started with jam ai with
Speaker 1: elastic and Azure and the Elastic AI ecosystem through Azure
Speaker 1: Foundry AI Foundry.
Speaker 3: Well, I guess if you're if you're uh using AI
Speaker 3: foundry or using semantic Kernel, we're there, Like if you're
Speaker 3: if you're choosing to use that, like if you're using
Speaker 3: semantic kernel as a way to build uh generative A
Speaker 3: applications into whatever you're doing. Uh, we are integrated there
Speaker 3: so you can use us as a vector of database
Speaker 3: within that.
Speaker 2: It's just a feature. It's just a feature to.
Speaker 3: Turn on, so you can go and like, can you
Speaker 3: pick which vector database you want? There's a drop down,
Speaker 3: there's a couple options there. We're one of those two.
Speaker 1: It's great.
Speaker 3: Uh. And then the same thing for AI Foundry. We're
Speaker 3: integrated into AI Foundry into your workflow so you don't
Speaker 3: have to think about it, so you can basically, uh,
Speaker 3: you know, start using AI foundry select us as a
Speaker 3: vector database.
Speaker 1: Uh.
Speaker 3: With our integration into Azure, it's automatically set up for you,
Speaker 3: so you don't have to think about any permissions anything.
Speaker 3: It's all integrated with the Azure as your client.
Speaker 1: I hate to derail you, but this is the first
Speaker 1: time AI Foundry has been used on dot net rocks.
Speaker 1: I just learned about it today. Ah, so people probably
Speaker 1: won't know what this is.
Speaker 3: It's you can think of it as the new studio
Speaker 3: for all things AI.
Speaker 2: It's like the.
Speaker 1: Azure AI portal section for AI.
Speaker 3: Right, Yeah, it's yeah. There there were lots of lots
Speaker 3: of studios, lots of different tools for building AI applications
Speaker 3: within the Microsoft ecosystem, AI Studio, Open AI Studio, a
Speaker 3: bunch of them that kind of got co pilots do
Speaker 3: Copilot Studio, that's right. So, uh, the UH AI Foundry
Speaker 3: is sort of the the new integrated version of that.
Speaker 3: It gives dot net developers one place to go to
Speaker 3: if they're building these AI applications.
Speaker 1: All right, so that's where you go on Azure if
Speaker 1: you want to get started, I guess you know, if
Speaker 1: you want to start building agents and and all of that.
Speaker 2: So when you toggle the integration, is it how is
Speaker 2: it deploying elastic that point or are you using the
Speaker 2: server list version? Like, what's what's the actual impact?
Speaker 3: You can if you've set it up already, you're just
Speaker 3: picking your pointing to a pointing to an existing cluster
Speaker 3: or an existing project.
Speaker 2: In the serverless version, that might be your VM, or.
Speaker 3: If you're wanting to create it from scratch, you can
Speaker 3: do that as well. Okay, so it's a seamless integration,
Speaker 3: which which is pretty amazing for you know, being a
Speaker 3: third party product. We're always pushing for these tight integrations
Speaker 3: and we've gotten that with Azure.
Speaker 2: Now people like a checkbox and things just happen. It's
Speaker 2: just I'm putting my administrator's hat on. It's like the
Speaker 2: dev check that box and a VM appeared. In my world,
Speaker 2: I'd be more emotional about that. Where if it's the
Speaker 2: serverles offering, where it's just now we're just going to
Speaker 2: get a new bill. That's the cfo's problem. I don't
Speaker 2: mind that at all.
Speaker 1: That's right.
Speaker 2: So is it like do you get to pick the
Speaker 2: deploy mode or is it automatically.
Speaker 3: The server This one is not enabled yet. Yeah, the servers,
Speaker 3: I mean.
Speaker 2: We're talking the day you announced it, so that's fair.
Speaker 3: But the the hosted version of our cloud offering is there,
Speaker 3: you can.
Speaker 2: You can r so you could be hosted by you.
Speaker 1: Yeah, we'll be.
Speaker 3: Going ga with our server list offering in the coming
Speaker 3: weeks and then at that point you'd be able to
Speaker 3: just select that project as well.
Speaker 2: And is that running in your infrastructure? Is it an Azure?
Speaker 1: It's on Azure? Okay?
Speaker 3: Yeah, yeah, it's all on Azure.
Speaker 1: So can you give us an idea of how much
Speaker 1: it costs, I mean relative to other Azure resources?
Speaker 3: Maybe, well if you're so. There's three different project types.
Speaker 3: There's the traditional search one, which you would handle use
Speaker 3: for typical search or vector search workloads. There's the observability one,
Speaker 3: which is sort of built around observability capabilities like log
Speaker 3: analytics and metrics. And then there's a security one because
Speaker 3: one of the things that happened along the way is
Speaker 3: people thread hunters started to use us as a security
Speaker 3: analytics platform, so we created entire product packaging of Elastic
Speaker 3: for security workloads. So for threat hunters, Wow, if you're
Speaker 3: using the observability or the security project, type. It's basically
Speaker 3: we just charge for the data going in and the
Speaker 3: data retained. If you're not using any data, you don't
Speaker 3: get charged to anything as simple as that. For the
Speaker 3: search one we charge. We call it a VCU. It's
Speaker 3: a virtual compute unit, and it scales to near zero.
Speaker 3: There's always a little bit of charge because we have
Speaker 3: to keep some cashes warm to handle any kind of
Speaker 3: incoming query. But it's like less than twenty bucks a
Speaker 3: month at the start, so pretty, you know, scales down
Speaker 3: to near zero.
Speaker 1: That's really cool. Yeah, good to know. All right, So
Speaker 1: just a selfish question. Maybe the other listeners are thinking
Speaker 1: this too. All right, I'm committed to using Elasti search.
Speaker 1: I've got a relational database that has on my Goo
Speaker 1: in it. I got a lot of store procedures, and
Speaker 1: I got some views and stuff. How do I take
Speaker 1: all that t SQL in a big store procedure that
Speaker 1: returns multiple record sets from multiple places and turn that
Speaker 1: into a lab to search. Is there a language I do?
Speaker 3: Is there a good migration into it? Yeah? Well, I'm
Speaker 3: I'm hoping we can build something with l MS that
Speaker 3: could do that.
Speaker 1: Migra.
Speaker 2: Yeah I do too, actually.
Speaker 1: Because I don't want to do it.
Speaker 3: It's so the there is. So we actually have our
Speaker 3: own uh sort of query language. It's called e s
Speaker 3: q O and it's a piped query language. So we
Speaker 3: use pipes and you can very power, very very linux
Speaker 3: very powers. Yeah, so you use pipes to pass uh,
Speaker 3: since you one query into another and it's a way
Speaker 3: of combining and uh, it's a very powerful query language.
Speaker 3: We introduced joins recently. Uh, so it can do a
Speaker 3: lot of the things that you can with with the
Speaker 3: traditional sequel language, but that's becoming our default language to
Speaker 3: that thing, and at least for analytical workloads. So if youre
Speaker 3: using this for search, you would just use the search API,
Speaker 3: but for analytical workloads, uh, you'd use this new query language.
Speaker 1: So these conversions seem like a perfect job for an AI.
Speaker 3: H oh yeah, yeah, so like this is this is
Speaker 3: actually something we do right now. People might use other
Speaker 3: solutions like Spunk, they have their own query language. People
Speaker 3: have used l o ms to the conversion of one
Speaker 3: query language into another. They're surprisingly accurate. So yeah, there's
Speaker 3: no reason. You know, once we get to sort of
Speaker 3: the functionality parody that you need for for SQL, that
Speaker 3: you couldn't.
Speaker 1: Just use an l O And when'd you say your
Speaker 1: language is called.
Speaker 3: Again e SQL query language.
Speaker 1: Yeah, all right, so there's a good time kids to
Speaker 1: go out and learn the SQL, at least a little
Speaker 1: bit to know what you're going to be doing next
Speaker 1: year or maybe in a few months, who knows, or
Speaker 1: this afternoon or this afternoon really ambitious.
Speaker 2: Generally, my experience when you're moving to non relational databases
Speaker 2: is you're calling APIs. It's basically just a coding exercise.
Speaker 2: You're different kind of data fetch and start, start effects
Speaker 2: and things like that. It's a different way thinking about it.
Speaker 2: And part of that to me is you're now handling
Speaker 2: the data differently like the query. The old query doesn't
Speaker 2: make sense if the data is stored in a different way.
Speaker 2: There there are no joins or not joins the way
Speaker 2: you're thinking of them.
Speaker 3: No, it's not a join like it is a relation
Speaker 3: creating a join on sort of a no sequel data
Speaker 3: sert where we use it's a document based data system.
Speaker 3: Was challenging. How do you do that?
Speaker 2: Yeah?
Speaker 3: Uh yeah, it's a different way of interacting with data.
Speaker 3: It's a document based orientation.
Speaker 2: Yeah, so you know the document the experience you've had
Speaker 2: to working with document databases is the right sort of
Speaker 2: approach to organizing things like I would be hesitant to
Speaker 2: just move a relational database to a vector database or
Speaker 2: area a document store of any kind just because the
Speaker 2: data is organized differently.
Speaker 3: Which organized differently you're going to augment it with ectory base.
Speaker 2: But now I like this idea of yeah, my order
Speaker 2: is still decomposed in the relational database. We have all
Speaker 2: the reporting and so f on that, but I also
Speaker 2: keep a copy and in the document start that's the
Speaker 2: entire order, and still got all those elements senate that
Speaker 2: are searchable and findable and so forth. That's right, but
Speaker 2: when you find any element of it, you find the
Speaker 2: whole thing.
Speaker 1: So would you just call Kim Trip and Paul Randall
Speaker 1: and say, hey, optimize my indexes?
Speaker 3: Pretty sure?
Speaker 1: No, No, get kind of retired. Actually yeah, there's that,
Speaker 1: but I mean optimize the indexes. I mean, that's that's
Speaker 1: kind of where people go when they have search problem
Speaker 1: performance on SQL server. Yeah, well, in the.
Speaker 3: Lastic search, that's completely everything is indexed. You don't you
Speaker 3: don't you don't pick you know what you want to index.
Speaker 3: Everything is index so that's not the.
Speaker 1: End, and the next you're created on the fly?
Speaker 3: Are they created as you're ingesting? Yeah, so it's all
Speaker 3: automatically created for you.
Speaker 1: Any good document database, that's right. Yeah.
Speaker 2: So, and I find it interesting to have the sort
Speaker 2: of three species there, like this security makes sense, that's
Speaker 2: a special thing. But the observability and this is the
Speaker 2: This is why I pulled that comment from the listener,
Speaker 2: was that guy was doing observability before it was a product.
Speaker 1: Yeah.
Speaker 3: So the interesting thing about search, One of the things
Speaker 3: that we've learned over the years is that search which
Speaker 3: is kind of everywhere, Like people start using search to
Speaker 3: build applications. It's not just about Initially when plastic search
Speaker 3: came out, it was about adding search to a website
Speaker 3: or adding it to a product search. That's right, So
Speaker 3: you know, you see what e commerce sites starting to
Speaker 3: integrate US. But people started building applications on top of US.
Speaker 3: They started building like matchmaking sites, or signal intelligence systems
Speaker 3: or fraud detection systems. It became sort of a platform
Speaker 3: for building things. But one of the most popular was
Speaker 3: people using US as a log analytics solution, right, using
Speaker 3: US to store and query logs. So rather than you know,
Speaker 3: do and doing grap They would use us as a solution,
Speaker 3: ship blogs to us and then run run fast queries
Speaker 3: on it. From there, people said, hey, if I'm going
Speaker 3: to use you for logs, can I use you for metrics?
Speaker 3: Can I use you for tracing? Can I use you
Speaker 3: for other things? Right, we started providing a complete observability platform.
Speaker 2: And then that's the whole thing. Is like part of
Speaker 2: the challenge of doing this is all the different sources.
Speaker 2: So the fact that you have a place to drop
Speaker 2: all those sources routinely, so it's already in one spot
Speaker 2: and it's.
Speaker 3: All in one one data story.
Speaker 2: Yeah, and a quick one that can do a joint
Speaker 2: between those different rest laces when you need to.
Speaker 3: Well, this is actually one of the one of the
Speaker 3: things I love to show about ESQL is being able
Speaker 3: to do a query across metrics and logs and traces
Speaker 3: and kind of blows people's minds, like, I'm going to
Speaker 3: do a query that joins data and creates this, show
Speaker 3: me all the all the hosts that have you know,
Speaker 3: ninety percent CPU and that have had a log in
Speaker 3: failure over the last hour, and that have had and
Speaker 3: you can combine different types of queries across different signal types,
Speaker 3: and it's kind of magical.
Speaker 2: And it's powerful.
Speaker 1: So I know that our listeners probably know more about
Speaker 1: Azure than they do about Elastic, and your audience probably
Speaker 1: knows more about Elastic than about Azure. Is there? Is
Speaker 1: that a fair statement?
Speaker 3: I think that's fair.
Speaker 1: Yeah, that's fair. Yeah, And so what can we tell
Speaker 1: these people about Azure if there if this is a
Speaker 1: new concept, do you know? I guess I have a
Speaker 1: customer right now that's all on prem and was picking
Speaker 1: my brain about moving to Azure, you know, and my
Speaker 1: response was, well, why aren't you there? Now?
Speaker 3: You know?
Speaker 1: It's like, because there's an inherent fear. This is my
Speaker 1: this is my word, it's the word of the week. Yeah,
Speaker 1: there's a fear by people that I think they don't
Speaker 1: trust moving their data somewhere else where they can't keep
Speaker 1: a watch on it. And my my response is, all right,
Speaker 1: so you have how many guys in your I T department? Two? Three? Okay?
Speaker 1: Do they all sleep at the same time? Yeah? Okay,
Speaker 1: So you know, in Azure, you've got hundreds probably of
Speaker 1: people all around the world that are watching over your
Speaker 1: data while you sleep, while you're awake, and who do
Speaker 1: you trust more Joe in It, who's a sleep eight
Speaker 1: hours of the day, or you know, the the Azure
Speaker 1: team that is watching over your fate at twenty four
Speaker 1: to seven. So that's my pitch. What do you what
Speaker 1: would you say to your your customers.
Speaker 3: About why they should move to Azure or yeah, yeah,
Speaker 3: if you're on prem. Uh, you know, every every company
Speaker 3: that's started on prem is starting to think about the cloud.
Speaker 3: They've had this conversation for ten fifteen years. At this point,
Speaker 3: you're kind of feeling.
Speaker 1: Like a late to the game. Yeah, but they're still
Speaker 1: out there obviously, Yeah, just having a conversation. Yeah.
Speaker 3: So but yeah, I think most customers should be thinking
Speaker 3: about it. If they aren't already, you're not going to
Speaker 3: get the efficiencies of doing it yourself. There was there
Speaker 3: was this movement a few years ago where people started
Speaker 3: going back to their own data centers because they thought
Speaker 3: they could do it cheaper. And you can't, Like, you can't.
Speaker 3: You don't get the efficiencies at the scale that the
Speaker 3: cloud providers get like Azure. You don't get the like
Speaker 3: the ability to buy bandwidth in huge amounts. If you're
Speaker 3: trying to buy bandwidth by yourself. You're trying to buy
Speaker 3: servers by yourself, you're gonna pay a lot more. Sure,
Speaker 3: so any any savings that you think you can get
Speaker 3: is just going to be wiped away by.
Speaker 1: Especially if you're paying by the transaction. That's right.
Speaker 2: Yeah, but yeah, we did this whole series on run
Speaker 2: Ass Radio where a whole bunch of folks list lifted
Speaker 2: and shifted their vms into the cloud. Then we're shocked
Speaker 2: when the bill was big, Yeah, not recognizing you've run
Speaker 2: those vms twenty four hours a day, like you're paying
Speaker 2: twenty four hours a day for them. Yeah, and then
Speaker 2: moving up to the platform pieces was more efficient, but
Speaker 2: then they haul them back and they're just ignoring a
Speaker 2: bunch of the numbers. You know, you pay for the
Speaker 2: hardware once, so you forget about advertising across the period
Speaker 2: much less the replacement costs, and you know, all those
Speaker 2: other pieces to go into it.
Speaker 1: And the difficulty of servicing them twenty four to seven.
Speaker 2: Yeah, and then what a twenty four seven knock actually costs?
Speaker 3: Yeah, it's expensive and it the minimum the minimum number
Speaker 3: of people you need to employ to do it properly
Speaker 3: is high. Yeah. Yeah, and you just can't get the
Speaker 3: scale like that, that's the biggest thing.
Speaker 2: Like, yeah, if you're big enough in this debate, and
Speaker 2: it is still a debate because now we get into
Speaker 2: elastic utilization. Right when I had to build out websites,
Speaker 2: we built for peak. You know, you had to have
Speaker 2: enough gear to handle the peak load and then it
Speaker 2: ran its sixty percent utilization if you were lucky and
Speaker 2: you don't deal with that with the cloud, your peak
Speaker 2: can move around and you you scale dynamically. You only
Speaker 2: pay for what you use.
Speaker 3: If you're a retailer and you're having to build for
Speaker 3: Black Friday or peak, that's yeah, it's crazy.
Speaker 1: Once you rather just moving on or let it do that,
Speaker 1: not moving.
Speaker 2: The knob moves by itself.
Speaker 1: I can see it. It's moving. Yeah, it's not.
Speaker 2: The same at all anymore. But yeah, it's been years
Speaker 2: since I've said, you know, if you haven't already moved
Speaker 2: the cloud, your CFO is looking at you're like, what
Speaker 2: are we doing?
Speaker 1: Well?
Speaker 3: I think yeah, I think that's a conversation most people
Speaker 3: had ten to fifteen years ago. Though, the conversation over
Speaker 3: the last couple of years is what's your AI strategy?
Speaker 1: Yeah?
Speaker 3: Right, Yeah, every every boardroom is asking their your exact team, like,
Speaker 3: what what's your ais ATEU? What are we doing to
Speaker 3: uh automate everything through AI? And that's a much harder
Speaker 3: question if you're not already on cloud. So if you,
Speaker 3: if you're, if you, if you skipped that way, you're
Speaker 3: already behind because the next thing is going to be like,
Speaker 3: you know, what are we doing to automate things with AI?
Speaker 3: What do we doing to automate sales? What are we
Speaker 3: doing to automate marketing? You know, are the engineers and
Speaker 3: our company using AI tools?
Speaker 2: Most these tools are dependent on cloud. They dependent on
Speaker 2: You need to have your data there already if you're
Speaker 2: going to take advantage of That's right.
Speaker 1: All right, good, we've beaten that horse. Is there anything
Speaker 1: that we haven't talked about that you would like to mention?
Speaker 3: Mostly just uh that you know, we love the fact
Speaker 3: that Azure has been such a great partner with us
Speaker 3: and integrating us into you know, in such a tight way,
Speaker 3: into the experience, uh for customers who want to use
Speaker 3: you know, the best vector database out there. We are
Speaker 3: integrated already into Azures. So it's a phenomenal experience. I've
Speaker 3: said that already, But like you're the number one.
Speaker 1: Yeah, yeah, I love.
Speaker 3: I love that we have such a tight partnership and
Speaker 3: it creates a great experience for our customers and I
Speaker 3: will keep make sure that people go out and try it.
Speaker 2: It's awesome.
Speaker 1: Well that sounds like the end of the show, So
Speaker 1: thanks very much, Ken, Yeah, thank you for the pleasure
Speaker 1: having you and talking to you. I learned a whole
Speaker 1: lot and I'm sure listeners to too, And we'll talk
Speaker 1: to you next time on dot net rock. Dot Net
Speaker 1: Rocks is brought to you by Franklin's Net and produced
Speaker 1: by Pop Studios, a full service audio, video and post
Speaker 1: production facility located physically in New London, Connecticut, and of
Speaker 1: course in the cloud online at pwop dot com. Visit
Speaker 1: our website at d O T N E t R
Speaker 1: O c k S dot com for RSS feeds, downloads,
Speaker 1: mobile apps, comments, and access to the full archives going
Speaker 1: back to show number one, recorded in September two thousand
Speaker 1: and two. And make sure you check out our sponsors.
Speaker 1: They keep us in business. Now go write some code,
Speaker 1: see you next time.
Speaker 2: You got Jamtle Vans