How many servers does it take to run ShopSavvy
More than 7.5 million smartphone owners use ShopSavvy to scan barcodes when they shop. With each scan our users ‘check-in’ at a retail location giving us valuable location data so that we can deliver them relevant deals to help them save money. Some of our users are adding product data including product pictures (more than 2 pictures a minute) and product pricing (more than 10 additions a minute). Each month our users scan millions of barcodes requiring us to deliver a LOT of information (product info, product reviews, local prices/inventory and online prices) back to them – billions of pieces of data in the course of a month. During the course of the year it takes about 20 servers (not including development servers) to keep everything running.
- 3 PriceNark 4 API servers
- 2 PriceNark 3.2 servers
- 1 Image server
- 1 Rails box (running AdOns and misc API endpoints)
- 1 Tomcat box (running misc backend API endpoints)
- 1 Database (MySQL) server
- 1 Database (MySQL read replica) server
- 3 Chalupa servers (barcode decoding)
- 6 Cluster servers (Hadoop/Cassandra/HDFS)
- 1 WordPress (shopsavvy.mobi)
During new releases or during special deals we sometimes need to spin up new instances of PriceNark and Chalupa. During Christmas we double all of these server counts to deal with the increased shopping traffic. We also leverage Amazon’s cloud for redundancy – we can run completely in the EC2 cloud or on our own servers.