NetApp

Perforce version management allows NetApp to follow what we call a single branch model of development, which improves time-to-market for new products significantly."

Kumaraswamy (Kumar) Namburu
Manager of Build Release Engineering at NetApp

About NetApp

  • NetApp is the leader in storage hardware and software.
  • NetApp's ONTAP is the number one branded storage operating system.
  • 4,000+ developers across offices in California, Pennsylvania, North Carolina, Kansas and India.

Environment

  • 2,000+ developers in five offices working on ONTAP applications; another 2,000 working on non-ONTAP apps.
  • All of the tools, scripts and development test code, everything required for testing, building, releasing and continuous integration, all of the repositories and all of the generated files are checked into Perforce.
  • ONTAP features a 570GB code base and 1TB database.
  • Developers work in 120GB workspaces.
  • 500,000 changes take place each day resulting in 1.7 million Perforce xacts.
  • Perforce is integrated with third-party tools: Reviewboard for code review; OpenGrok for code navigation; Jenkins for continuous integration; HP ALM for automated testing; and internally-created bug tracker (based on Bugzilla).
  • Integrated with key NetApp applications:

    • FlexClone to replicate data volumes
    • Snapshot to create virtual point-in-time copies of file systems
    • Together results in no network latency and a true clone without additional storage space.

"With our distributed environment, workspace creation at all sites takes the same amount of time and the developer can be at any site to deliver the application to the customer. That's the key here," said Namburu.

Fast Continuous Integration

"With Perforce, NetApp applications are constantly being updated and improved while the integrity of each application is maintained throughout the build, test and release cycle," said Namburu.

  • Continuous builds every 10 minutes: 30+ continuous integration tests (CITs) conducted every three hours - one for each application function.
  • CITs run only if there is a new change. If a change breaks the build, it is identified automatically.
  • The performance and scale of Perforce allows for multiple parallel integration and functional tests to run in rapid fashion.
  • Perforce stores the code to be tested, the testing scripts and the unit tests – all in a single facility.
  • Hundreds of smoke tests run once an hour to ensure that ONTAP can boot and build throughout the process.

"We are trying to build a data center using NetApp storage that, together with Perforce, can deliver greater performance at lower latency and provide backup for databases so that our customers can develop an easy out-of-the-box solution to their storage needs," said Namburu.

ROI

  • Dramatic improvements in workflow - ability to manage files at the storage level rather than inside a database.