Subsplash Shares the DevOps Best Practices You Need to Know

Thanks to its calculated approach to DevOps, the team at Subsplash is able to move at high velocity. 

Written by Stephen Ostrowski
Published on Mar. 16, 2020
Subsplash Shares the DevOps Best Practices You Need to Know
Brand Studio Logo
Subsplash Seattle
subsplash

A company’s growth doesn’t occur in a vacuum. As it evolves, so too do the processes needed to carry out its mission. Ben Johnson, software development engineer at Subsplash, can attest to that much. 

“As our organization transitioned from a small team of devs to a larger engineering group, difficulties in collaboration, consistency and testing started to arise,” said Johnson.

 

How did the engineering team at the Interbay-located startup, creator of mobile apps, websites and other engagement platforms and tools for churches, adapt? According to Johnson, the team incorporated containers into its DevOps strategy, catalyzing quick software development and deployment. With thousands of clients using Subsplash’s tech, preserving such high velocity is crucial.

“We balance the need for best practices and testing new methods through a unified goal of maintaining high quality and velocity, both individually and as a group,”  said Johnson.

Ben Johnson
Software Development Engineer • Subsplash

What DevOps best practices have been most impactful for your team? 

Our development and operations team rely on various DevOps best practices, such as Agile methodologies, continuous integration, continuous testing, integrated change management and continuous delivery. A particular area that stands out as most impactful has been our implementation of containers, which has helped improve integration testing and enhance our ability to quickly develop and deploy software to production.

We believe all best practices offer room for improvement.” 

 

How have they evolved over time?

As our organization transitioned from a small team of devs to a larger engineering group, difficulties in collaboration, consistency and testing started to arise. We first started using containers to standardize our development environment and implement integration tests for our microservices. As the number of microservices in our environment grew, it was extremely helpful to abstract away the complexities of a microservice's dependencies — database, cloud services and other microservices — and remove the pain of setting up a development environment to run everything locally. 

Containers also provided a consistent, repeatable and scalable method for writing tests that communicate with real dependencies. Tests could now be run both locally and in our CI pipelines. The final product is that developers are now able to focus more on the task at hand: delivering quality software through test-driven development and a prompt feedback loop.

 

How does your team balance a need to incorporate best practices into their work with the desire to try and test new methodologies, tools or strategies? 

We incorporate best practices into our work in order to realize the efficiency and process gains from industry wisdom. This unifies our development teams, improves efficiency through standardization and allows metrics in code quality and speed to be attained. We promote these best practices through documentation and communication with all teams. In addition, best practices related to coding style, linting and testing are enforced through our CI pipeline. 

We believe all best practices offer room for improvement. As such, we encourage our teams to innovate, research and explore new methods and tools. We balance the need for best practices and testing new methods through a unified goal of maintaining high quality and velocity, both individually and as a group. 

We encourage our teams to innovate, research and explore new methods and tools.”

 

When the desire to test a new tool, strategy or methodologies arises, we first begin by defining a goal and success criteria. We then proceed to experiment with, and implement, the new method or tool into our work, monitor adoption rate and adjust as needed. We evaluate the success of adoption across the department. Full adoption attainment might be curtailed when we become accustomed to a method of doing something and self-change becomes a high level of effort. 

In order to prevent friction points, we document and communicate the benefits of a new method, as well as solicit feedback from our peers. However, once adoption is at a majority, we update our policies and CI pipeline enforcements to ensure that a full adoption is received and maximum benefit is attained. It has been our experience that once everyone has had a chance to try out the new methods and experience the benefits, most people come around and are won over.

Responses have been edited for length and clarity. Images via listed companies.

Hiring Now
System1
AdTech • Big Data • Digital Media • Marketing Tech