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