Vizlib provides solutions to expand the analytics capabilities of data-driven organizations. With offices across the US and Europe, the company serves over 1000 enterprise customers.
The company’s product has two sides: visual extensions for the Qlik ecosystem, and a cloud-native direct query BI solution powered by Astrato.
This helps boost time-to-market, data storytelling, and the ability to gather meaningful insights.
“We had a good mix of people who were experienced with microservices,” says Tadeusz Makuch, an engineering team lead at Vizlib. “As the project was coming out from an experimental phase, we were looking for ways to manage our deployments.”
However, his team wanted to avoid the hurdles that come with home-brewed solutions.
“We did not want to lock ourselves into a custom-built solution,” Tadeusz shares. “It would end up either lacking features, or it would need active management on our part to introduce new ones.”
For Tadeusz and his team, it was critical that the feature management solution they chose would allow for a manual, internally written process, connected directly to Vizlib’s DevOps pipeline.
“Unleash was a quick winner,” says Tadeusz. “We found it to be a solution that lets us get right to work with a snap of our fingers. It also gave us a clear path on how we could extend our use of Unleash moving forward. It was an easy decision.”
Tadeusz also appreciated the flexibility and wide range of Unleash’s features that were available right out of the box.
“I was impressed with the possibilities we saw with Unleash,” says Tadeusz. “We could not only enable or hide features whenever we needed to, but really get the most out of feature toggles. This was especially important for things like a/b testing and gradual deployments.”
Vizlib CTO of Development Konrad Mattheis was also impressed with Unleash’s flexibility.
“First, Unleash supported all of our stack, such as with JS, Go, and NextJS,’ says Konrad. “I also liked that Unleash could be both SAAS and open source on premise. Even without internet support, we could develop locally right out of the box using just a local Docker container.”
Tadeusz and his team had familiarized themselves with Unleash’s capabilities, then built a plan on how to gradually implement it into Vizlib’s product.
“Setting up Unleash was quite smooth,” Tadeusz shares. “First we introduced feature flags for our front end,which allowed us to enhance our release and experimentation processes. With a fairly small amount of code, we were able to introduce visible changes for our beta users.”
“Today we experiment much less,” Tadeusz says. “Instead, feature flags have been completely integrated into our release process.”
The company now rolls out features in a different cadence than its biweekly code deployments.
“We deploy code and enable it internally so we can simultaneously give our QA team time to polish the feature and give our sales team an extra edge,” Tadeusz says. “When we’re ready to release, it’s just a simple update to our constraints”
This approach allows Tadeusz and his team to limit feature flags to certain tenants so that they don’t interfere with each other’s work.
“Our sales team can basically do real-life market research on how well we meet our customer’s needs,” says Tadeusz. “We can also push unfinished features to a common code base without interfering with the whole application. We just wait to enable the feature.”
Unleash’s new change request feature was particularly important to Tadeusz and his team.
“Our team is growing, and we had already used Unleash to create a central authority, or one team responsible for reviewing all internal requests,” Tadeusz says. “With change requests, we’re able to standardize this process more. Unleash is now a central hub for our release process.”
Though difficult to quantify, using Unleash has cut down on the amount of resources Vizlib spends on coding.
“I would quantify this with the quality we now deliver,” says Tadeusz. “We can bring features faster to the sales process, and advance features available to our sales tenants well before the final release. We can show major features to our prospects a lot more quickly, and better adjust to their needs.”
Unleash has also helped Vizlib meet ISO 27001 certification requirements.
“While working on getting certified with ISO 27001, we’ve noticed that Unleash would nicely fit into keeping our process well managed,” says Tadeusz. “We’re focused on making Unleash one of our central tools for reporting and auditing our releases.”
This is because Unleash’s logging system was able to provide a reliable–and auditable–tool for any changes during production.
“Especially with change requests, we’re able to track what changes happened, when, and for what reason,” says Tadeusz. “On our biweekly go/no-go meetings, Unleash is already one of the screens we review pre-release. As we move forward to a more automated CI/CD pipeline, we plan to keep Unleash as a verification step for our releases.”
“With Unleash, we could have a proper, clean process for delivering features in a defined, measurable way that’s very auditable,” says Konrad. “I’m especially pleased with the charts.”
Overall, Vizlib has found their experience with Unleash to be, for the most part, seamless.
“As a developer, we expect code to work, and from the beginning, this is exactly what we got,” says Tadeusz. “We added frontend libraries, and it worked. Then with moving from a standalone: That just worked too.”
Konrad agrees. “It all just works. This is exactly what I expect from a solution: Simple and reliable.”
Tadeusz’s advice to companies who are new to feature flags
- Remember that feature flags are a tool, not a goal.
- Think about what you can do with feature flags, not just whether you have them.
- Plan for full adoption of feature flags from the start, for both your front and back end.
- Separate your features from code releases. It gives you more options and control.