Adopting continuous integration-style test automation and tightening ops-to-dev feedback loops can improve the quality of software in even the most traditional of businesses.
At Navis, maker of software that runs shipping ports around the world, the DevOps benefits don't mean the company will automatically look like Netflix or Facebook. The organization has its own incremental goals for test automation and eventually streamlined, if not continuous, delivery of its on-premises software.
The DevOps transformation began a year ago, with the automation of Navis' test suite for its multiple programming languages and technology stacks.
Building a new version of the Navis N4 software for terminal operations used to be "a major life event" that only happened every few weeks, said Eddie King, vice president of software development for Navis, based in Oakland, Calif.
"Every two weeks, there was talk about the build, starting on Thursday the week before the build: 'The build is coming, the build is coming,'" he remembered.
Since then, "we've done things like removed the whole idea of code freeze," King said, so "developers just keep going."
Navis has begun to spin up test environments in Amazon Web Services (AWS) to streamline development. It has also begun to mix its developer teams -- those accustomed to working on an antiquated C++ architecture, and the teams that have worked on a newer Java-based architecture -- to better exchange ideas about how testing is to be done.
Eddie Kingvice president of software development at Navis
"The DevOps team is helping drive the QA [quality assurance] automation team to reduce our test burden, getting rid of tests we don't need -- they've basically paid out some of the technical testing debt we've incurred over the years," King said. "Now, we can easily do daily builds instead of every two weeks."
On the IT operations side of the development pipeline, a team led by Dave McCandless, vice president of IT, is gathering various monitoring tools' data streams together under a tool called OpsDataStore. This tool gives ops pros quicker feedback on whether there's enough space in the internal VMware environment for testing, to keep AWS costs as low as possible. Eventually, the goal is to give developers faster feedback on how their builds perform in that infrastructure using a tool from AppDynamics.
"We can plug that right into the OpsDataStore infrastructure as well," McCandless said. "We don't have to go out and manage that solution separately; we just plug it into one big ecosystem."
Continuous delivery may not be a DevOps benefit
Navis plans to deploy and test its software on clouds, such as Google Cloud Platform, so customers who want to deploy the application in the cloud themselves can be assured it will work.
However, Navis probably won't host the highly customizable application for its customers, which would be the business model that lends itself most readily to continuous delivery.
"Unlike, say, an Amazon store that has an ongoing application they want to keep available 24/7, it's up to our customers to make sure that the application they're delivering at their location is available 24/7," King said. "It's our job to make sure we get them the best software as quickly as possible so they can deploy it effectively."
In the long run, Navis may host test environments as a service for customers, so software updates that have passed all of the company's quality gates can be tested against customers' specific configurations.
"It's not like installing Microsoft Office," said Glenn Brown, DevOps manager for Navis. "You don't just run the executable and do the install, because there's a whole ecosystem [of] equipment and equipment control software ... that integrates with it."
In the next year, King said he hopes to see any customer who spins up the Navis software do so using standardized Chef recipes, or possibly Docker containers built by Navis for smoother installation, "a shared process that everyone knows how to deliver things from."
But getting this kind of DevOps process out to customers won't be easy, needing a commitment to market it and find people who want to adopt it, King said.
In the meantime, Navis' own journey toward increased agility could still benefit its shipping port customers, even if they themselves don't adopt the DevOps mindset.
"The idea is to ... have a big feedback loop that we can manage on an ongoing basis, rather than, 'Let's look at it every quarter, let's look at it every year,'" McCandless said. "We can look at it every week, get actionable items every Monday morning and decide what to do that week to make major changes to our company."
Let developers use the cloud with on-premises production
Business units, developers grab at IT purse strings
Three essential tools to assess an AWS environment