Working in the general field of AI is fascinating and rewarding, but it can also be frustrating. One problem is just how fuzzy even the definition of the field can be. Judging by the various excitable press releases, AI can be anything from a slight improvement in cellphone cameras, to superhuman intelligences bent on enslaving or even eradicating humanity, either due to evil motives or sheer indifference.
AI and IT, a Natural Fit?
Even within the somewhat narrower field of enterprise software, there is no real consensus on what AI is (or should be) used for. Many service desk vendors, for instance, have focused on building systems that attempt to use machine learning to categorize incident tickets automatically based on their content.
On the surface of it, this seems reasonable enough. Anyone who has spent time anywhere near a service desk knows that much of the volume of requests comes from a relatively small proportion of issues that recur frequently, with the canonical example being things like requests for password resets. This is why companies have spent time and effort building out their self-service capabilities, giving users the capability to self-serve wherever possible. This reserves expensive, in-demand human operators for tasks that really do require their expert input.
The more data you have, the better. This goes without saying, as otherwise you might be extrapolating without enough depth to ensure that your results are valid outside your specific data set. If you take Monday morning as your baseline, Saturday night is going to look really weird.
Adding Natural Language Processing seems like a logical next step to capturing people who bypassed the self-service option and raised a ticket anyway. The response can offer assistance directly: “It looks like you’re having trouble with logging in; click here to reset your password.”
The problem is, humans are messy and don’t always enter their requests in a nicely machine-compatible way. Previously, designers of enterprise software tried to guide users by giving them more and more fields in which they could describe and specify their problem exhaustively. Even better was to make as many of these fields as possible into drop-downs, restricting the possible inputs that users could specify. Right now, we are on the opposite swing of the pendulum, and the goal is free-form text input into something like a chat interface, hence the recent interest in technologies such as chatbots.
What does the AI do, though, if the request is “the application is broken,” “the internet is broken,” or that perennial, possibly mythical favorite, “my cup holder is broken?”
Of course AI is getting better all the time, but it’s not quite there yet — and it may well be that forcing AI to deal with queries like these is precisely what will push it over the edge into the sorts of murderous rampages that made HAL-9000 or SkyNet (in)famous. Companies are attempting to grapple with one of the hardest problems out there, characterized by messy and inconsistent data sets. The results tend to be disappointing — algorithms can rapidly deal with issues that recur frequently in their training data sets, but fall flat when faced with problems that are experienced more rarely. This also throws off predictions about AI, as everyone agrees that really amazing results are still some way off — soon, but not quite there yet.
What Can AI Do Today?
Other data sets out there are much more structured and well-suited to algorithmic analysis. If you want to analyze data with algorithms, there are basically two things that you’re looking for: massive quantity, and good categorization.
The more data you have, the better. This goes without saying, as otherwise you might be extrapolating without enough depth to ensure that your results are valid outside your specific data set. If you take Monday morning as your baseline, Saturday night is going to look really weird.
That does not mean that you can simply take your past experience and map it out forwards. A little over a century ago, people were really concerned about horse manure. With 100,000 horses in London in 1900, and the expectation of more and more horses being needed as the population exploded — from 40k people per square mile in 1800 to 90k in 1900 — one writer estimated that within 50 years every street would be buried under nine feet of manure.
Obviously that did not happen, because extrapolating from past experience, while useful, is not sufficient. You also need to be able to catch new issues, such as horseless carriages, that have not been experienced before.
This is where the second factor comes in. Metadata seem like an abstract issue, but for those of us old enough to remember music before streaming, it’s worth thinking back to what it was like to try to maintain some sort of unified view of your music library, without ending up with seventeen copies of Track 01, by that perennial favorite, Unknown Artist. Now try doing that with ten other people, all of whom have different ideas for what should go in the Artist field as opposed to the Album Artist field, let alone the dumpster fire that the Genre field immediately devolved into, and you have an idea for how hard it is to categorize data after the fact.
In contrast, machine-generated data come pre-categorized, and can then be further enriched by cross-referencing other machine-generated data sources.
Monitoring Versus Observability
The world of service assurance is in the middle of one of those secular transitions that lately seem to occur every few years, with the move from monitoring to observability. Monitoring was all about laboriously going out to each system and device to gather data about whether it was even operating. The difficulty was in getting enough information about the environment.
Observability, in contrast, starts from a viewpoint that data is abundant, and even over-abundant. The requirement switches from “gathering data” to “sifting value from the constant stream of data.” AI, machine learning, and all the other techniques that fall under that general umbrella are very well suited to this new world of observability, simply because of the characteristics of the data being analysed. Instead of having to work very hard to make sense of messy human communication, algorithms can quickly make sense of data describing availability and performance of modern IT infrastructure.
If you’re interested, I spoke about these topics at some length on the Software Defined Interviews podcast with Michael Coté. If you’d rather read about how AI has the potential to make ITOps better, you can download the Gartner report on AIOps, or AI for IT Operations.
Bottom line: Don’t assume that just because AI does not solve one problem, it simply does not work. Every tool is more suited to certain categories of problem than to others. Data from monitoring (or observing) infrastructure and applications are particularly well suited to the sorts of pattern-matching machine-learning techniques that we have access to today. Even if we assume that AI that is capable of truly understanding what people mean (as opposed to what they say) is only five years out, that’s still five years of pain that you can avoid with techniques that are available today. That’s worth taking a look at, right?