Getty Images/iStockphoto

DevOps platform aids app modernization, sets stage for AI

Amid a company rebranding and product consolidation, IT ops teams at Rival HR paved a path for DevOps velocity and AI-based automation with updates to legacy infrastructure.

Decades after its founding, an HR software company achieved app modernization based on DevOps platform infrastructure updates and cloud partnerships.

Over the last year, Chicago-based human capital management software maker Rival, founded as SilkRoad Technology in 2003, reinvented itself with a rebranding, product consolidation and a cloud infrastructure migration to AWS.

This laid the groundwork to adopt container-based infrastructure orchestrated with Kubernetes and GitOps deployment patterns using GitHub Actions, which replaced multiple CI/CD tools. Ultimately, this helped app developers deliver software updates in two-week sprints instead of six releases per year.

The key to this transformation was leaning on SaaS and cloud managed services partners to add automation and reduce toil for DevOps teams, according to Rival CTO Ron Teeter. Working with AWS services provider Mission Cloud Services also afforded them cost benefits, he said.

As it migrated from self-managed servers and virtual machines in an on-premises data center over the last year, Rival has avoided cloud cost overruns by purchasing Amazon EC2 reserved instances -- offered at a lower price than on-demand instances -- through Mission Cloud. Mission manages those instances and can swap them out for different versions through its Reserved Instances Optimization Program, even if the first instances' reservation period hasn't ended, Teeter said.

"I wouldn't ever try to do cloud migration without having a really strong FinOps partner," Teeter said. "They buy so much Amazon [capacity] that they get preferential pricing for all of their clients. Sometimes I refer to them as the Costco of the cloud."

Once it had begun its cloud migration, Rival added the managed Amazon Elastic Kubernetes Service, which made it possible to do GitOps-style application and infrastructure updates via GitHub Actions. The declarative GitOps approach to infrastructure updates made lead time for app updates slightly longer than it had been with the previous manual QA process. But it ensures more consistent production deployments, which ultimately saves time, Teeter said.

"Like many in the industry, we have noted that when you add quality and validation checks into the process to ensure that the deployment is better, it appears to slow down on the path [to production] where things used to work well," he said. "However, the benefit is the avoidance of client-impacting service interruptions or manual rework when things do not go as planned."

GitHub Actions replaced on-premises Jenkins, self-hosted Atlassian Bitbucket, Octopus Deploy and Tekton-based pipelines with one centralized, managed CI/CD service. The biggest advantage GitHub offered was an option to manage on-premises workloads that the Atlassian Bitbucket cloud version didn't, Teeter said.

"We can do things like use GitHub runners in our on-prem environment so that it can access privileged resources that we wouldn't ever want exposed to the web," Teeter said. "Bitbucket didn't have that [in the cloud-hosted version], so we were running Bitbucket Data Center. [But] I don't want to run the GitHub repository. I want [the vendor] to run the application."

The phases of an application modernization project include assessment, development, migration, integration, testing and ongoing management.
Application modernization projects require multiple phases.

Up next: Dev toil reduction with AI

Once the cloud migration to AWS is completed, Teeter will begin working with another SaaS partner to tackle what he sees as the next big inefficiency in the app delivery process: test code. Before Teeter joined the company two years ago, eight DevOps team members had been dedicated to update and maintain test code and QA processes for Rival.

"That was hundreds of thousands of dollars a year, and it wasn't fixing the problem," he said. "If the problem is that you're trying to test code, your solution can't be to write more code, because then how do you test that? It's an insanity cycle … that just continues to increase toil for your engineers, [and] it also steals resources from a company that would be better deployed building features for your customers."

If the problem is that you're trying to test code, your solution can't be to write more code, because then how do you test that?
Ron TeeterCTO, Rival HR

Teeter said he's looking into SaaS startup Sapient for generative AI-driven test automation. The company recently launched its Codeless service, which manages the unit test code its AI generates so that developers don't have to maintain and update it. It also returns test results that only address recent changes or problems with regression tests, rather than having developers run through the entire test codebase whenever they update an application.

Rival has already added generative AI features such as a chat assistant to its software for customers, Teeter said. Sapient is still working on a production-ready version of Codeless for C#, which Rival uses, and company officials said they expect that support to be available by the end of the year. Teeter said he wants to have the cloud migration finished before he tests that support, probably in the second half of this year.

"After dealing with the infrastructure choke points in our development process last year, we've increased our speed," he said. "The next step is to improve our speed and sprints, because we're going to be able to have more of the regression testing be fully automated [by Sapient] and only really have to test new functionality and changes that are intentional."

Beth Pariseau, senior news writer for TechTarget Editorial, is an award-winning veteran of IT journalism covering DevOps. Have a tip? Email her or reach out @PariseauTT.

Dig Deeper on DevOps