Ex-Amazon Genius Joins Battle for the Future of Networking

Giuseppe de Candia is the first name listed on one of the most important documents of the internet's last ten years. And now he wants to reinvent the net once again.
Image may contain Text Plan Diagram Plot and Menu
When Giuseppe "Pino" de Candia redesigned the Amazon shopping cart, he changed the way the web was built. But can he strike twice?Photo: Midokura

Giuseppe de Candia is the first name listed on a document that remade the internet. And now he wants to remake it all over again.

Known as "Pino" among friends and colleagues, de Candia was part of a small team of computer scientists at Amazon.com who created Dynamo, a means of storing vast amounts of data across a sea of computer servers. The team originally built Dynamo to power the Amazon shopping cart, but after publishing a research paper describing the technology in 2007, they helped spawn a new breed of database that was soon running many of the net's largest sites, including Facebook, Twitter, Netflix, and Reddit.

Together with a handful of engineers at Google -- who published a paper on an equally massive database called BigTable -- de Candia is one of the founding fathers of the NoSQL movement, whose influence now extends well beyond the big-name websites, stretching into the data center that underpin all sorts of businesses.

"If you look at every NoSQL solution out there, everyone goes back to the Amazon Dynamo paper or the Google BigTable paper," says Jason Hoffman, the chief technology officer at the San Francisco-based cloud computing outfit Joyent. "What would the world be like if no one at Google or Amazon ever wrote an academic paper?"

>You can't put real people and real cars and real trains into a virtual metropolis. But if you build a virtual network, you can populate it with real network packets. After all, they're just 1's and 0's.

Pino de Candia quit Amazon in the summer of 2009. "Seattle was a nice place in many ways," he says. "But we really missed the sun." He and his wife left for Barcelona and he took some courses in economic development and international trade, but three years later, he's once again caught up in a movement that seeks to overhaul the internet.

Together with Dan Dumitriu -- another Amazon vet steeped in the science of massive computing systems -- de Candia is one of the key engineers behind a company called Midokura. Much like the oft-discussed Silicon Valley startup Nicira, Midokura deals in virtual networks -- computer networks that exist only as software.

Over the past decade, VMware, Microsoft, and others have helped move the world's computing applications onto virtual servers -- machines that exist only as software -- and now, a new of wave of companies is fashioning software for building complex virtual networks that tie all those virtual servers together. That's a hard concept to grasp, but basically, these companies are moving the brains of the network out of hardware and into software.

Computer networks are notoriously difficult to build and manage, and by moving the complexities into software, virtual networks can lessen this burden -- particularly for large cloud companies like Google, Microsoft, and Amazon; internet service providers like AT&T; and other companies that share their infrastructure with all sorts of other outfits across the globe.

Think of a traditional computer network as a series of roads, highways, elevated trains, and subways that snake through a massive city like New York or Chicago. If you want to change the way people move across the city, that's a serious undertaking. You have to knock down buildings, lay down new roads, and dig new tunnels. But imagine you could build a virtual version of this city on your computer -- and that you could rebuild it whenever you wanted.

With a city, that's only so useful. You can't put real people and real cars and real trains into a virtual metropolis. But if you build a virtual network, you can populate it with real network packets. After all, they're just 1's and 0's. A virtual network can behave like a real network -- and it's so much easier to deal with.

Still skeptical? In July, VMware paid $1.26 billion to acquire Nicira, underlining the importance of this fledgling technology. Some companies are already using Nicira's tools in their live data centers, including eBay and Rackspace, and Google is using technology developed in tandem with Nicira engineers to route networking traffic between its data centers.

De Candia and Midokura aren't quite so far along. The company doesn't have a live customer, and it declines to say whether anyone is testing its software. But after two years of work on this software -- known as Midonet -- it plans to formally announce itself to the U.S. market early next month, and it's set to officially release the technology in December or January.

Dan Mihai Dumitriu and Tatsuya Kato, the co-founders of Midokura.

Photo: Wired/Peter McCollough

Children of the Amazon

The original idea was to recreate the Amazon cloud for Japan.

Like Pino de Candia, Dan Dumitriu was at Amazon when the company built its Elastic Compute Cloud, an online service that offered up raw virtual machines where anyone could build and host their own software applications. EC2 took the virtual-machine idea to extremes -- letting you run virtual computers without setting up your own physical machines -- and Dumitriu saw firsthand just how successful this was. In 2009, after leaving the company and spending some time in Tokyo, he pitched the notion of a Japanese version to a local entrepreneur named Tatsuya Kato.

Kato liked the pitch, and after Dumitriu moved to Tokyo, the two formed a new company with this in mind. But they soon realized this wasn't the best way to go. It was only a matter of time before Amazon launched its own services in Japan, and even the likes of Google and Microsoft have trouble competing with Amazon in this market, where the margins are ultra-thin and EC2 controls so much mindshare. According to one estimate, Amazon's cloud services now run as much as 1 percent of the internet.

>'The moment you take something that was built for a single machine and you run it in the virtual layer, spread out across many machines, you need to do something interesting.'

Giuseppe de Candia

The better plan, they decided, was to join the burgeoning effort to create an open source version of the Amazon cloud -- something that anyone could run in their own data center. "We wanted to be a software company, not a service provider," says Dumitriu. "That seemed like a better bet -- and it was more in tune with who we were as people."

Like Nicira, Midokura joined the OpenStack project. Founded in 2010 by NASA and Rackspace -- Amazon's primary competitor in the cloud game -- OpenStack seeks to remake data center software so that private facilities can juggle and distribute computing resources as nimbly as Amazon does with EC2 and its other Amazon Web Services. The open source project provides instant access to virtual servers, virtual storage, and, yes, virtual networks.

Somewhere down the line, Dumitriu and Kato zeroed in on virtual networking, and they recruited Pino de Candia to help lead the engineering team. Like Dumitriu, de Candia had very little experience with hardcore computer networking. But in some ways, says Dumitriu, the company's chief technology officer, that's why they're suited to the project.

Dumitriu and de Candia worked side-by-side on Amazon's back-end infrastructure, and both were recruited to the company by Werner Vogels, who now serves as chief technology officer for Amazon Web Services. Dumitriu and de Candia first met in the mid-1990s at Cornell University, where they worked in a distributed systems research lab overseen by Vogels, and before moving to Amazon, both were part of a Vogels-led startup called Reliable Network Solutions. In other words, they have long history with the science of building massive computing systems, and that gives them the perspective they need in building the new breed of computer networking.

"I had never really been interested in networking before. I found it boring," says de Candia. "But when you do it in software, it requires a really innovative approach involving distributed systems. The moment you take something that was built for a single machine and you run it in the virtual layer, spread out across many machines, you need to do something interesting."

Distributed Coders, Distributed Software

Yes, Dumitriu lives in Tokyo, and de Candia lives in Barcelona. But like so many modern businesses, Midokura was content to build an engineering team that collaborated across the web. de Candia put together a core group of developers in Spain, and the company has since opened an office in San Francisco as well. If nothing else, this serves as a nice metaphor for the company's technology.

In short, Midokura has built a "controller" for creating and managing virtual networks. These networks use virtual network switches to connect virtual machines, and they route traffic between these virtual switches using what's called a "tunneling protocol." A tunneling protocol lets you run one network protocol over a network that’s built for different protocol. In this case, you can build a virtual Ethernet network atop a network that uses the Internet Protocol, or IP -- the protocol that connects machine on the internet.

>You can build networks that operate independently of the hardware running beneath them. The network hardware is used merely to forward network packets, and all the complex stuff can happen in software.

What this means is that you can build networks that operate independently of the hardware running beneath them. The network hardware is used merely to forward network packets, and all the complex stuff can happen in software.

Midokura's controller will be sold as commercial software, but it works in tandem with the open source OpenStack platform. In other words, Midokura like Nicira in more ways than one. Nicira is the primary driver behind OpenStack's Quantum project, a framework that lets you plug virtual network controllers -- including its own -- into the larger OpenStack platform.

But according to Dumitriu, Midokura's controller differs from Nicira's in some keys ways. Most notably, he says, Midokura's controller is "distributed," meaning it runs across the many virtual machines it's controlling, on the "edge" of the network, rather than on one central system. The result, he says, is that the controller is closer to the traffic being managed and that this gives you more, well, control.

Nicira doesn't agree. Martin Casado -- Nicira's chief technology officer and co-founder -- says the company's controller operates in much the same way. "Our controller isn't centralized. It's distributed," he says. "We have a presence on the edge -- close to traffic -- as well and just as much control."

Asked about Midokura's controller, Casado says he knows very little about the company's efforts. "We've never seriously seen them in the market, and outside of their website, there isn't much to go on," he says. "Having never seen substantial presence in the field, my guess is that they're pretty far behind."

This is what you'd expect him to say. Midokura is indeed behind Nicira. But according to Dumitriu and de Candia, Midokura first began work on its controller in 2010, well before the world was aware of Nicira's work, and as it stands, everyone is behind Nicira. After all, it was just purchased by VMware for $1.26 billion.

Midokura can't match that. But Dumitriu and de Candia point out that Midokura is now the fifth largest contributor to OpenStack -- by one measure -- and they're adamant the Midokura controller will provide some additional competition in a market that's only just getting started.

When you consider the company's pedigree, it's at least worth listening to.

Update: This story has been updated to say that Midokura will officially release its network controller in December or January. Previously, the company had told Wired it would beta test the tool in December or January.