Improving the DevOps Practice
Submitted By Jenkins User Prudviraj Pentakota
Helping customer success management teams manage customer lifecycle and identify and proactively respond to risks requires a faster, better DevOps practice.
Organization: Customer success software company
Industry: Computer Software
Programming Language: Java, Node.js, Python
Platform: Docker or Kubernetes, Linux
Version Control System: GitHub
Build Tool: Ant, Maven
Community Support: Jenkins.io websites & blogs, Networking at Jenkins event
High quality, controlled, and clearly-visible code is shipped to production and released 30% faster.
Background: This organization provides innovative technology to help businesses build deep and lasting relationships with their customers, focusing on helping to retain them and reduce churn. There is no single definition for DevOps in the organization, but at the end of the day, they needed to break down all definitions in order to deliver faster and better products to support their customers.
Goals: Making the DevOps process better. The team wanted to have controlled, quality code shipped to production faster and with clearer visibility. We also wanted to save on infrastructure costs while producing faster builds.
Solution & Results: We work with a plethora of tools and programming languages. But Jenkins remains the go-to tool for automating most of the processes, and thereby we’ve been able to ship code faster with better quality.
We have built most of our automation to achieve the desired results using these Jenkins plugins:
- Gerrit plugin, Git plugin to create automatic triggers
- Amazon Web Services (AWS) EC2 plugin for auto-scaling
- Maven, Nexus, Sonar, Pipelines, and Docker plugins to manage our build and releases
- Dashboard plugins for listing build status with coverage information
- Jira, Slack and email plugins to drive clear communication
However, the AWS EC2 plugin cannot be used for some of our legacy systems. For that, we use the Jenkins REST APIs to build auto-scaling for legacy agents. For automating usage restrictions between environments, we use Jenkins Build User Details. And worth noting, since security for us is critical, by integrating Jenkins with our customized security tools, we have further enhanced the overall DevOps flow and made it more robust.
For us, Jenkins has been a true enabler of DevSecOps, serving up great results including:
- savings of up to 40% on infrastructure costs
- builds that are 30% faster
- better and seamless communication on builds and releases
- faster release cycles
- improved quality of releases
Read the full Gainsight DevSecOps Case Study here.