Wondermall stays flexible and innovates fast using App Engine, Compute Engine and BigQuery
Wondermall is an iPad app that features products from hundreds of stores in its mobile mall. Founded in 2012, Wondermall partnered with over 200 retailers such as Macy’s, Gap and Forever21 and allows users to compare items and prices across stores.
Wondermall needed a scalable, robust and efficient cloud infrastructure to power its business. Aside from power and efficiency, they wanted a “Devops-less” infrastructure that maintained load-balancers, firewalls, auto-scalers and databases, so they could focus on software engineering and on running the company.
They also wanted the flexibility to use off-the-shelf open source solutions such as ElasticSearch for blazing fast indexing and Chef for provisioning services quickly and reliably. Finally, having a large-scale data analysis platform to do number crunching quickly was a priority for Wondermall.
To develop fast and focus on innovation, Wondermall chose Google App Engine to scrape more than 100 large commerce sites and add products to the Wondermall catalog. “App Engine allowed us to move 10 times faster while focusing on engineering and innovation from day one,” says Barak Cohen, vice president of research and development.
Moving at such increased speeds is possible due to App Engine’s capabilities: it manages connections, auto-scales instances, load balances requests and even auto-scales the Google Datastore database. App Engine also manages, monitors and operates the application with a distributed team of site reliability engineers. Wondermall develops its backend in Python and pushes its commits to git. Then App Engine picks up the commits and automatically deploys them, eliminating the need to replace outdated instances with new ones and shape the traffic to the new version.
Using Google’s click-to-deploy interface, Wondermall runs ElasticSearch on Google Compute Engine and has clusters up and running within minutes with shards, replication and SSD disks for fast disk IO. Compute Engine has low latency across data centers.
“Wondermall uses almost every Cloud Platform service for engineering, scale and efficiency,” says Vadim Solovey, chief technology officer of DoIT International, Google’s Premier Partner working with Wondermall on their Cloud Platform deployment.
Finally, Wondermall collects thousands of records per second and stores them in Google BigQuery. This information, including response time, error codes and time spent on specific products, tells Wondermall how its users use the application, so they can improve the user experience.
Using standard SQL language, Wondermall queries these terabytes of information in seconds — a process that previously took hours — without needing to configure indexes, scale the database and upgrade the software. With data provided by BigQuery, they are building internal dashboards using a simple RESTful API.
By leveraging App Engine, Compute Engine and BigQuery, Wondermall can focus on its products and customers, rather than on managing the servers, storage and network. The company doesn’t have to worry about server redundancy, data replication, peering relationships, power backup, cooling systems, application scaling or data backups.