search menu icon-carat-right cmu-wordmark's Cloud Architecture

April 2013 Presentation
Joel Crabb (Best Buy, Inc.)

A presentation from the ninth annual SATURN conference, held in Minneapolis, MN, April 29 - May 3, 2013.


Software Engineering Institute


In 2012, re-envisioned its high-scale, high-availability eCommerce platform. Instead of buying a vendor product and implementing a big-bang brand-new system, took the more difficult but lower risk path of evolving out of their proprietary ATG commerce system. The architecture was built in 2012 and survived the holiday selling period with no issues. This presentation covers the cloud architecture of the largest electronics retailer on earth. This is your opportunity to see inside a true linear, elastically scaling architecture from one of the highest trafficked commerce sites in North America. needed an overhaul for many reasons; however, the overriding factors were scale and flexibility. The current vendor-supplied product was not architected to scale. At's scale, each component of the eCommerce architecture must scale independently, but the available commerce systems are monolithic black boxes that can only scale horizontally. also needed business flexibility—the ability to change the look and feel of its front-end website in hours or days rather than months or years. These two competing paradigms were combined to form a new, unique cloud architecture that achieves both high scale and massive flexibility.'s cloud architecture consists of a lightweight front end using a home-grown development framework based solely on HTML, Javascript, CSS, and Freemarker. The front end is deployed on Tomcat servers that elastically scale in the cloud. The front end is fed by a service-oriented architecture and a data contract between the front-end and back-end services. The architecture completely decouples the front and back ends and allows independent development and front-end coding with no Java skills.

The services architecture is designed for high scale and consists of multiple caching layers and Spring-based REST services. Since we are stringing together 30–50 services per front-end request in less than two seconds, the whole process is asynchronous and fault tolerant.

The data system feeding the service layer is also cloud based. A NoSQL system is used to store's product catalog and serves that data as another set of REST services. This data system replicates across multiple cloud regions, multiple cloud vendors, and owned datacenters.

Finally, for personalization uses a cloud-based user grid that serves up customer information from within the cloud. This is a second NoSQL system that allows individual personalization of every page on

To operate this cloud architecture and achieve high flexibility, the cloud infrastructure uses infrastructure automation. Using an Infrastructure as Code solution allows us to quickly update and change running cloud servers to new deployments. Furthermore, it allows us to run multiple concurrent versions of our cloud systems to determine which version has higher user engagement.

Overall, every part of the browsing experience on is now served out of highly redundant and elastically scaling cloud architecture. This presentation will give you an in-depth look at the various aspects and considerations when scaling a massive ecommerce system.