I’m back with another episode of Azure Lessons Learned. In this one I discuss building apps that need to be able to scale very highly very quickly. Jim Zimmerman, the CTO and Lead Developer for Thuzi, walks me through the Facebook application his team built for Outback Steakhouse.
Thuzi specializes in building social media applications for large organizations to connect with their customers on sites like Facebook. The concern with these types of applications is the possibility that the offer will go viral as it gets passed from customer to customer and potentially swamp the servers to the point that they are not responsive and ultimately disappoint customers. Thuzi chose to use Windows Azure since the Windows Azure platform has ample capacity and they could scale up or down the solution based on the current demand of the market. The Outback Steakhouse offer in this case was a free Bloomin’ Onion at any of the thousands of Outback Steakhouse restaurants.
Facebook apps don’t actually run on Facebook. They are embedded using an iframe into a Facebook page. The app that is running in that iframe must be hosted somewhere else. In this case, Thuzi hosts that in Windows Azure. They actively monitor the campaign and turn on or off web and worker role instances as required. In order to scale they used Windows Azure table storage and queues. They also use SQL Azure to perform reporting and analytics on the results of the campaign.