stack

About the 10gen Stack

At 10gen, with the shift to cloud computing, we feel the time is right for a "technology refresh" of some of the classic elements of the web application software stack. A new set of tools built with a cloud environment in mind from day one should, over time, provide new capabilities and flexibility for web application development. Of course, such an approach is a large project, and it will take time for these new components to reach maturity.

Chart - LAMP & 10gen

Examining the components from the bottom up:

  • OS: the system tries to be operating system agnostic, and makes few assumptions about hardware and OS capabilities (for example, no requirement for a SAN). We recommend using Linux for production clouds, although this is not essential. Note that 10gen does not use operating system virtual machines: rather, it uses a sandboxed execution environment.
  • Mongo Database: Mongo is an object-oriented database management system. See this blog post for more information on the database philosophy.
  • GridFS: 10gen provides a global filesystem, GridFS. The file system stores objects within the Mongo database.
  • Application server and runtime environment: the 10gen application server provides the web server and execution environment for your web applications. The application server is "grid aware", securely sandboxing several client contexts on the same machine. The 10gen runtime environment utilizes the Java virtual machine for execution of code.
  • Language support: over time the goal of the 10gen system is language neutrality. The first language available on the platform is Javascript; the second will be Ruby. 10gen's Javascript compiler generates java code, which is then compiled with javac into JVM bytecode, yielding very good performance.
  • Grid management: wrapping the stack is a grid management layer which takes care of machine management, scaling, and load balancing. 10gen uses Git for version control and deployment management.

s: search   h: home