When I joined Channable, Haskell was thus already in use for these two projects. Since that project turned out to be very successful (and is still in use today – being continually developed since then), Haskell was also chosen for another greenfield project that was started shortly after, our API gateway. Given that we also already had several people enthusiastic about functional programming, Haskell was the natural choice. A language that would compile to fast code while providing safety rails through its strong type system and still being high productivity. We needed a language that would complement Python well. Haskell was first introduced as an experiment rewriting a component that was hitting the limits of what was possible in Python and the existing architecture (the full story is on our tech blog). Last but not least, there are a few smaller utilities that we have open-sourced, such as vaultenv (fetching secrets from Hashicorp Vault and providing them via environment variables to a program) and icepeak (a JSON document store with support for push notifications via websockets). so that the backend services don’t have to concern themselves with that. The third major part of our infrastructure using Haskell is an API gateway that handles routing (to our various backend services) and provides a common implementation for authentication, authorization, rate-limiting, etc. The biggest one by far is our data processing system, which powers the import from our customers, manages the data storage, and applies the user-defined rules to the data before streaming it to other components in our backend which handle the actual connections to the third-party platforms.Īnother big project is our job-scheduling system for running a set of jobs with dependencies between them in the right order on a cluster of worker machines (think of “downloading data from the client system” or “exporting products to a third-party system”). We use Haskell for a variety of backend services.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |