Fairwinds' Kubernetes Audit and Improve was able to help Framebridge fix problems with their Kubernetes workloads.
For Framebridge, it all started with a vacation. Founder Susan Tynan took a trip with her sister through the National Park System and came home with four posters, suitable for framing. They were not, however, suitable for her taste or budget at the time. She grudgingly paid $1,600 for the set of four clunky metal frames and the idea for Framebridge was born in 2014.
Fast forward to 2019 and Framebridge has revolutionized custom framing. The company has expanded into a headquarters in Washington DC and operates a state-of-the-art manufacturing facility in Richmond, Kentucky. It has created a new vision for the framing experience that frustrated Tynan by offering high-quality, affordable, and fast custom framing direct to consumer through its website and app.
The company is now focused on expansion, customer service improvement, and continuing to make quality custom framing easier and more accessible. It has even migrated from its eCommerce-only roots to open two retail locations, one in DC and one in Bethesda, MD. Its consumer targets: One-third of Framebridge customers are custom framing for the very first time, and 50% of the company’s customers are millennials. Framebridge customers have indicated that 65% of the items they framed with Framebridge are things they would not have taken to a traditional custom framer.
With this kind of growth, engineering and operations faced new challenges...
The goal of Framebridge is customized framing. And as the company started to grow and accommodate spikes from Christmas selling season, the engineering team was battling with constrained resources and a deployment process that was almost as varied as its product offerings. This resulted in two problems.
One: The result of these bespoke deployment processes was a static workload when flexibility was necessary. This manifested itself in the business in occasional node failure that sometimes led to a scaling event. When applications were needed, they could not be relied on. When web traffic spiked, the nodes would sometimes fail, stressing an already stressed engineering team. Developers were needed to test and create new products. Problems in the operating systems were not enabling that empowerment.
Two: Fluctuations in scale and traffic. Bottom line, Framebridge was focused on growth. That meant more products, more price points, more customers, more shipping, and more pressure on engineers. Framebridge engineers were also tasked with perhaps the ultimate challenge: Retail locations. In addition to scaling the core eCommerce business, it was building POS systems and applications for two retail locations.
Framebridge had installed container software and Kubernetes orchestration to help servers handle workload spikes. However, when the Fairwinds engagement started in Summer 2018, their Kubernetes environment was not working reliably. A wholesale change was not called for. However, the Fairwinds team identified two main solutions to deliver:
One: Built out separate infrastructures and clusters for workflow and products. In this way the team could separate consumer traffic from workflow deployments, which then freed engineering resources to concentrate on Framebridge’s growth.
Two: Helped to create an internal POS system for both eCommerce orders and for the brick-and-mortar stores under construction. This has improved order fulfilment and created faster time to delivery for consumers.
The Fairwinds and Framebridge teams achieved the following improvements:
Better Infrastructure Monitoring: Because of the server loads and unreliable node firing, Framebridge’s IOPS was being throttled. This happens when the instance operating system merges sequential I/Os and counts them in 1,024 KiB-sized units. If the workload uses small or random I/Os, it experiences a lower throughput. That caused Framebridge to hit the volume's IOPS limit sooner than expected. Without the monitoring, performance issues would have ensued. A change in code helped alleviate this problem.
Focused Engineering Team: A week after the initial Fairwinds engagement the engineering team was testing new products, changing applications, and creating new products.
Pipeline Creation: Continuous Integration and Deployment in conjunction with the Fairwinds team helped in-house engineers prepare for and execute the brick-and-mortar openings.
Continued Collaboration: The Fairwinds team continues to respond to needs for testing and support with Framebridge.
"We have had a seamless engagement with Fairwinds. They have helped us transform from five-year old technology to cutting edge performance gaining safety and developer productivity in the process."
Brock Wilcox, VP Engineering