With Dmitry Krasnoukhov
Engineering Lead at SimplePractice
SimplePractice is a platform for health and wellness professionals. It allows their customers to manage all aspects of their business, such as scheduling appointments with clients, writing documentation for them, bill clients with credit cards and insurance, etc.
Engineering team: 20+ developers
Stack: Ruby on Rails, Ember.js, React
SimplePractice was looking for a platform that supports parallelism and ability to manually deploy a particular branch to a particular server with 100% configurable build/deploy pipeline.
They were also looking for ways to optimize and decrease their build time since long feedback loops are frustrating for the development team.
As a part of this quest for optimization and speed, they started using
parallel_tests Ruby gem for a year or so before they discovered Semaphore Boosters.
Their main challenge with the
parallel_tests gem they had was that it was tricky to set up efficient balancing with it. However, when they discovered Semaphore Boosters, one of the obvious benefits was that they didn’t have to worry about setting anything up and the parallel test balanced pretty neatly with zero configuration.
“I can definitely say that shorter build times lead to better time utilization, which means we can ship more stuff faster! Semaphore is a pretty intuitive platform that has all the features you might need (manual deploys!) which allows for easy parallel test workers setup, so one has fewer things to set up and maintain down the road.”
Semaphore Boosters decreased total build time by around 15-20% comparing to using
parallel_tests in "group by file size" mode. Since the development team has been already using parallel testing it was a very nice surprise to see that it can be done even more efficiently with Semaphore Boosters.