Gear6 Solution Brief: Software Development
Introduction
Software development is known as one of the most demanding applications in terms of I/O requirements. The particular needs of managing software source code trees and creating software builds places intense workloads on IT systems and storage infrastructure and can frequently lead to system bottlenecks.
The particular characteristics of software development environments include:
- Large data sets
- Random access
- Concurrent client activity
- Transaction intensive
- High peak loads
- Required service level agreements
The Challenges
Companies that develop software rely on the build process to power their business. Delays in executing efficient software builds impacts test and development time, and ultimately slows time to market. Since a large portion of these companies engineering resources often have to wait during lengthy build cycles, productivity can suffer.
The characteristics of software development applications and environments highlighted above often strains traditional disk-based storage systems. This can lead to such issues as:
- Slow response times during software builds causing excessive delays
- Inability to sustain peak workloads during periods of heavy use
- Excessive tuning required just to maintain minimum operations
- A need to overprovision infrastructure to sustain loads leading to poor utilization and excessive costs
Gear6 Solution for Software Development
Gear6 addresses the need for predictable performance in software development with centralized storage caching, and approach that enhances existing disk-based storage solutions with scalable, high-capacity caching appliances. This solution offers a number of benefits:
- Serving data from low latency memory as opposed to disk reduces the access time from milliseconds to microseconds, accelerating software development processes and build times
- Scalable caching appliances serve data in parallel, serving multiple clients concurrently during read-intensive software compiling
- Efficient caching algorithms dynamically place frequently accessed data in cache reducing the administrative overhead to sustain peak load operations
- Throughput and access time achieved through caching eliminates the need to over-provision disk spindles
- Read intensive software build workloads, with their random access patterns, can be dramatically accelerated with caching
The benefits of centralized storage caching directly apply to software development:
- Faster software build times enables more thorough development and testing as well as faster time to market
- Predictable performance with centralized storage caching sustains loads even during peak periods
- Avoiding expensive over-provisioned infrastructure saves capital cost that can be redeployed
- Scalable caching architectures provide room to grow as software source trees grow and complexity of the development environment increases