In this edition of our Haskell in Production series, we sit down with RELEX Solutions, a supply chain & retail planning platform. In this interview with Serokell, Lead Software Developers, Mats Rauhala and Martin Potier, shared with us their reasons for choosing Haskell for their project and their experience implementing it.
Could you give our readers a brief introduction to RELEX Solutions and your role there?
Martin: RELEX Solutions edits a fairly complete supply chain & retail planning platform. One part of this platform, called Plan, deals with retail supply chain optimization. Plan helps our customers decide how much goods to order, for which store and when. This enables our customer to reduce spoilage due to long stay in storage and to avoid shortages due to empty shelves, so that the product you want is always available on the shelf. Our team deals with automating the deployment tasks related to the lifecycle of Plan applications.
Where in your stack do you use Haskell?
Martin: Our software is used by other engineers to deploy and configure the RELEX Plan software which is sold as a SAAS for our customers and runs on our private cloud. The software bundles the configuration and executable and applies it to the servers in a declarative and immutable form.
How did you decide to choose Haskell for the project?
Martin: When I and Mats started at Relex, Haskell was already used for the current deployment tool for Plan at the time. From what I’ve gathered, it was initially created by a handful of technical customer people, to scratch an itch. An early version of the tool was a Ruby project, Go was considered, but ultimately the Haskell version stuck and grew. When the time came to build the current iteration of the project, Haskell still seemed like the most relevant choice for building a reliable web service.