Zynga infrastructure CTO: Making hardware cool again

Interop keynote speaker Allan Leinwand of Zynga shares his thoughts on the state of cloud computing and what advice he has for enterprises looking to tap into the cloud

Interop keynote speaker Allan Leinwand of Zynga shares his thoughts on the state of cloud computing and what advice he has for enterprises looking to tap into the cloud.

Allan Leinwand is an infrastructure guy. He's CTO for infrastructure at Zynga, which during the past few years has built the zCloud, which powers some of the most popular social games today, such as "FarmVille" and "Words with Friends." It works by combining the capacity of Amazon Web Service's public cloud with the company's custom-built private cloud. And Leinwand says Zynga's evolution from relying on the public cloud to building a custom-made hybrid cloud, is one he hopes other enterprises can learn from. Leinwand is also excited because finally, he says, infrastructure is cool again. During the dot-com bubble all the talk was all about the Web, networking and storage. Now, with the increasing popularity of the cloud, infrastructure is once again front and center. This year Leinwand will be one of the keynote speakers at Interop (May 6-10 in Las Vegas) where he will discuss the evolution of zCloud and the state of cloud computing today.

GET READY: Interop planning guide

QUIZ: What do you REALLY know about Interop?

FOR FUN: 10 Las Vegas alternatives to Interop

You say that infrastructure is cool again, but isn't the whole idea of a public cloud about outsourcing infrastructure, and getting it off the minds of IT executives?

There's a perception, I think, that public clouds will lead to the outsourcing of infrastructure and IT. But I actually think a hybrid model, which means owning the base infrastructure and renting the spike capacity, is really the mantra of the future. A hybrid model that uses both a public and a private cloud is really the way most enterprises will build their clouds, I think.

READ: How to go hybrid

When I think of cloud, I think of a hybrid cloud environment where you have infrastructure that is owned and maintained by the user and is optimized for your business. Then there is a public cloud component, which is a more generic, homogenous infrastructure that you can tap into and scale with. Using those two in unison is really, I think, going to be the model going forward.

One concern a lot of enterprises might have in building a hybrid cloud model is the interoperability between the public and private clouds. How did you approach that issue when building zCloud?

When we built zCloud hybrid we made sure that we had compute that could move seamlessly between the public and the private clouds. That meant having common hypervisor equipment in the public and the private clouds. We also made virtual machine images that could be used on both the public and the private cloud and we spent time working with vendors making sure that workloads could be moved from the public to the private clouds using a single dashboard. Basically, we knew that if we used a model that people hadn't seen before, it would be hard. So, we made the private portion of zCloud look and feel exactly like the public cloud. One other really important thing, I think, is that we treat the collection of the public and the private cloud as the zCloud. We don't differentiate between the public and the private clouds in terms of how we orchestrate, automate and deploy.

Why wasn't just using a public cloud right for Zynga?

There are a couple of reasons. Our goal with zCloud is to power games that are social, acceptable and fun. On the accessibility side, we wanted to make sure our games are available anywhere on any device, so we wanted control over our infrastructure to do that. We also wanted to be able to scale flexible infrastructure in an incredibly fast way that was tuned for our business. And we wanted to have a little bit more control over the infrastructure itself so we could match it to the exact needs of the business. We wanted to be able to tweak memory and hardware configurations to optimize performance for our needs. When we did that we found that we got a very nice bump in performance. And finally, we made sure that we have multiple layers of redundancy up and down the chain. That means redundancy at the sever level, the power level, the network level as well as storage and DNS all having redundancy.

This is not to say that we don't like the public cloud. We still use the public cloud. But I call Amazon a four-door sedan, and I use that term in the nicest way. It's a generic car that is a useful utility for a number of functions. But for zCloud, we really wanted a car that was built for driving social games. So, we spent a lot of time monitoring game codes and tuning our system for the workloads we actually had. We found that we got a 66% reduction in servers when we ran some functions in the private cloud. In some cases, for every three servers it took to run an application in the public cloud, we did with one in the private cloud. That's not because Amazon's servers are worse than ours, we just built our servers, our networks, storage and compute infrastructure in a way that really matches how social games work. We really took a deep look at how our applications were running and built our cloud to those needs. That's one of the lessons I hope to share at Interop: Really know your applications, know it inside and out, and then you'll be able to learn what infrastructure is best suited for it.

How do you make the determination of which applications run in the public cloud and which run in the private?

Well, I think it really comes down to knowing your applications and their workloads. If you have a particular demand for CPU, storage and network, the public cloud in many ways can satisfy those needs. There are some things that run just fine in the public cloud. If you build infrastructure with particular performances in mind, it's easier to do that in a private cloud and use the public cloud as an extension of the private cloud.

When you took a deep look into how your applications ran, what did you learn and how did that influence the infrastructure that you built?

One thing that's interesting about Zynga is that the games are software stacks, but those stacks also consume lots of services that are common among multiple games. So, for example, we have services that post events out to the social networks, and we have services that help you make payments, while others track leaderboards and do analytics. By watching those communication flows and understanding which services use local caches and which need access to a disc, we were able to build zCloud with all that in mind. People often ask me: "Allan, you were able to save 66% of your servers, what's the silver bullet?" Well, there was no silver bullet. It was a lot of little things that came together from studying our operations that manifested itself into a very nice configuration that we now call zCloud.

One of the chief concerns some have in executing a cloud strategy is related to security. How does Zynga deal with that? Is the cloud OK for running mission-critical apps?

We take keeping player data very seriously. We have security teams that spend time trying to find vulnerabilities in zCloud, in both the public cloud and the private portion. We spend time working with folks in the industry to make sure that the public cloud and the private cloud are secure to a point where we feel we can entrust them with player data. Plus, we spend time educating users about privacy, through games like "PrivacyVille" that we offer. We spend just an enormous amount of time making sure the cloud infrastructure, public or private, is as secure as possible. So, to answer the question directly, do I think the cloud can handle mission-critical applications? Well, I think any piece of infrastructure has the ability to be compromised, whether it's a data center under lock and key from the federal government, or a private data center. I think it's incumbent on the organization using the infrastructure to secure it properly, and it's incumbent on the organization to understand the risks they take in terms of where they put their data. For us, player data is the most important thing and we have teams that make sure it's safe regardless of where it sits.

What are you most looking forward to at Interop?

For me, Interop is the IT show. It's such a congregation of folks across the IT world. You get folks from the storage world, from the compute side, and you get to see the up-and-coming companies. And that's one of my favorite parts of the show, is seeing the startups. If you really want to see some of the latest and greatest technology, visit with some of these smaller companies because some of them really have some exciting things going on. I know I'll be there looking for the next great thing that we can incorporate into zCloud.

So what are you looking to incorporate into zCloud? How do you see zCloud evolving in the future?

One thing we're fortunate to have at Zynga are games that people love to play, and because of that, we've found that we need to constantly be finding ways to make our infrastructure serve our business. There's always another game that's putting a slightly different workload on the infrastructure, there's always some new social dynamic that needs to be developed. And that's what gets me up in the morning: What's the challenge today and how can we make our infrastructure adapt and change to meet those new demands? To me, what I'm looking forward to with zCloud, is making sure that it's flexible and it scales as we need it to. And we're always looking at new technologies to help do that better.

Network World staff writer Brandon Butler covers cloud computing and social media. He can be reached at BButler@nww.com and found on Twitter at @BButlerNWW.

Join the discussion
Be the first to comment on this article. Our Commenting Policies