Use case

Transitioning from Windows to Linux for Automated Java Testing

About the Customer

Cylent operates within the technology sector, with a focus on providing automated testing services for Java-based applications. They utilize continuous integration (CI) and continuous delivery (CD) pipelines to ensure efficient testing and deployment processes. The company faced challenges with high resource consumption on its testing infrastructure and sought a solution to optimize performance and reduce operational costs.

Customer Challenge

The primary challenge was the high CPU usage and operational costs associated with running Java-based tests on Windows machines. The company’s automated testing processes, integrated with Jenkins, were slow and resource-intensive, particularly with Java tests, resulting in long build times and inefficient resource utilization. Cylent aimed to transition from a Windows-based infrastructure to a Linux-based environment to mitigate these issues.

The risk of not addressing these challenges included rising operational costs, inefficiencies in resource allocation, and delayed test completion times, all of which would impact the company’s ability to deliver timely, reliable results for their projects. It was crucial to maintain the same functionality in the Linux environment while optimizing resource usage and reducing costs.

Solution

IAMOPS initiated a migration process to transition Cylent’s testing environment from Windows to Linux, focusing on maintaining the same test capabilities while significantly reducing CPU consumption and operational costs. The solution was implemented in the following stages:

1) Initial Setup and Research:

  • IAMOPS researched Linux configurations suitable for Java-based testing and validated Jenkins integration in the new environment.

2) Linux Environment Configuration:

  • A Linux machine was configured to run Java-based tests previously executed on Windows. The solution involved installing the necessary tools, including Java, Chrome, Chromedriver, and connecting the Linux system to Jenkins. PowerShell scripts were converted to Linux-compatible Bash scripts for seamless test execution.

3) Debugging and Issue Resolution:

  • Several challenges were encountered during the migration. These included issues with Gradle running through Jenkins, Chromedriver failures, and permission errors. IAMOPS tackled these problems by debugging through VirtualBox, adjusting JenkinsFile configurations, and resolving permission issues.

4) Automation and Optimization:

  • Automated start/stop mechanisms for the Linux machine were implemented using Octopus, ensuring efficient resource management. Remote debugging capabilities were configured, and thread count sensitivity in Jenkins builds was optimized to improve success rates.

5) Graphical User Interface (GUI) Installation:

  • A GUI was installed on the Linux environment to enhance debugging capabilities, resulting in further improvements in the test success rate.

6) Final Migration and Workshop:

  • IAMOPS completed the migration process by achieving a stable 84% success rate on Linux builds, reducing CPU usage to below 40%, and significantly lowering operational costs.

IAMOPS provided ongoing support during both the pre-migration and post-migration phases, ensuring smooth transition, effective troubleshooting, and continuous monitoring of the new Linux environment.

Semantic Release Workflow

Results & Benefits

The transition from Windows to Linux yielded significant improvements in both performance and cost efficiency:

  • Reduced CPU Usage: CPU usage was reduced by over 60%, with builds on the Linux machine consistently staying below 40%, compared to nearly 100% on the Windows system.

  • Cost Reduction: Monthly operational costs decreased by 75.4%, dropping from $388.36 to $95.63, resulting in significant savings.

  • Improved Build Success Rate: The build success rate improved to 84%, demonstrating the stability and efficiency of the new Linux-based infrastructure.

  • Faster Build Times: The migration allowed for parallel build processes, which reduced the overall build time and improved testing efficiency.

About IAMOPS

IAMOPS is a full DevOps suite company that supports technology companies to achieve intense production readiness.

Our mission is to ensure that our clients’ infrastructure and CI/CD pipelines are scalable, mitigate failure points, optimize performance, ensure uptime, and minimize costs.

Our DevOps suite includes DevOps Core, NOC 24/7, FinOps, QA Automation, and DevSecOps to accelerate overall exponential growth.

As an AWS Advanced Tier Partner and Reseller, we focus on two key pillars: Professionalism by adhering to best practices and utilizing advanced technologies, Customer Experience with responsiveness, availability, clear project management, and transparency to provide an exceptional experience for our clients.

Looking for a dedicated DevOps team?