Service Level Deploys or: How we Learned to Stop Worrying and Love Artifacts
Co-Authored by and
2020 was a fantastic year of growth for Clear Street, seeing a rough doubling of the engineering team. With this growth came an increased demand to get code deployed into production faster.
Being in the business of holding custody of customer assets and being responsible for the financial well-being of these assets, we place an extreme emphasis on the stability of our software engineering and release processes. To this end, Clear Street works in a monorepo — all code existing within one Git repository — to ensure that everyone works on the same version of the code. We also did something we called a “mono-deploy”: our once-a-week push to production after automation completed all testing in our various QA environments. By the end of 2020, this system was breaking down and needed a rethink.
As teams grew, product delivery deadlines started to shift between them. Different engineering teams wanted to use different versions of the code in the repository. APIs were making and breaking compatibility. Some needed long QA cycles; some didn’t. Teams that maintained deploys now had extra work.
Through all this, we came up with a solution that transformed how we do work at Clear Street, empowering our engineers to take control of their releases while also maintaining our high standard of safety; we call it SLeD.
Keep reading on our blog: