Building an Effective DevOps Culture

Danny Zalkind
skai engineering blog
4 min readFeb 18, 2021

For a while now, nearly all software companies have been embracing DevOps culture. Given the benefit of faster release cycles and increased quality, you can’t really blame them for pursuing that path.

But wait, DevOps purists have been constantly telling us that DevOps is a culture and not a team. So what is it?

DevOps Culture or DevOps Team?

DevOps is commonly referred to as a philosophy or a practice. AWS defines it as:

“A set of philosophies, practices, and tools that increases an organization’s ability to deliver applications at high velocity.”

That is all fine in theory. However, every revolution needs a leader. Organizations often find it difficult to make the change towards automation of their development lifecycle. Having a centralized team of DevOps evangelists can be the key to success.

What You Need

Structure

To truly embed DevOps culture into an organization, you need strong ambassadors all around it, which serve as an integral part of the development lifecycle. So these two functions must co-exist:

  • A strong central Core DevOps team that provides your engineering organization with the right processes and tooling.
  • Focal points throughout the engineering organization to help teams utilize those tools and spread the right practices.

Some companies even go as far as building specialized teams to serve as focal points in the development team, such as Facebook’s Production Engineering.

People

The next thing would be to hire the right people for your Core DevOps team . It’s probably the single most important thing we do as leaders, so make sure to give significant consideration as to who you take on the team.

Over the years, I have found the best DevOps stars were generalists, all-around players that tend to have more of a “dev” background. They also tend to be very open-minded people who genuinely listen to others and consider any solution.

I look for people that show a passion for the business and organization they worked for. These people will bring the most value as they know how to connect their day-to-day to the business goals. They will strive for business success and tend not to fall into the trap of falling in love with a particular technology.

Tooling

DevOps is all about automating and integrating the development process and the IT operations. You want engineering teams to have the right tools and infrastructure to enable DevOps culture.

As the public cloud evolved, I found it best to offload the hard work of infrastructure maintenance to cloud providers, and let the team focus on our business instead of enslaving ourselves to daily infrastructure maintenance. Be it container orchestration, databases, or CI/CD infrastructure , I always prefer to have outsourced experts do the heavy lifting for these things, so be sure to utilize managed tools as much as possible.

Self-Service

Finally, you want to focus on self-service. The only scalable way to spread DevOps culture is to make it easy and approachable for everyone.

Build boiler-plates for everything: Repositories, CI/CD pipelines, environments, and databases, and serve them to the engineering teams as packaged platforms. Let them consume it via familiar interfaces, such as REST APIs, CLI tools, or in a GitOps style.

Doing it the Kenshoo Way

At Kenshoo, we decided to serve our DevOps ecosystem to our engineering in a PaaS like manner, building a self-service platform where developers can get all of the end-to-end tooling needed to develop a production-grade microservice with full CI/CD.

The Kenshoo DevOps Model:

To help our developers become savvy in our DevOps toolset and principles, we rely on DevOps champions within the development teams, often our Software Architects or senior developers, to mentor and instruct the development teams.

In Conclusion

We found this combination of a strong Core DevOps group, DevOps as a Platform, and DevOps champions within teams to be a very effective way of building our DevOps culture at Kenshoo, creating a solid foundation for constant innovation.

--

--

Danny Zalkind
skai engineering blog

Director of DevOps at Skai. Experienced tech leader, passionate about solving problems at scale, cloud native technologies and building engineering teams.