Why Node.js is a Great New Technology for the Cloud

Node.js logo- why node.jsAs with many technologists, I have developed and managed teams that have worked on various languages from interpreted to compiled. A few years back I jumped on the client-side Javascript web programming bandwagon due to new and emerging JavaScript frameworks like jQuery and Yahoo YUI. I really enjoyed the power of these frameworks and the way they allowed for easy manipulation of the HTML DOM, which is always an important capability when creating web based applications.

 

Most recently, I have been playing with Node.js which is essentially an open source server-side event-driven JavaScript environment that implements Google’s V8 JavaScript engine. So what is so great about Node and why would I use it in the cloud? First and foremost it is JavaScript, which allows front-end web developers who are familiar with writing JavaScript to utilize good old JavaScript on the server in a very similar fashion to writing client-side JavaScript. I remember in college one of my Computer Science professors saying, “Good programmers can program in any language because once you know how to program the rest is just syntax.” I still think this is true; however it is so much nicer when you don’t have to go through a syntax learning curve.

 

In addition to being JavaScript based, the other great thing about Node is it uses an evented model and it is totally non-blocking. This means that Node can handle simultaneous requests exceptionally well because it never gets in a wait state that takes up resources.  Another way to put it, an application on Node.js will probably out perform an application on most any other type of dynamic application server. Although Node is fast, performance will depend on a whole host of factors, starting with the specifics of what you are doing in an application. 

 

Finally, Node is very well suited for distributed applications that need to be highly scalable and work across multiple machines. This is an important attribute when scalability and availability are key concerns, as with many SaaS applications today. To better understand the value of the event-driven model that Node.js uses, check out the great analogies in this post: “Node.js, Doctor’s Offices and Fast Food Restaurants – Understanding Event-driven Programming”.

 

So what’s the downside? It is still a fairly young project that is being quickly iterated, and as a result has quite a few issues/bugs. As I write this post, the latest release is version v0.5.0. The project does, however, have some velocity and there are already 2500+ repositories for Node.js related code on github. Thus, if you are a technologist who enjoys playing with the latest and greatest, and the buzz around Node gets you excited, then you shouldn’t hesitate to install it and start coding. Better yet, why not contribute back to the community and help shape the project going forward?

 

In a future post, I will cover some code examples using Node.js and discuss in detail some more specific use cases that Node is a great fit for. In the meantime, if you want to learn more about Node follow fellow HP employee Tim Caswell’s blog: How To Node.

 

Node.js and graphical logo are trademarks of Joyent, Inc.

3 comments
Comments
by Lennie(anon) on 07-20-2011 02:43 PM

Hi,

 

You forgot to mention that WebOS uses nodejs as well.

 

Have a nice day,

 Lennie.

by Rupak Ganguly(anon) on 07-20-2011 03:12 PM

Ross,

   Great article. Be sure to checkout Peepcode's nice screencast on Node.js. With almost 2500+ modules available for node.js (http://search.npmjs.org/), the poppularity is definitely growing. I have found Felix's Node.js Guide to be very useful as well. Another one is the Node Beginner Book which is not yet complete, but a good start. Also, if you play more on the client side of things, give JSDOM a twirl. 

 

Thanks,

Rupak Ganguly

by RossJimenez on 07-21-2011 07:58 AM - last edited on 07-21-2011 08:00 AM

 @Lennie yes that is absolutely correct and I should have mentioned it.Node is built into webOS.  Developers can even write node (javascript) services that run in the background in webOS.  To find out more about developing webOS javascript services check out the developer documentation.

 

@Rupak those are some great resources, I personally like the Node Beginner Book and also have the Peepcode screencast.  I will have to check out the other resources, thanks for sharing.

Post a Comment
Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
About the Author
  • Zorawar Biri Singh is senior vice president and general manager for Cloud Services at HP. He has global responsibility for HP’s public cloud infrastructure, platform services, cloud solutions and cloud ecosystem for developers, independent software vendors, service providers and enterprises. Singh has more than 20 years of global leadership experience as an executive and serial entrepreneur in enterprise IT, online advertising, e-commerce and telecommunications. He has an extensive products background in infrastructure software, cloud computing services, data center and internet scale-out infrastructure, and networking. Prior to joining HP, Singh was vice president of Cloud Computing at IBM, where he helped lead corporate-wide strategy and solutions for cloud computing. He joined IBM in 2008 through the acquisition of Encentuate, Inc., an identity and access management security company, where he served as chief executive officer. Singh also previously served as CEO of Pivia, a network acceleration appliance company acquired by F5 Networks; JRG, a Consumer Packaged Goods-focused software-as-a-service company acquired by CDC; and e-commerce startup Idapta. Earlier, he was chief operating officer of RelevantKnowledge / MediaMetrix, a pioneer in online advertising ratings and Internet audience measurement, which today is part of comScore Inc. Singh started his career at NORTEL as a product line manager. Singh holds an MBA from the University of North Carolina, Chapel Hill and a Bachelor of Arts in economics from North Carolina State University.
  • Blake is a Product Manager in HP's emerging Cloud Services focusing on cloud products and technologies. Prior to joining HP, Blake served as the Product Line Leader for Cloud Compute at San Antonio based Rackspace Hosting, a provider of hosted IT services and Cloud Computing. During his tenure there, Blake's team focused on driving the development and growth of the Cloud Servers product line and launching the Managed Cloud Service Level. Previously, Blake was VP of Research and Development for Gandinnovations, a grand-format digital inkjet printer manufacturer based in Toronto. Blake lives in San Antonio, Texas where he and his wife enjoy spending time outdoors running, bicycling, fishing and hunting. They are also avid travelers who enjoy seeing new places and sampling the local fare. Blake can be reached via email at blake.yeager@hp.com or on twitter: @Blake_Yeager.
  • Brant leads HP Cloud Services’ Product Management function for those parts of our system that are behind the scenes or that span our service offerings. Included in that is the Identity Service, the Manage console, the Bindings and CLIs, system security, the billing system, sales and support tools and others. Before joining HP Cloud Services, Brant spent many years in other parts of HP where he, among other things, managed the first 2G wireless iPAQ Pocket PC offering, oversaw the development of the industry’s first low cost fingerprint reader, devised the BioAPI consortium and was Marketing Chairman for the Trusted Computing Platform Alliance. Brant lives in Houston with his wife and family where he’s an avid swimmer and Boy Scout leader. He also enjoys skiing, snowboarding, scuba diving, rafting and kayaking. He even once fought off a wild bear – you can bet there’s more to that story. Brant holds degrees from Claremont McKenna College, Dartmouth College and MIT. He can be reached at brant.jones@hp.com or you can follow him on Twitter: @partly_cloudy1
  • Recently joined HP’s services lab with a focus to identify ways to pull lab activities into HP Services as well as harvest some of the ideas and opportunities in the services organization back into the research space. I've been utility player for EDS (and now HP) performing a variety of roles in recent years like the Chief Technologist of EDS' Application Delivery organization, the acting VP for Application Portfolio during the creation of EDS' application portfolio strategy and the chief technologist for the relationship between EDS and a large consumer products company. I've supported a variety of industries including process manufacturing, discrete manufacturing, engineering, consumer products, financial systems and health care. I am known as a team builder who interfaces across and within organizational boundaries to develop team solutions and I constantly strive to understand innovation both within and outside HP. My value has been that of a pioneer-- typically knowing where the explorers have gone and identifying the best path for others to follow. I try to cultivate a large resource network inside and outside HP, which helps facilitate the process of clearing overgrown routes and enabling efficient and effective movement of the larger group to meet common and corporate objectives.
  • Darlene has 20 years technology marketing experience and currently works with HP’s Cloud Services. She has held a range of positions within marketing with Tandem, Compaq and HP, including working in the gaming, media, entertainment and telecom industries. Prior to HP, Darlene worked in telecom industry with customers from enterprise, small and midmarket, and consumer segments. She held a variety of roles across marketing, sales, customer satisfaction and quality management at Nortel, Pacific Telesis, and PacTel. She has taught public relations, has been a Texas and California state examiner for the National Malcolm Baldrige Quality Award, and an ISO auditor. She received her degree from Pepperdine University and although originally from Southern California, she currently resides in Austin, Texas. Darlene can be reached via e-mail at darlene.lynch@hp.com
  • Gavin Pratt is on the HP Cloud Services product management team, where he focuses on storage, networking, and CDN services. Before joining HP Cloud Services, Gavin held a number of corporate and business unit strategy-related roles at HP, where he spent a significant amount of his time on cloud computing. Before HP, Gavin worked at a small technology startup, and before that, he worked at The Boston Consulting Group. Gavin holds an MBA in Finance & Strategic Management from The Wharton School and a BA in Economics from Yale University. He lives in the Bay Area with his wife, and he is an enthusiast of: travelling, sushi, standup comedy, and everything technology-related.
  • Jeff wrote his first e-commerce site in 1997 for an amusement park, spent a few years at Whole Foods Market managing web server load, creating CMSes and writing web interfaces to pricing systems, spent a decade doing all manner of Perl, PHP and Ruby projects at a small web consultancy and is now the server guy on the Developer Experience team at HP Cloud Services.Jeff lives in Austin, Texas with his wife, new baby and very cute corgi. You can find him on twitter as @jeffk, posting about interesting augmented reality, 3d manufacturing and other near-future technologies.
  • John Purrier is Vice President of Cloud Infrastructure for HP Cloud Services. John oversees engineering, service/technical operation and customer satisfaction. Prior to HP, John worked as a director of OpenStack at Rackspace, where he drove the development of this industry leading open source cloud computing project. John brings more than 30 years of technology expertise to HP, with roles at IBM and Microsoft, as well as a variety of startups. Over the course of John’s career he has served as chief software architect, director of product development, CTO and has been the CEO of two different companies. John lives in San Antonio, TX and enjoys live music and spending time with his family and friends.
  • Karen Reynolds is Director of Marketing Communications, ensuring the HP Cloud Services vision and strategy are communicated with world-class execution. Her responsibilities include leading and driving brand identity, messaging, PR/AR/Influencer relations, event marketing and executive communications and employee engagement activities, ensuring alignment across the team as well as HP. Prior to joining HP’s public cloud team, Karen led executive communications for PSG Americas, HP’s largest regional business where she provided strategic communications counsel to the SVP and GM of HP’s PC business and led messaging across the region’s senior leadership team. Karen has over 25 years’ experience in technology communications and has worked for iconic Silicon Valley companies, including leading global marketing and communications for companies both large and small, such as Azul Systems, Autodesk and Sun Microsystems. You can follow Karen on Twitter @karenreynolds.
  • Marc is the Director of Product Management for HP Cloud Services. Marc’s team is responsible for defining and prioritizing the services and features deployed on hpcloud.com and working with other HP teams, customers, and ecosystem partners to create public, private and hybrid cloud solutions. Prior to joining HP, Marc served in a variety of product management roles with his 11+ years at Dell and 5+ years at a local startup in Austin, Texas. While at Dell, Marc worked in the Data Center Solutions, Web/Customer Services, Enterprise Products, and Client Systems Groups. Before Dell, Marc worked at Asyst Technologies (formerly “PST”), a company that specializes in semiconductor and flat panel display factory automation solutions. Marc lives in Austin, Texas where he and his wife enjoy spending time running around to different kid activities. Marc also likes tinkering with media solutions and relaxing with movies and music.
  • Margot has over 12 years experience in technology product marketing, product management, and corporate marketing. Prior to joining HP, Margot served as Director of Product Marketing for YouSendIt, a cloud collaboration, cloud storage, and cloud file transfer provider, and Director of Marketing for Space-Time Insight, a business intelligence software vendor. Previously, she was director of product marketing for companies including Imperva, a web application and database security vendor, and Merced Systems, a performance management software company. Margot founded a mobile games startup that launched an iPhone game in the early days of the iTunes AppStore. Earlier in her career, she served as Senior Manager, Product Marketing for Hyperion Solutions’ business intelligence products. Margot lives in San Francisco, California where she enjoys exploring the city. Margot can be reached via email at margot.rudell@hp.com.
  • Monty is Manager of Developer Automation and Infrastructure for HP Cloud Services. He runs the developer tooling, automation and process for the OpenStack project, is an at-large member of the OpenStack Project Policy Board, and is a regular conference speaker around the world. Monty has been with OpenStack since its inception, but before that was a core developer on Drizzle at Rackspace, and a Senior Consultant at MySQL, Inc. He's also started several companies related to Open Source software for the entertainment production industry, and he is an accomplished lighting designer. Monty splits his time between Seattle and New York where he works with several bands and theatre companies.
  • Pete Johnson created one of the first web applications ever built inside Hewlett Packard during the mid 1990's, served a stint as the HP.com Chief Architect, and now works on HP's cloud initiatives. You can find him on Twitter or LinkedIn as nerdguru and his retired blog on the importance of soft skills in technical careers can be found at http://blog.nerdguru.net
  • Peter is a project manager in HP’s Cloud Services business, engineering HP’s upcoming global-scale public cloud. Prior to this he managed research in HP Labs on automated cloud infrastructure, and led the HP Labs SE3D program, a cloud-based service for digital media production, which — among other things — showcased the world’s first automated, market-based computing utility.
  • Business Technology Leader and Strategist with expertise in building and managing cost-effective and high-performance technical teams in both tactical and strategic operating models for complex global organizations. Deep technical knowledge of software architectures and emerging technology with practical experience in all phases of the software lifecycle, from initial feasibility and opportunity analysis to design, construction and enhancement. Skilled and experienced at presenting complex technical information at an executive level and clearly articulating the implications and opportunities that arise to improve cost structures or create strategic advantages.
  • Rupak started writing web applications 1992 and had worked on an engine to embed dynamic data into HTML pages, to drive a live webcast of the World Cup Cricket in 1996. He has since dabbled in C/C++, .NET, Ruby and Rails platforms. He has worked at Compaq and then HP, as a Solution Architect on their eCommerce website for many years, before moving into the HP Cloud Services, Developer Experience team in 2010, working on the next generation cloud platform focusing on building applications, the Ruby language bindings, the Unix CLI, and Openstack APIs to enrich the developer experience. To fuel his personal passion as a developer, Rupak has been developing applications in his spare time, using Ruby, Rails, and Titanium. He loves, supports and contributes to OpenSource software and to that end, he also serves as the Managing Editor for the Rails Magazine, a free magazine for the Rails community. Rupak Ganguly lives in the Greater Atlanta area of Georgia with his lovely wife and two kids. He can be reached at Twitter @rupakg and also blogs at http://rails.webintellix.com
  • Sandro is assuming product management responsibilities for Data Services programs, including Databases, Memcache, and Analytics. He joined HP (through Compaq merger) 10+ years ago as Software Product Manager. He has been creating products in various domains: Telecom Service Level Management, Business Intelligence (strategic Analytics and CIO Scorecard) and IT Service Management. He recently was a Product Marketing Manager on HP Cloud Service Automation. He was mostly responsible for Dev-Ops initiatives, Service Providers market, technical marketing and supporting EMEA business. Prior to HP, Sandro worked as a R&D Director for Swisscom (Swiss incumbent telecom service provider) leading several projects in the area of Customer Care, Service and Network Management. Sandro holds a PhD in Computer Science that he obtained at university of Nice Sophia-Antipolis. • Soccer: member of HP team, coach (for youth soccer) and as well as a fan of OGC Nice (the city he was born in) • Travel: special fan of paradisiac island (Hawaii, Seychelles, Tahiti, …) • Food: I am half French and half Italian!!! Sandro can be reached via email at sandro.mazziotta@hp.com or on twitter: @smazziotta
  • Steve Loughran is a researcher at HP Laboratories in the UK on datacenter & cloud computing infrastructure. He is the author of the book "Ant in Action", is an Apache member and a committer in the Apache Ant and Apache Hadoop projects. He is also an evangelist of test-driven development and specializes in breaking things.