Razorfish is a digital advertising agency now owned by Microsoft. It does media buying and other things along those lines that ad agencies do. However, it also designs digital user experiences and implements the technologies used to deliver them.
In other words, it's a company with a lot of technical savvy and experience when it comes to IT infrastructures that have to operate at high scale and respond to serious traffic spikes. A couple of weeks back, I had the opportunity to speak with Razorfish's Tobias Klauder about cloud computing; he's the director of IT software engineering and is responsible for internal applications and systems.
The proximate reason for the discussion was Razorfish's work with Rackspace's cloud hosting division, Mosso, to "build consumer-facing websites and web applications that can handle large traffic spikes during promotions and product launches of brands." However, we mostly discussed cloud computing more broadly. Here were some of the takeaways of which that I took particular note.
Razorfish is operating its internal systems more and more in the style of public cloud providers. Almost nothing runs on a dedicated physical server. They're also consolidating down from 25 data centers to three. Klauder told me that big enablers here were cheap bandwidth and wide area network (WAN) acceleration--for which Razorfish uses Riverbed products. Razorfish also uses co-location facilities to optimize bandwidth use.
Razorfish still runs most of its internal applications in-house. However, it's actively looking at some common software-as-a-service (SaaS) targets such as e-mail and customer relationship management software. From Klauder's perspective, the cost savings are there. The question is do "the cost savings outweigh the risks?"
Klauder also sees a lack of what he calls federation in today's SaaS. Infrastructure vendors tend to use federation to mean things like the ability to dynamically run a given workload on either a public or a private cloud. Klauder uses it to mean something slightly different that's more along the lines of seamlessly integrating SaaS apps with internal systems. As he put it, "creating an experience where it's invisible to the user whether a SaaS app is inside or not."
Although Klauder is clearly bullish on cloud computing in general, he sees some applications--or application components--more suitable for cloud hosting or content delivery networks than others. For example, back-end systems that need to be extensively customized or that make heavy-duty use of a content management system are probably not good candidates for moving into a public cloud. However, such systems can work in cooperation with other application components and services that do lend themselves to a cloud environment. In other words, not everything needs to run in the same place. (Online photo site SmugMug provides an example of this sort of approach.)
We then discussed Microsoft Azure, which is often described as a form of Platform-as-a-Service. One of the knocks on Azure is that you can only run on it in Microsoft's cloud; you can't run your own private Azure cloud. However, so long as the application was suitable to running entirely out in the cloud someplace, Klauder said he didn't find the lock-in issue particularly worrisome. In fact, he generally endorsed the idea of vendors competing on the basis of unique differentiation that users need. As he put it: "I don't see benefit to getting the exact thing from three different providers; then you're just competing on price, not features."
I think this last point is particularly interesting and important. Standards, interoperability, and transportability are all virtues in the general sense. But there's always going to be a tension between the commoditization that implies and unique value stemming from technologies that are, well, unique.