Illumio: Designing and Prototyping for Success

Showing results

Product Overview

Illumio is a cloud security company with a web application that allows users to secure their data centers by writing whitelist rules. These rules allow traffic between workloads that have Illumio’s software installed to monitor traffic. The web app allows visual analysis and editing of the rules.

The First Need

When changing a rule, users want to verify that the rules are indeed valid for certain workloads. Users also informed us that they want to ensure that they didn’t accidentally write a duplicate or superfluous rule. They needed a feature to validate which entities can talk to which and to see what is covered by a particular port, workload, or IP address.

My Goals

To make it clear which rules have redundancies to eliminate clutter. My primary focuses were ease of use and the ability to resolve redundancies quickly, a few or many at a time.


Mockups

Design Synopsis

The user can get a count of how many rules are redundant. She can then view the rules in bulk and select which to resolve, which then takes her to a confirmation screen. Upon confirmation, the updated redundancy count is shown. This tool can be used as often as necessary, without forcing the user to resolve all redundancies in one sitting.

End Results + Prototype

After designing the feature, I prototyped it to get user feedback. Prototyping this feature also helped convey to the front end team exactly which interactions were needed. Also, since I programmed the prototype using React, the components were handoff-ready which saved the front end team a considerable amount of effort.

Prototyping this feature helped convey to the front end team exactly which interactions were needed. Also, since I programmed the prototype using React, the components were handoff-ready which saved the front end team a considerable amount of effort. This feature is currently being built into the product.

The Second Need

When writing rules, users oftentimes don’t understand the complexity behind what they are writing. Since rules allow traffic to communicate to a user’s workloads, it is crucial to ensure their understanding of how a rule affects their data center. I came up with a solution to address this issue.

My Goals

To make it explicit which and how many workloads are impacted when writing rules. My focus was on an intuitive visualization that would update in real time as the user makes changes. A bonus goal was to teach users best practices while writing rules.

Whiteboarding and Rules for Rule-Writing

Whiteboarding became a very important part of this design. There are many use cases to consider for the visualization and I also needed to document the possibilities as I discovered them.

A part of the document I managed to keep track of all use cases

Mockups

Design Synopsis

As the user makes changes to parts of the rule, she gets live feedback in a visualization that connects lines between selected groups of workloads. The details in the visualization show the user how a small change can have a large impact in a single rule.

Other Explorations

To give you a sense of my belief in iteration, here is a design concept that didn’t make the cut. I believe in failing fast and failing early in order to reach an ideal design as quickly as possible.

This concept labels the service on the green lines but research showed that this was unnecessary. It also explores using different sizes for groups with different numbers of workloads, which was overkill since the numbers sufficed. There is also a summary at the bottom that we found was too distracting to the user’s overall understanding. I also explored highlighting labels of the same value, which seemed useful.

End Results + Prototype

The prototype was crucial for this design because of all the interactions and possible scenarios. Demonstrating the concept using the prototype (which I built using JavaScript, D3, Java, and a MySQL database) made it clear what the intent of the tool is. The feature was very well received but has not yet been implemented.

Leave a Reply