Case study

CI/CD and testing for Xi Epoch – design and development

About the client

Nutanix is a global leader in cloud software and hyperconverged infrastructure solutions. One of the company's products, Xi Epoch (now part of Prism), is a real-time observability tool for multi-cloud applications.

Nutanix

Client’s testimonial

CodiLime's DevOps teams helped us reduce our development cycle time by 50%, and its software engineering helped us improve the quality of our product by increasing our test coverage by more than 80% in crucial parts of our system. This allows us to deliver new features and capabilities seamlessly without compromising on simplicity to our global customer base. We're looking forward to further collaboration with CodiLime as the Epoch product evolves with time.

General Manager

Harjot Gill

General Manager

testimonial

Challenge

Xi Epoch (currently part of Prism) is a full-stack monitoring and alerting service for every enterprise application at any scale across public clouds and private infrastructure. It generates terabytes of metrics and integrates with over 200 common applications to holistically understand application performance. The system is operations-ready from the first launch.

The challenge was to build a continuous integration system that would be easy to use and simple to develop for multiple engineers around the world.

Solution

The first stage of the project involved migrating CI workflows from Jenkins to CircleCI. This was achieved by methodically gathering requirements and creating reusable resources to improve build reproducibility and reliability.

Changes to the toolchain brought corresponding changes to the build system’s structure and flow. Multiple stages have been separated to parallelize the work and speed up the process and make it as close to Agile and DevOps standards as possible.

Ultimately, faster feedback means the work is done more effectively. Using CircleCI empowered us to make the builds highly reproducible and improve the way we conducted them.

The second stage involved preparing a scalable test automation framework that would be easy to integrate with the continuous integration system and enable developers to launch it locally against any built part of a system. This was achieved by mocking up every part of the system and using a containerized environment (Docker and Docker Compose) for the data aggregators and test execution.

See other case studies

Thumbnail of a case study about Adopting platform engineering to improve the development process
badgeSelector
Adopting platform engineering to improve the development process

Platform EngineeringDevOps
Read more

Get your project estimate

For businesses that need support in their software or network engineering projects, please fill in the form and we'll get back to you within one business day.