Tech ONTAP Blogs

NetApp FlexGroups: A Game Changer for Build and Development Workflows


In the ever-evolving landscape of data storage, scalability and performance are paramount. Those familiar with NetApp's ONTAP software know the critical role of cluster aggregates and nodes in data management. With the introduction of FlexGroups, NetApp has made significant strides in enhancing these areas. This article explores FlexGroups and their impact on performance and efficiency as demands grow, assuming readers have foundational knowledge of ONTAP's components.


 FlexGroups are a collection of volumes, known as constituents, that work together as a single, cohesive entity within the ONTAP ecosystem. They allow data to be spread across multiple storage nodes, providing superior load distribution and eliminating performance bottlenecks associated with large-scale data operations. FlexGroups offer scalability, performance, simplified management, and flexibility to support a wide range of workloads, making them versatile for various use cases.


As part of a strategic business decision, our organization decided to close one of our two developer farms. This move consolidated all development activities onto a single farm, significantly increasing the load on our existing infrastructure. Our cluster, which was now hosting over 7,000 volumes, began to face significant challenges. During peak afternoon hours, we observed over-utilization and hotspots, which resulted in bandwidth throttling. Consequently, our build times could increase by up to 50%, leading to slowed or even stalled builds. It became clear that our existing data management technology, FlexVolumes, was struggling to handle the increased load efficiently. To address these challenges and enhance the performance of our ONTAP systems, we decided to transition to FlexGroups.


The switch to FlexGroups brought quantifiable improvements. Our Perforce version control workflows, particularly the p4clean command, saw execution times reduced by over 30%, dropping from 1494 seconds to just 1169 seconds. Build processes improved by around 20%, with times reduced from 1:22:32(hh:mm:ss) to just 1:04:21, significantly enhancing our development feedback loop. Additionally, inline compression and deduplication behavior remained consistent, ensuring no compromise on storage efficiency.


When implementing FlexGroups, we found that consistency in storage controllers was beneficial. We used one aggregate per node, forming a 4 node cluster with the model AFF-A800.


It's important to note that while we chose one constituent per aggregate due to the high number of volumes we needed to support, performance can often be further improved with two or four constituents per aggregate. More constituents per aggregate mean more distributed workloads, which helps to distribute loads and directly improves build performance. It's crucial to carefully select the number of constituents to avoid exceeding volume limits per node and cluster. It's advisable to refer to the latest NetApp documentation or contact support for the volume limits that correspond to the respective releases.


By leveraging FlexGroups' distributed architecture, we have overcome the limitations of FlexVolumes and set a new standard for performance and efficiency in our Continuous Integration and Development (CI/CD) processes.


In conclusion, FlexGroups have significantly improved the performance and management of our ONTAP systems. As we continue to scale operations, their unparalleled scalability and efficiency have made them an indispensable asset in our CI/CD pipeline. FlexGroups stand as a testament to NetApp's commitment to innovation and performance in the data management space.