Nodestack is Node.js, MongoDB, and SmartOS

Efficiency is doing things right; effectiveness is doing the right things.-Peter Drucker

Nodestack is a server-side technology stack composed of SmartOS, MongoDB and Node.js. Each of these components enables developers to create dynamic web and advanced mobile applications more quickly. Modern design patterns like real-time APIs are more scalable and easier to implement with the asynchronous Node.js and with the document-oriented architecture of MongoDB. Taken together, the Nodestack components reinforce each other, yielding higher returns on investment. In fact, like the game-changing “expense vs. capital investment” advantages of Software-as-a-Service, Nodestack makes for a powerful, capital-efficient cloud model with Infrastructure, Platform, and Database as a Service (respectively: Joyent Cloud, Nodejitsu, and MongoLab.) That means that experimental projects can get started with less risk, less capital, and shorter time to market.

Like the popular LAMP stack of Linux, Apache, MySQL and PHP (Perl or Python), Nodestack is a loose federation of independent technology components. In the early 2000’s, LAMP was validation of the open source model in general. Needs have changed with the emergence of dynamic real-time web applications, mobile clients, and massive data sources. Nodestack satisfies those needs effectively and efficiently. Let’s investigate below.

Effectiveness

Software is eating the world, and large-scale APIs are leading the way in innovation. Today a developer will design a web API first, before user interfaces, because HTML5 and mobile applications are simply two more consumers of a web API (albeit with potentially complex UIs). Node.js’ non-blocking IO and MongoDB’s flexible JSON structure are fantastic for quickly building and iterating on highly scalable web APIs. More broadly, Node.js’ growing package support is very well suited for general purpose web applications. Over 15,000 packages at npmjs.org provide powerful capabilities like:

  • The Express.js web application framework,
  • Gracefully negotiated real-time Web Sockets in socket.io, and
  • Jade, a nice HTML template engine.

MongoDB sports two key features for effectiveness. First is native support for JavaScript Object Notation (JSON) making it easier to model common data structures in web applications: e.g. users, accounts, content, logs. JSON has become the de facto standard for modern web APIs (largely supplanting XML) and a persistence layer that naturally stores, queries, and manages JSON makes for less work for developers. The other key feature is support for very large datasets that do not fit easily in other databases, all while providing familiar programming patterns: e.g. primary and secondary indexes, aggregation, mapping tools. Again this makes for more effective developers who can focus their time on a business’ unique challenges.
Strategically, SmartOS, MongoDB, and Node.js are all open source projects with reasonable licenses, which enable use of the same infrastructure across public, private and hybrid clouds. This offers businesses a capability to move investments and capabilities as needed. Principally, business can use Nodestack to optimize for rapid iteration and unknown scale (public cloud) or for dedicated capital investment and fine-grained control with known scale (private cloud) or for some blend of both (hybrid cloud).

Efficiency: Lean lean lean

Managing a business is an act of resource management. Considering People, Infrastructure, and Capital efficiency, Nodestack can help with all three, outlined below.

People Infrastructure Capital
Node.js Build on existing JavaScript skills Async non-blocking IO improves utilization Leverage PaaS (e.g. Nodejitsu)
MongoDB Same development time on scheme changes, ORM mappings Scale out on commodity servers. Leverage DBaaS (e.g. MongoLab)
SmartOS Improved observability with Dtrace Tier 1 Hypervisor architectures; ZFS Zones; Arc Cache; and burstable IO sharing across VMs for less overprovisioning. All improve utilization and VM density Leverage IaaS (e.g. Joyent Cloud)

Another “people” leverage point is that using an “as-a-Service” option means you can outsource commodity operations functions to dedicated teams. This lets you hire and train for truly competitive differentiators in your market. Further, you can contract expert development and design from a growing number of Nodestack providers like Clock Ltd. to build world-class web applications in very short order.

Ultimately running a business is about making choices and executing. Nodestack is well suited for helping you do both well.

Register for the First #Nodestack Online Conference, October 17th to learn more.



Post written by Ben Wen, VP at MongoLab