This week, a startup called 10gen released a preview of its infrastructure software for Web applications, entering a competitive field crowded with startups and the formidable Google, with its Google App Engine. The company received $1.5 million in an early funding round from Union Square Ventures.
As Web applications proliferate, providing everything from multiplayer games to word-processing software through a user’s browser, more and more companies have turned to specialists to provide their infrastructure. Web infrastructure is a thorny problem: building it well requires a different set of skills than building the software at the heart of a given Web application. Scaling a Web application–adjusting resources smoothly in response to growing traffic–is a do-or-die proposition for most Web startups. Too little preparation for scaling can leave a site slowed to a crawl when it gets popular, and too much preparation can leave a company saddled with unused and expensive resources.
Large companies such as Amazon and Google have jumped into the fray of providing infrastructure located in the “cloud” of the Web, leasing their services to startups and other companies. CEO and founder of 10gen Dwight Merriman, formerly CTO of Internet advertising company DoubleClick, says that 10gen hopes to compete by focusing on providing open infrastructure software. Amazon Web Services, which provides processing and storage à la carte, still requires companies to do a fair bit of system administration in selecting and managing the services that they want to implement, he says. 10gen’s system bears more similarity to Google’s, he says, in that both handle most of the management that goes on behind the scenes of an application. Merriman says that he hopes to compete with Google by being open.
The database system provides a clear example of the difference between Google’s App Engine and the 10gen platform, Merriman says. Database systems are very important to a Web application’s ability to scale, since much of an application’s efficiency rests on the speed at which it can store and retrieve data from what can be a vast storage space. App Engine is designed to allow third parties to take advantage of the efficiencies in Google’s proprietary database, BigTable, which, according to Google’s research reports, was designed to store “petabytes of data across thousands of commodity servers.” Merriman says that 10gen has also built its own database, Mongo, and that it, too, is designed to scale well. But unlike Google, he says, 10gen is making this database, and its entire platform, open source. One result is that companies that want to port, or switch, to another infrastructure provider, or start managing infrastructure themselves, can do so more easily. “If you’re using BigTable, and you’re leveraging what it’s really good at, when you try to port to somewhere else, it’s not going to work,” Merriman says. “If you were using the 10gen Mongo database and you wanted to port your app, you would probably have some of the same issues, but the thing is, you can take the database with you if you want.”