Network Load Balancer

Case Study

Role: UX Designer
Date: 2021

Flexible Network Load Balancer is an Oracle Cloud service that offers non-proxy Layer 4 load balancing with source and destination IP preservation. It is an addition to the existing Load Balancer service, which on its own uses Layer 7 and does not offer as much guaranteed low-latency, among other differences.

Network Load Balancer
Example of a create form for the Load Balancer backend
Details

Goal: Provide Oracle Cloud users more load balancing solutions and remain competitive with similar offerings by Azure, Amazon Web Services, and others. This effectively means the project must introduce new Layer-4 functionality into the existing Load Balancer service and revise previous workflows for a streamlined experience.

Challenges: 
This project introduced a lot of complexity into an already convoluted service, but a complete overhaul was not feasible due to tight launch dates. The main challenge was guiding the user through creation of a new load balancer and working with pre-established patterns to make improvements where possible.

Deliverables: stakeholder interviews, user journeys, visual design, prototyping, and testing

Jump to

1. Gathering Requirements

Designs started after the product model and API workflows had been approved. To kick off this project I met with the team and started the knowledge handoff and requirements briefings. Requirements included:  

  • Introduce Flexible Network Load Balancer as an alternative to Load Balancer
  • Allow users to select a reserved IP or create one, within the same load balancer workflow
  • Guide users through the listener, backend, and health check port synchronization required for a functional load balancer
  • Introduce Source and Destination IP Preservation, a means of upholding client session persistence

To make sure the product would be in line with what the market expected, I explored how  competitors handled the problem. Azure, Amazon Web Services, and Google Cloud's Computing Services offered a similar service. However no feature set, including Oracle's, was entirely alike. The competitor analysis also helped identify consistent terminology and option grouping.  

2. Condition Flow Chart & User Journey

The Load Balancer service is a very complex and multi-layered offering, consisting of the creation of separate resources that act as a whole. To drive the user journey, I collaborated with network architects and engineers to create a condition flow chart of what resources exist in what conditions. This helped identify the sequence of steps in the creation wizard.

The creation "wizard" is a guided setup where all necessary resources are created at once, separated by steps within a panel. After creation, the resources may be updated and manipulated separately and out of order. This posed a challenge when it came to making assumptions about resource states in the workflow. The user journey and final prototype needed to capture every configuration of the creation wizard, but also how to create the individual resources separately.

Condition flow chart
User journey of independent resource creation
User journeys of creating and updating a load balancer

3. Design Mockups & Prototype

With the user journey backbone complete and approved, I used Figma to create the designs. This step happened over the course of several months as each workflow (list, update, delete) was designed one at a time once the decisive workflow, creation, was approved. Each revision cycle consists of designs, presentation, feedback, revisions, and presentation until satisfactory, then work on the next workflow could commence. I also created diagrams and implemented tooltips to coach a user on options and expectations.

It was extremely important to highlight error paths in the designs, as a load balancer could be set up to fail. This is allowed in order to be fully flexible; guidance via tooltips and information blocks and at times, disabled states, was necessary to explain why actions were not recommended unless intentional.

  • Introduce Flexible Network Load Balancer as an alternative to Load Balancer
  • Allow users to select a reserved IP or create one, within the same load balancer workflow
  • Guide users through the listener, backend, and health check port synchronization required for a functional load balancer
  • Introduce Source and Destination IP Preservation, a means of upholding client session persistence

To make sure the product would be in line with what the market expected, I explored how  competitors handled the problem. Azure, Amazon Web Services, and Google Cloud's Computing Services offered a similar service. However no feature set, including Oracle's, was entirely alike. The competitor analysis also helped identify consistent terminology and option grouping.  

Selection of a regular or network load balancer.
Configuration details during the first step of load balancer creation.

Prototypes were created in Figma's prototyping mode, and fully linked up to simulate a working service. This included fully interactive sub menus, notifications, and even provisioning downtime. Interactions are also built in, such as the intended behavior for a panel to slide in from the right.

Bird's eye view of the screens that comprise the network load balancer.

4. Reviews, Results, & Takeaways

The review and revision process happened iteratively over the course of the entire project, as review meetings were held at least once a week. Once the mockups were finalized and approved by the project team, they had to be presented to the review board to pass into development. This is when the workflow and patterns are compared to the design guidelines for consistency across the console.

Once the design was approved, I shifted to a support role as the bulk of the work was passed to the developers. At this step I collaborated with the technical content writer to cement the final copy and provide any help the developers might need.  In tandem, I analysed success by creating a report in Adobe Analytics that uses tracking pixels to gauge visits and hits across different buttons and pages.

Takeaways

This project was immense and a lesson in perseverance, shortened here for the sake of both our attention spans. Though I sometimes felt forced into less than ideal design decisions due to time crunch and consistency with the existing service, I think the enhancements - even without the additional functionality - are a drastic improvement for the load balancer service. On top of introducing new functionality and staying competitive in the cloud infrastructure market, this project was personally worthwhile for the lesson in network architecture and the insight into improvements Load Balancer could use in the future.  To make sure the product would be in line with what the market expected, I explored how  competitors handled the problem. Azure, Amazon Web Services, and Google Cloud's Computing Services offered a similar service. However no feature set, including Oracle's, was entirely alike. The competitor analysis also helped identify consistent terminology and option grouping.