BA Insight: A perspective on its best-of-breed approach
When I’m asked what makes BA Insight special, I talk about our talented and dedicated employees, our customer-centric culture, our products’ capabilities and quality, our broad customer base…and, of course, our unique approach to the market.
We’re calling this a best-of-breed approach. Our products are designed to work with different platforms to deliver complete applications using the best components for the job. In this blog, I’ll contrast this with other approaches and explain how we’ve evolved our strategy and why we’ve doubled down on it.
For any hard and important problem, there are multiple approaches with pros and cons to each. That’s certainly the case with enterprise search: it’s a “wicked problem” (quoting my friend and fellow search guru Martin White) that you can approach in different ways. This came up in a debate about “quick fix versus long term strategy in search” that I recently had with a group of very sharp MVPs. We fought a bit, but at the end we all agreed that there is no single right answer, because different organizations have different needs and are at different places in their evolution.
There are three main types of approaches used in the search systems on the market:
- Embedded/Mega-platform search systems, where search is one element of a much bigger suite or platform. Examples include SharePoint Search, Google’s Cloud Search, and IBM Watson.
- Monolithic/Standalone systems, which focus only on search but put all the capabilities into a single package and attempt to have everything you need from a single vendor. Examples include MicroFocus IDOL, Coveo, and Attivio.
- Best-of-Breed/open systems, which publish independent components that can be combined in various configurations, sometimes with components from multiple vendors. This is the approach of open source vendors such as Lucidworks and Elastic, and is also BA Insight’s approach.
I’m not a black-and-white thinker; there is a spectrum here and all search systems are arguably both open and integrated to some degree. There’s even some cross-over between categories. For example, you can use an embedded search system as a standalone search system (with SharePoint Search as arguably the most capable of the class), and standalone systems have some capability to tap into open APIs. But even with these gray areas, it’s clear that these are fundamentally different approaches, each with pros and cons.
Advantages and disadvantages
- Embedded search systems have the advantage of being “pre-integrated” with many of the other elements of their mega-platform. These can be a good choice if most of your activity is within that environment. But they are rarely complete and need to have additional add-ons to provide a strong search solution. Some of these (such as Google Cloud Search) don’t even provide a way to index content outside of their platforms!
- Monolithic search systems have the advantage of being self-contained. You buy and deploy the whole system and can reasonably expect the capabilities that are included to work consistently and be administered as one piece. The downside of a monolithic system is its rigidity. You must deploy the whole thing, replacing whatever you currently have, even if you only need a small part of it. You are limited in the ways you can combine modules, and are strongly encouraged to stick to the built-in capabilities.
- Best-of-breed search systems provide flexibility. You can select the best components for the job at hand and add or change as you go. “Best” may be the most capable, the least expensive, or the most convenient (such as the one you already have). You may change out modules without replacing the whole system, and you may even combine modules in ways other than what the original programmer intended (which is a hallmark of open platforms). The disadvantage of best-of-breed systems is complexity. There isn’t a cookie cutter “one size fits all” solution, so you need to think about your situation and pick the elements that you actually need. If you choose to have components that are from multiple different vendors or hosted across multiple clouds, then there are more moving parts involved.
Why we use a best-of-breed approach
BA Insight actually started out producing a search appliance as our first product, firmly on the monolithic track. However, we switched to a component-based approach about 9 years ago and evolved it into our current best-of-breed approach over time. We support multiple different search indexes, multiple platforms for AI/cognitive services, and have open, pluggable pipelines for content processing, query processing, and result processing.
For our development team, our approach has some pros and cons:
- We don’t make a search index, so we can focus our development on connectivity, content processing, and UX without worrying about scale-out, sizing, and index elasticity. On the other hand, we don’t control the code for indexing, so sometimes we have a bit more work to do when it comes to finding and resolving issues.
- We can move very quickly and integrate in some amazing components and services, as we’re doing with the Microsoft and Google cognitive services. We don’t have to develop every component ourselves, and we get a bonus: as these components and services get better, our solutions get better too. However, we do have to understand how to integrate these services and cover a wider range of configurations in order to ensure that our customers get high quality solutions.
By their very nature, search solutions are systems-of-systems. To deliver any value at all, you have to connect to some other system, crawl it, and provide a way to click through back into that system. As you get more sophisticated, there are more systems involved and more moving pieces with any of the different approaches. Our best-of-breed approach just takes that further and opens up the pieces to be combined in interesting and powerful ways.
Benefits for our customers
Ultimately, what has kept us on the best-of-breed path is the advantages that it gives our customers, including:
- Better capabilities (since we and our customers can pick the best capabilities in any category)
- Ability to start small and add as you go, without ‘forklift upgrades’
- Ability to implement capabilities needed in the order needed improving time to value
- Ability to get features in different modules faster without costly upgrades of the whole system
Our approach isn’t best for every situation. If you have a simple, standard departmental search need, an appliance or monolithic search system can be quicker to get running. However, if you have a more sophisticated scenario, then the equation changes in favor of a more flexible approach.
We like to solve hard problems, and the best-of-breed approach fits this very well. For the more demanding search problems, we have found our approach has a shorter implementation time and a lower implementation cost, as well as having better capabilities and a lot more flexibility.
We’ve built out our best-of-breed approach in several areas, most notably with integration of multiple cognitive services platforms and multiple search engines. I’ll be blogging shortly on each of these areas to show you how it all works and what it means to our customers.