Because customers depend on Neustar services for business-critical operations, reliability is paramount — both in the software Neustar development teams build and in the process they use to build it. Neustar developers use continuous integration (CI) with Jenkins and the CloudBees DEV@cloud managed Jenkins service to speed application development while ensuring consistent, reliable delivery.
“CI with Jenkins helps us meet our time-to-market objectives, because it empowers our development teams to build and deliver software as quickly as they can,” says Jason Shawn, director of cloud services and platforms at Neustar. “DEV@cloud maximizes the value of Jenkins because it enables our teams to focus on development instead of administering tools and infrastructure, and because CloudBees provides Jenkins trouble-shooting expertise that we do not currently have throughout our organization.”
With more than 600 developers on two dozen teams working on about 50 service lines, Neustar is continually looking for ways to improve its development process. “At Neustar, we are moving to a DevOps model, and as part of that we want all of our developers to be as fully engaged in the process as possible, without the baton-passing and finger-pointing that is common in traditional waterfall approaches,” says Shawn.
One result of the company’s policy on developer empowerment was that numerous development teams had set up their own development infrastructure, with many including open-source Jenkins instances. The maintenance burden imposed by this arrangement soon became apparent. “We had three full time engineers who were managing the IT infrastructure instead of developing new features for our products,” says Shawn. “Because every team had was doing things a bit differently, it was also difficult to shift engineers to new teams.” Neustar management sought to increase consistency and reduce administration overhead, but wanted a provider that they could rely on. “Whenever I engage with service providers, I want best-of-breed, industry leaders, because ultimately the responsibility for them lies with me.”
Neustar adopted the CloudBees DEV@cloud development platform and CI with Jenkins.
Some developers initially expressed concerns about the decision to build in the cloud. These concerns were alleviated when CloudBees engineers participated in a Neustar security risk assessment and on-premise executors were set up to comply with the company’s firewall policies.
Neustar development teams began migrating existing development projects to DEV@cloud, and management decided that all new development projects would be required to use continuous integration with the CloudBees platform.
The teams linked DEV@cloud with their GitHub setup, so that code commits automatically trigger Jenkins builds.
Neustar has also implemented several recommendations offered by CloudBees engineers to improve development efficiency. “We have taken advantage of the best practices and Jenkins expertise we’ve received from CloudBees without having to do the R&D work ourselves,” says Shawn. “For example, they alerted us to the Jenkins Workflow facility and plugin.”
With Workflow, teams working in continuous delivery environments can use Jenkins to orchestrate development and deployment processes in a single place rather than across build jobs. Neustar plans to use Workflow as it moves towards continuous testing and delivery.
“Our ultimate goal with CloudBees is to build an automation pipeline that goes from check-in, to build, to test and to delivery in one fell swoop,” says Shawn.
- Infrastructure maintenance overhead cut by 67%. “Before CloudBees, we had a labor shortage because three of our engineers were working full time maintaining our Jenkins instances and builds,” says Shawn. “Now, one developer handles that responsibility part time. By moving to CloudBees, we minimized overhead and freed engineering resources to work on productive development projects.”
- Development time reduced by 25%. “I can say with a high degree of confidence that across all service lines we have achieved a 25% reduction in development time with DEV@cloud,” says Shawn. “We’re more productive because we’ve eliminated many of the problems that used to cause builds to fail and we can focus on higher-value uses of Jenkins.”
- Build frequency increased by a factor of 4x. “We had a number of jobs that we used to run nightly, that we now run three or four times daily. Other jobs that we ran only on demand, we are now running nightly,” says Shawn. “In the end that kind of improvement enables us to move from feature request to deployment faster, and that is what matters to our customers and our business.”