Duby started in 2015 and combined with the hype by many news companies regarding the legalization of marijuana, Duby received the media spotlight from many major media outlets. Having a featured article on CNBC, Mashable and Wired is enough of a spotlight to make any app instantly successful. Unfortunately, this success coincided with the sunsetting of Parse and created a very difficult infrastructure problem.
Many businesses were upset when Parse.com announced that they would be sunsetting, but at least they gave users almost a full year to migrate their applications.. or so they claimed. Little does the public know, that they also privately contacted many of the largest application owners and gave them far less time to plan for a migration. One such user was Duby, a mobile social network for 420-friendly users.
When we met Duby, it was a couple months before Parse.com had gave them the boot. We were planning iOS updates and features to give users snapchat-esque functionality when passing virtual dubies within the application. One night, we received a call: red alert, the application is down because Parse.com services couldn't support the large dataset and throughput. Queue up an emergency response by the Unicorn team, and what transpired was a culmination of devops, node.js programming, and quickly architecting a scaleable MongoDB backend. With both the Duby and Unicorn team firing on all cylinders--fueled by red bulls and nicotine--we managed to quickly migrate the rest of the data by leveraging connections to the internal Parse.com development team and getting incredible support from MLab and Node.js expert, Matt Green.
The results of our efforts included creating a custom load balancer, app server, and horizontally scaleable MongoDB host on MLab. Duby's CTO, being an old-school expert in networking, was able to create the nginx load balancer in just a few hours. Matt Green helped us clean up the multiple promises which were blocking requests in the application, as well as run multiple Node.js instances per server. The Unicorn team focused on scrubbing over 500G of data, cleaning and creating better indexes in MongoDB, and creating replica set servers with the advice and support of MLab. This joint effort minimized downtime, and the app has been running smoothly since, gathering 2G of data or more each day!