Company
Date Published
Author
Mohammad Imran Siddique
Word count
1177
Language
-
Hacker News points
None

Summary

In an effort to upgrade Azure DevOps Search with zero downtime, Microsoft embarked on a project to transition from Elasticsearch 2.x to 5.x, alongside upgrading from NEST 1.x to 5.x. The primary motivation was to ensure compatibility with the latest Azure DevOps Server and to capitalize on performance enhancements. The team executed the upgrade in three phases: moving to NEST 2.x, running Elasticsearch 5.x parallel to 2.x, and ultimately transitioning fully to 5.x while eliminating 2.x. Key strategies included timeboxing large reindexing tasks, improving monitoring and retry mechanisms, and optimizing the indexing topology by splitting large clusters into smaller ones and increasing the number of shards per index. Throughout the process, the team emphasized documentation, capturing issues and suggestions to facilitate continuous improvement. They also leveraged community support and resources, such as Elastic{ON} conferences and meetups, to enhance their understanding and application of Elasticsearch. The upgrade saw a significant increase in data handling capacity and indexing speed, demonstrating the benefits of the transition.