Going to AWS re:Invent 2024?
e-Commerce, POS Software
Before adopting Spacelift, Lightspeed managed its Terraform code using an in-house solution, which helped the team plan and apply changes. But when their needs outgrew its capabilities, they began to look elsewhere.
Alex Jurkiewicz, senior site reliability engineer at Lightspeed, spoke to us about how Spacelift has helped his team expand their IaC capabilities and work better together across global time zones.
Lightspeed’s simple tool didn’t give them much control or visibility regarding changes. Developers made changes directly on their local machines, and the tool logged those changes, with no way of standardizing access or changes to infrastructure.
Neither did it provide the more advanced functionality required either — things like privilege levels for accounts accessing our cloud infrastructure and the ability to audit or do security scans of Terraform code before changes were made. It was time to look for something that better suited Lightspeed’s needs.
“Spacelift was recommended to me in a Slack group full of SREs much like myself, and I included it in a big list we compiled of potential Terraform continuous delivery providers,” explains Alex Jurkiewicz, senior site reliability engineer at Lightspeed. Having gone through the list, comparing and contrasting them, and deploying a few stacks with each to see how they worked, Alex was impressed with Spacelift.
“It felt much more coherent than the competition; it was well designed and it felt like it would easily fit into our existing workflows. I like that it isn’t designed to be overly opinionated about how you should do things; it’s extremely flexible.” With many of the technologies Spacelift uses around its policies, you can really do whatever you want to do, and that was a big selling point for Lightspeed.
The company has found it really great to use. “Onboarding developers and less infrastructure-oriented technical staff was easy. Whether or not they use Terraform heavily in their day-to-day job, they’re comfortable and productive using Spacelift,” he says.
The company uses it in two main ways: first, for traditional Terraform tasks like deploying Infrastructure-as-Code, deploying Kubernetes clusters, and deploying Amazon resources in general. “That’s working really well. It’s a big step up from our older internal platform,” Alex reveals.
The other way Lightspeed uses Spacelift is as a continuous delivery platform for applications. It works extremely well for deploying production changes to application code. Lightspeed deploys its serverless applications directly with Spacelift too, running AWS DynamoDB and AppSync.
“The Spacelift team has been really supportive. They’ve addressed any issues we’ve had quickly, which is exactly what you want from such a critical technology partner.”
One of the principal advantages of Spacelift is the ability it has given Lightspeed to deploy whenever they wish. “We have this great pipeline where we commit code and it comes out the other end as a deployment into production. We don’t have to worry about fiddly, error-prone, manual deployment processes, which used to plague us like they plague many companies,” Alex points out.
Being able to move beyond that and standardize on Spacelift, which really fits into any workflow they want has had a massively positive effect on Lightspeed’s error rate and the lead time for changes.
Beyond that, it’s been fantastic to be able to provide standards for infrastructure across the whole company division. “We can apply policies like ‘every Amazon resource must include one of these tags’. If anyone tries to submit a pull request which doesn’t have a tagged resource there’ll be an error and they can just go and fix that themselves,” Alex explains. It is automating a considerable amount of manual work and getting rid of a lot of the toil involved in managing infrastructure systems.
The Lightspeed team includes developers distributed around the world across American, Australian, and European time zones. Spacelift has given them a lot of additional trust in each other. “Because we have guardrails and defined workflows set up, it allows us to have shared visibility into what we’re all doing,” concludes Alex.