Technical Support Task Automation in Mexico
Submitted By Jenkins User Damian Zermeño
A small team in a big corporate organization boosts their productivity with Jenkins and becomes Jenkins evangelists throughout the company.
Industry: Electronics manufacturing
Team: Nirmala Mutte, Architect Tech Support; Oleksii Chaban, Systems Engineer
Programming Language: Python, Ruby Bash, Bat
Platform: Linux, Windows, Bash, CMD, Python, Groovy
Version Control System: GitLab
Build Tool: Python itself
Community Support: Jenkins.io websites & blogs, Spoke with colleagues and peers
The power of Jenkins becomes a silver bullet,
automating routine activities and eliminating human error.
Background: My team and I work for a company with a lot of software engineering expertise. It’s leveraged that expertise to become a leading global product development, digital platform engineering, and top digital and product design agency. Plus, we were ranked as the top IT services company on Fortune’s 100 Fastest-Growing Companies list in 2019 and 2020.
My team is based in Mexico, but there are teams all over the globe serving customers in more than 35 countries. With that many projects and worldwide collaboration, mistakes can happen. We knew that we needed to limit necessary maintenance within Linux, Windows, and AIX environments and reduce human errors and execution times associated with routine activities to help the team focus on more valuable activities.
Goals: To reduce support response by 70% and maintenance activities by 90%.
Solution & Results: We implemented Ansible to make the script coding more efficient, and once the solution was shown to the team, we decided to use Jenkins as a front-end to reduce cost. Then we implemented Jenkins to schedule the routine tasks as backups or bouncing activities during application rollouts. Once we discovered Jenkins’ power, we started to move some of our application rollouts inside Jenkins for Windows applications, formerly performed manually. We created projects for specific users to perform support tasks, such as adding users from the database and implementing Selenium from the front end.
Our maintenance activities included bouncing multiple servers: three servers in each region, which needed to be bounced in a specific order. Sometimes, when we performed the task manually, we had some issues if the engineers forgot the order. We solved these manual issues with Jenkins automation and by adding some recovery jobs and QA checks.
My team and I performed all of these activities even though we are just a small group in a big corporate organization. We started trying to increase our own productivity and, later, began implementing, training, and creating DevOps tools for other teams in the organization at the end of the day.
I can see myself using Jenkins as a silver bullet throughout my career. Every time there is an activity I must perform more than two times a day, I’ll draw my Jenkins revolver and make things happen. Thanks to Jenkins, I’m more efficient and can enjoy my work.
Here is the shortlist of the key Jenkins capabilities we used:
- Schedule system
- User control integration with LDAP
- Multi-platform support
- Ansible integration
- Multi-language support
- Groovy lang pipelines
Results were excellent, and included:
- maintenance task reduced from 16 hours on average to only 2 hours
- users creation time reduced from 15 minutes to only 2 minutes
- human error mistakes in maintenance and bounce activities reduced to zero
- the creation of a well-tracked and controlled development cycle to our scripts