|
|||
|
You've heard of customer relationship management, right? As social media encroach on the marketing power of mainstream channels, applications for these platforms are revamping CRM into social or virtual or even human relationship management. Increasingly, marketers understand that social media are interactive — those old-school banners, press releases and videos don't work quite as well as they once did. But how do you monetize social media interactions? One way that's gathering momentum is via Facebook applications that reward customers or drive business to specific offers and locations. Design. Code. Scale. Get started with the Windows Azure Platform. Learn More.While a growing number of software vendors are offering cookie-cutter solutions, Tampa, FL-based Thuzi showed just how tremendous the results of a customized social media application platform can be within a variety of verticals. Take one of its largest successes to date, the Outback Steakhouse free Bloomin' Onion offer. Attracting more than 500,000 fans ("likes") in approximately two weeks — while running an interactive Facebook application for an appetizer offer — without bringing down the IT infrastructure, was no small feat. Just ask any burned Black Friday retailer who's ever had to send out a Saturday-morning mea culpa to customers. "We weren't sure when all the traffic would hit and what size the load would be," explains Jim Zimmerman, Chief Technology Officer and Lead Developer for Thuzi. "The viral power of the application meant that literally millions of people were involved in a short period of time. Given that unpredictability, it didn't make sense to allocate our own resources to handle the large spikes in usage caused by the viral popularity of the application." "The worst that can happen is you line up the budget for a great promotion, and you put up something very attractive, and find yourself with a huge hit that your IT cannot support. Because Facebook has 500 million people, if you can't keep up by scaling out, you lose credibility. You can't tell these folks to come back later when you are ready," says Abe Pachikara, Microsoft's U.S. Cloud Computing Developer Adoption Lead, in Bellevue, WA, "Fundamentally, Thuzi used disposable IT to answer this problem." That was one of several reasons a Windows® Azure™ cloud platform-as-a-service (PaaS) approach made sense. Choosing the CloudAlthough Outback Steakhouse's goal was to add new fans to their Facebook page, they also sought insights into improving the overall customer experience. To support this goal, the interactive application asked the user to select their favorite Outback restaurant location as well as other marketing questions. Clearly a lot of processing and data collection took place. Based on these criteria, a PaaS made perfect sense: The Windows Azure Platform lets you manage applications and data while leaving runtime, middleware, OS, virtualization, servers, storage and networking to the vendor. It also supports a range of popular programming languages — .NET, PHP and Java. That's a contrast to two other popular cloud vendors, Amazon and Google. The latter's App Engine, while also a PaaS solution, is limited to Python and a fraction of the Java library."Google uses Python as its programming interface, which takes too long to learn. We are a .NET shop, so Azure is much less effort. In terms of the developer experience, setting up all your VMs [virtual machines] for Amazon takes time — and now you're back to things we don't want to spend headcount on, like managing infrastructure and making a lot of back-end services decisions," says Zimmerman. Occupying that middle space between infrastructure-as-a-service and software-as-a-service means that neither Thuzi nor Outback needed to add IT, nor did they have to give up the ability to own the design of the application and related data. That's a powerful argument against choosing a cloud vendor by price alone, considering that a per-minute fee for compute infrastructure on Amazon does not take into account the cost of managing it. Further, because there's a seamless design for building Azure applications in Visual Studio®, developers can continue to use Visual Studio and simulate locally before they deploy the application as a cloud services package and a configuration file. "The analogy is print preview instead of printing," says Pachikara. Scaling Out, Scaling BackIn Azure applications, you deploy instances of web roles (which are essentially .NET web applications, such as MVC or Webforms) and worker roles (which handle number-crunching and logic such as email validation). The instances come in varying sizes and you can get a quick summary here. One web role costs $90 a month to run a small instance continuously, a competitive cost when compared to other hosting options. (The Azure team has announced an "extra small" instance that will allow you to run even smaller resources if you need.) But when celebrity strikes, Azure truly shines: Its consumption pricing will let you run additional instances during peak demand, but only charge you for the time they actually run. This means you don't over invest if something does not take off, while also maintaining very low barriers to try something new. The Outback web application uses worker roles and an asynchronous architecture for high performance and scalability. Background processing and business intelligence happen via Microsoft SQL® Azure and the Table service in Windows Azure Storage Services."Dialing the number of servers up or down is as easy as typing in the number of instances you are using," Zimmerman explains. Thuzi has also automated this process with APIs that allow a program to start or stop instances based on preset criteria so that it stays responsive but minimizes costs. The Outback promotion was a wild success, logging signups at a rate of 20 per minute, 1,200 per hour and resulted in over 670,000 Facebook fans in five weeks. Indeed, the solution continues to scale well — a recent promotion had 50,000 signups in one day — and remains highly repeatable once implemented — the company continues to leverage the Facebook application for other promotions. But what of applications that don't pull in the big audiences, either by design or destiny? Are companies doomed to pay for Azure services they don't actually use just to be prepared for a crushing response? The answer is no. "We use a sophisticated model to predict the viral nature of our Facebook applications based on variables like the average number of friends in the demographic and expected participation rates. Even though our models are fairly accurate, we still over-assign Azure resources in the beginning of a promotion and then simply tune them to the appropriate levels so we are ready for anything." says Zimmerman. "Our clients enjoy the confidence this infrastructure provides since a great promotion won't fizzle at its peak due to a lack of IT resources." Architecture for Dummies"There are two different kinds of Facebook and Azure apps: Platforms that are alive all the time and marketing campaigns that typically have a one-month lifecycle. With either scenario, the application goes up once. If you need to redeploy, you swap staging with production so your application never goes down. With a platform, you're doing more iterations — a new build every two to four weeks. The platform just lives inside of Azure the whole time," says Zimmerman.What's key to making a cloud application agile and responsive? According to Thuzi, developers must take care that they're managing sessions correctly. With multiple instances, basically on a web farm, every request goes to a different server in round-robin fashion. "You have to make sure you're not keeping someone's session in memory, because in the cloud the next request will go to another machine." Also, consider where you're storing your data. Message queues and table storage allow applications on Azure to scale infinitely. A SQL database on the back end lets Thuzi write reports on the app usage and other statistics. "If you're writing an app that could have 100,000 users in eight hours, you have to understand how you will save that data — because it's not going to work in the traditional way. If you're trying to handle a huge load, you don't want your database to be your single point of failure," Zimmerman notes. Thuzi has distilled its experience into the Windows Azure Toolkit for Facebook and a C# SDK for Facebook, which has everything you need to create a Facebook app, including a simplified library for accessing message queues, table storage and SQL Server; and automated build scripts for one-click deployment from TFS 2010 to Azure. Harnessing Social MediaThuzi and Outback not only engaged legions of people on Facebook, they also delivered a social media framework for the future. Since the original Bloomin' Onion promotion, the same Azure based platform has been used to deliver numerous additional promotions. Outback has grown to have more than one million fans, but more importantly the company has gained valuable consumer insights through a meaningful dialog with their customers.For businesses with many locations such as stores, banks or service centers, the ability to localize the "like" information and patterns allows for more targeted promotions and better customer service. "For the business owner, that's like gold, because they can target the most influential consumers in the local market of a particular location and then, they can see how well that store did as a result. Anyone who has been in direct marketing will know this sort of thing is rarely achieved," says Pachikara. Outback created a "discussion" with their customers, supported by a series of engaging applications, creating a true win-win. Effective social media efforts should result in a way for customers to convey their desires in a way that the company can use that information to improve services or offerings," says Zimmerman. With results like these, Thuzi's social media success stories have lead to their acceptance into the Facebook Preferred Developer Consultant program as well as a fast growth in their client list. Thuzi's use of Azure extends well beyond their many hospitality clients. In a recent promotion for the Justin Timberlake Shriner's Open Golf Tournament, Thuzi used Azure's powerful CDN (Content Distribution Network) feature. "The Azure CDN added performance and faster response to a graphically intensive application that needed to support millions of Justin Timberlake fans across the globe," said Zimmerman. A Gold-Medal IdeaThe company's latest venture is its most ambitious, however: The Teams application on Facebook. This first-of-its-kind sports network lets users instantly connect within Facebook to share team schedules, rosters, photos and videos in a fun and easy-to-use environment that also allows fans to follow their team. Starting a team is as easy as inviting a new Facebook friend.Teams enables anyone to manage their sports team, league or organization without having to leave Facebook. Users can easily move content from their Facebook profile to the Team Zone to share with teammates and fans. Content is organized by game or event, so users can look back at a season. Additionally, each team created gains access to special promotions, expert training content and other exciting features. "Our Teams application is interesting due to its growth pattern. If we add 100,000 teams, each with 20 fans — that's more than 2 million users — we're confident Azure can scale easily to handle the load. That's probably the first time in my life that I don't have to manage load balancing," laughs Zimmerman. "You don't know if you're going to hit a home run in a day or a week or what. But with Azure you're ready for anything." More Resources
* This article was commissioned by and prepared for Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. |
|||
