October 11, 2012 - by Ben Wen, VP at MongoLab
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.
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:
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).
Managing a business is an act of resource management. Considering People, Infrastructure, and Capital efficiency, Nodestack can help with all three, outlined below.
|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.