Enlightened manufacturing companies design products so they can be built efficiently and with as few errors as possible. Milin Patel, Head of DevOps for Dow Jones, told an audience of fellow media execs at the recent New Relic Media Summit in New York that a similar approach with software is saving his company time, money, and stress.
Dow Jones is the part of the media giant News Corp that publishes The Wall Street Journal, Barron’s, a widely read newswire, and other market-moving information products. As the financial industry has become ever more global and ever more reliant on continuous and instant information, Dow Jones sits smack dab in the middle of the world’s economy. In this high-pressure environment, downtime and extra effort are clearly “Bad Things.”
From monoliths to microservices
Patel talked about how software used to be developed as “monoliths” with a team of developers working on one application with one shared repository, and one team managing a fairly static infrastructure. But with the rise of cloud computing and contemporary configuration management tools, infrastructure has become more fluid to support more complex and changeable software architectures—what’s now often referred to as microservices. DevOps as a skill has evolved in part to negotiate the relationship between software teams and infrastructure teams, to ensure that developers are building applications that operations can manage and support.
In 2013, Patel said, Dow Jones could make code updates to WSJ.com only twice a week, and multiple engineers gathered on a conference call for hours to shepherd their changes through—changes that might get delayed significantly if an earlier update happened to fail.
Devs and ops learn to get along
By 2015, WSJ.com moved frontend applications to an internally built Platform-as-a-Service (PaaS). As part of that, Patel said, developers “can deploy code directly from git. They only have to worry about writing code and we take care of the rest.”
One beneficial result, said Patel, is that “we were able to repurpose engineers to focus on things that directly benefitted our business priorities.” Another was that Dow Jones developers have been given full ownership of the technology stack, which in turn has resulted in agility, lower MTTR, and a better service to our customers. “The WSJ.com application team, when they want to go and build a new application, they no longer have to spend time figuring out whether we should use Node.js versus Go; MySQL versus PostgreSQL or anything like that. We’ve worked together to agree on a defined pattern on the infrastructure side of things. As an example, when the app team deploys a new Node app using our internal tools, New Relic APM is installed by default.”
Developers, he noted, “want their apps to be secure and performant, and they want to make sure that they’re doing the right thing, but they don’t care what tools you use to do those things.” He said the DevOps teams think a lot about what roadblocks and time sinks developers face, and then try to remove them.
Patel’s team works very closely with the developers. “We listen to them, and we’re solving the problems in a very repeatable fashion so we won’t have to look back,” he explained. “We want our developers to focus on building high-quality software and awesome user experiences, and we’ll take care of the rest. They shouldn’t have to worry about all the other things.”
He said that the developers now feel comfortable saying what’s on their mind, from “Man, this thing is annoying me a lot” to “This is working awesome. We should do more of this.”
Evolving to DevOps is a matter of trust
Getting to that point was an evolutionary process, Patel said. At first, devs “would have very little trust of anyone—especially operations. It takes time to gain that trust,” he stressed. The key is not just to solve the immediate problem, but go the extra step to solve the more fundamental problem. “Over time we gained their trust,” he said. “Today I could go and tell the developers, ‘You shouldn’t use this new shiny technology in production yet. Let’s just use the one we know how to operate well,’ and they would listen.”
The lesson, Patel said, is to let dev and ops each do what they’re good at. “When they have the right tools at their disposal, they will feel empowered,” he said. “Let your developers do what they do best, which is designing and building awesome user experiences, and help your DevOps teams foster relationships with the developers, so they can jointly build tools to continuously improve operational efficiency and engineering productivity.”
Image courtesy of Shutterstock.com.