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.”
Albert Wenger, a partner at Union Square Ventures, says that the firm thought carefully about the competitive market before investing in 10gen. “We feel that [cloud computing] is a deep and profound shift in how computing is done, and it’s not going to play itself out overnight,” he says. Wenger adds that in light of that fact, he is particularly attracted to 10gen’s potential to start a community centered around building open-source infrastructure in the cloud. He envisions an open-source system that makes it easy for any individual to have access to the infrastructure that he needs to build a Web application, increasing the possibility that important Web applications will be built and distributed.
10gen has developed new technology for its system. Like BigTable and Amazon’s database, Mongo gets away from traditional relational databases, which Merriman says can have problems performing typical operations when data is stored on large numbers of machines. Instead, Mongo is an object database, meaning that information is organized around the objects being represented rather than around the relations between objects. Merriman says that this design works well with many of the programming languages used for Web design, which also encourage programmers to structure an application around objects.
10gen is still working on its business model, Merriman says, but he expects that the company will partner with hosting providers, layering its software over their hardware to make it easier for customers to set up and manage Web applications.