Under Armour is a leading developer, marketer and distributor of branded performance apparel, footwear and accessories. Founded in 1996 by a former University of Maryland football player, Under Armour today generates more than $2 billion in annual sales through an array of retailers and, increasingly, direct to consumers through the Under Armour online shop.
In 2011 the company determined that its online store needed an upgrade to better reflect the Under Armour brand. The previous Ecommerce site (known as Version 4 or “V4”) had been in service since 2007, and although successful, was beginning to show its age. Under Armour needed to address limitations with its existing content management system, and to redesign the UI to better reflect the company’s brand and improve the overall shopability of the site. Under Armour was determined to complete this upgrade in time for the 2011 holiday shopping season.
In addition to the CMS and UI concerns, site scalability needed to be addressed in order to meet the demands of this high growth business. The primary scalability issue with the previous platform was the SQL Server database.
After the company evaluated a number of commercial ecommerce solutions, Under Armour felt that building a custom solution was the option that offered the best chance to hit their tight timelines with a site that met their needs. With only eight months to design, test and deploy its new online store, Under Armour turned to MongoDB as the heart of its custom-built Ecommerce platform.
The primary advantages of a custom build included the opportunity to re-use some components of the previous platform, the ability to directly control the implementation and course correct along the way, and the proven track record of their internal technology team in building and supporting the site. In addition, the level of customization needed to meet the company’s requirements negated many of the advantages of “off the shelf” commercial solutions.
Given that it was attempting an 18-month project in less than half that time, Under Armour needed to maintain a high degree of control while relying on a known and proven approach.
After considering a range of NoSQL systems, Under Armour chose MongoDB as the underlying database. MongoDB’s inherent ability to support multi-data center replication and sharding addressed Under Armour’s disaster recovery and scalability needs. The dynamic schema of MongoDB was particularly attractive to the development team. And MongoDB’s high performance on both reads and writes was the final piece of the puzzle.
Among other benefits, MongoDB enables a flexible data infrastructure for Under Armour, allowing the company to rapidly change its store to meet the shifting demands of its business and branding.
While Under Armour continues to use a relational database for transactional data, it stores the vast majority of its data in MongoDB. Everything from Adobe Scene7 image recipes, to page definitions, to product data are stored in MongoDB.
As Brian Massey, Under Armour’s Director of Ecommerce Information Systems notes,
“The flexibility of MongoDB has put a lot of power in the hands of our developers. MongoDB provides us a lot more flexibility in how we think about our database. This is particularly true with our page model. We can define each page of the website in the data rather than in the code, while our runtime engine parses the page definition to determine which layout, which modules, which content, and which data should be rendered on the page. And all of this is controlled seamlessly from a relatively simple Flex UI.”
It's not just power to the developer; it's also power to the user. The innovative runtime engine that Under Armour’s team built allows the content team to make all manner of changes to a page, preview it and schedule the changes to go live in a “batch” at a specified time in the future.
Finally, Under Armour needed its Ecommerce system to be very fast, so that users could focus on Under Armour’s products, and not be slowed down by the shopping experience. The company turned to MongoDB because of its reputation for fast performance, particularly for Under Armour’s read-heavy application.
Now, a year and a half later and after having been through two very busy holiday seasons on the new V5 platform, Under Armour can look back and evaluate all of the decisions that took place during the madness of their highly compressed V5 project schedule. As in all such projects, there were good decisions and bad decisions, but the one truly outstanding decision was to build the new site around MongoDB. Performance and reliability have been excellent, and MongoDB’s ability to scale out using commodity hardware has positioned Under Armour very well for their expected growth for the next several years.
Having learned many valuable lessons from 2011, Under Armour’s leadership team is determined to avoid another fast track site rebuild on a compressed timeline. They are currently planning out the technical architecture for ua.com Version 6, and once again, MongoDB will play a prominent role.