Particle Reduces Human Error in Deployments

Harness was the right out-of the box solution to help Particle deploy software more effectively.

Industry
SaaS
IT
Locations
Americas
Ready to get started?
Try Harness for free today.

About Particle

Particle provides an integrated IoT Platform-as-a-Service that helps businesses connect, manage, and deploy software applications to connected devices, from edge to cloud and back. Particle powers IoT products for hundreds of businesses – from fast-growing startups to Fortune 100 companies – with more than 240,000 developers for IoT product development.

Particle’s expertise goes beyond world-class technology, enabling next-generation business intelligence, insights, and expert customer support to ensure IoT projects succeed. 

Challenges: Homegrown Continuous Delivery Limitations

Several years before Debbie Gillespie, Engineering Manager, took over Particle’s infrastructure and site reliability engineering team, Particle lacked a consistent way to deploy software. Particle spun up a Slack chatbot tool that allowed developers to deploy to various environments. This was crucial for the growth of the small startup; however, fast forward to present day, and the custom ChatOps tool was no longer scaling. 

In a single production deployment, a developer might have to type out five different commands to deploy a single service, each requiring a specific order to be successful. All this was required to complete a single production deployment. This left the door open to human error. 

Once a command was executed, there was a manual process to validate success or failure. The only way to see if a change took place was to open up a kubectl – the Kubernetes command-line tool – and sift through hundreds of lines to locate an update. This lack of feedback from the tool frustrated developers and created vulnerabilities for the business. 

For instance, when attempting to roll back a failed deployment, there was no indication of whether the rollback was successful or not. In one instance, a developer tried rolling back two to three times, but they couldn’t tell if the rollback had worked. They instead had to go manually redeploy an old artifact. 

Gillespie wanted to provide Particle’s developers with a better CI/CD experience, but her team was relatively small, and they didn’t have the bandwidth to update the existing tool to meet their needs. She estimated it would have taken two engineers eight months to update their existing solution. There was no way that upper management would approve the project given the resource constraints. 

“We are not a CI/CD company. CI/CD is not paramount to what we do for our customers, it’s what we use to deliver value to our customers,”  Gillespie said. “I wanted an out-of-the-box solution that would provide a great experience for our developers.” 

Solutions: Harness Provides the Best CD Out-of-the-Box Experience

Gillespie chose Harness to conduct Particle’s software deployments. Harness handles getting an image out with the correct sequencing, so developers don’t have to worry about manually deploying artifacts to the right order of stages. 

The Harness UI lets developers know exactly what’s happening at any given moment with their deployments. If something fails, Harness notifies the user what went wrong, where it went wrong, and gives the user the option to immediately roll back if needed. This visibility extends to managers, who no longer have to search through Slack to find deployment records. Instead, Harness Audit Trails has everything in one place.

Harness was the right out-of the box solution to help Particle deploy software more effectively.

“Harness gives us a top-class deployment solution that we know will be continually invested and innovated on,” Gillespie said.

Explore More Customer Stories

NAB reduces build failures by 67% with Harness

Kajabi reduced their p90 build time by half while also reducing costs by half using Harness CI.

Continuous Integration

Qrvey reduced build times by 8x with Harness CI

Continuous Integration
Continuous Delivery & GitOps