Do you trust this [network] computer

How to set AI and Machine Learning up for Success in Enterprise Networks

A documentary titled “Do You Trust This Computer?” was recently released, and it is worth the hour and 20 min investment to watch if you haven’t seen it yet. It discusses the current and future state of artificial intelligence, and the risks it presents to our society.

At Indeni we are working towards our vision of a self-driving network and wanted to share a few of our takeaways from this film. By following these steps we can enable advancing technologies like machine learning and AI to make a positive impact on our networks and wreak less havoc in the future.

#1. Create Documentation. In the film, IBM watson (a question answering computer system) was shown winning Jeopardy. Watson prepared for the challenge by reading the entire Wikipedia website. Say there is a Watson for networking or security operations, what is the equivalent knowledge source that he or she would need to read to be effective? A network engineer could read Cisco, CheckPoint or Radware documentation, PCI, HIPAA or FISMA compliance guidelines, in addition to internal runbooks, and even after that, they would be partially up to speed.

Similar to the approach Wikipedia has taken to documenting common knowledge to the most obscure incidents, we must do the same and document our networks. If more professionals contributed their knowledge, and others acted as peer reviewers, we could collectively expand our knowledge set, improve the quality of our data, and pave the way for machines to follow in our footsteps.

#2. Define Rules and Boundaries. To get a machine to do something autonomously, it must be programmed. Therefore, someone or a group of people have to set boundaries for that machine:

  • What metrics to analyze?
  • How to know data captured is important? Urgent? Normal?
  • After you’ve analyzed the data, what do you do next?

Before we can automate anything, including a robot or a network, we need to turn our experience into code and teach it the right thing to do. The growing adoption of virtualization and cloud platforms, paired with the continued use of legacy firewall, routing and switch technology, creates a complex web of statuses and dependencies for a person or machine to navigate. To get started, it is important for us to document the basic steps of how to perform:

  • Routine Maintenance
  • Gain Network Visibility
  • Ensure Availability
  • Implement Security best practices
  • Demonstrate Compliance

Once the basics are in place, we can add in edge cases and anomalies and even learn from peer networks before automating actions at large.

#3. Pair Humans & Machines to Ensure Accuracy. In the film, a machine named “Baxter” was placed on an assembly line. The company decided to replace humans with Baxter since it cost less than 3 human workers and “they never get tired, they never take breaks.” In other words, Baxter is more productive and generated less errors that his human counterparts. While this may be frightening, there is hope. Did you notice that the factory still included humans? While the human does not perform the same tasks as the machine, they are there to oversee the process and intervene when $&@! hits the fan (because it always does). This pairing of humans and machines will be the same relationship in a self-operating network. A human will always be needed to intervene when an incident escalates beyond the machines experience, or programmed capabilities to control.

#4. Earn Our Trust. The first step to trusting a person or a machine is transparency. It was alarming to hear from one of the interviewees that he didn’t know how their robot learned to recognize faces. Visibility into the code and ensuring ethical boundaries are programmed in place can avoid many “surprises” like this from happening. Which circles back to the importance of maintaining up to date documentation.

What are your takeaways from this film? What steps have you taken steps to program your network? Learn how Indeni is automating routine tasks with an open development approach here.

Start the discussion at