20 Tips for Building a Scalable and Robust Node.js Stack that Developers Love

Status:
Accepted

The platform team at eBay recently embarked on a mission to provide a new Node.js-based web development stack that developers would love using. Despite being an entirely new ecosystem to most developers, we wanted to introduce a stack that had a minimal learning curve, performed extremely well and made front-end web development fun again.

We recognized that as web applications grow in complexity it becomes increasingly important to provide a web development stack that shields developers from potential problems and allows for maximum developer productivity. The team decided to rethink some of the industry norms to see how we could simplify the toolchain and make it easier for developers to build an application that interacts with a myriad of complex infrastructure pieces. In addition, we also never lost focus on the requirement that the stack must scale extremely well. In this talk we will share our tips and solutions, including but not limited to:

  • Avoid build tools and build steps
  • Be flexible, don't use a restrictive framework
  • Avoid introducing “magic” and still hide complexity
  • Expect services to fail and have a backup plan
  • Minimize developer idle time and provide instant feedback
  • Automate using scaffolding and command line tools
  • Organize project files to enforce modularity and best practices
  • Keep documentation up-to-date and easy to digest
  • Automatically optimize the delivery of JavaScript and CSS resources

This talk is a must for all web developers who are interested in improving their productivity and building high performance web applications that are easy to maintain.

Session details
Speaker(s): Session Type: Experience level:
Intermediate
Track: Tags:
web
Schedule info
Session Time Slot(s):
Grand Peninsula G - Wednesday, March 19, 2014 - 11:15 to 11:50

Comments

You mentioned that you are introducing a new web stack. Is this an open source, or generally available stack, or is it internal? Do you have a link to it?

I'm unsure if you are presenting the stack itself, or your experience building an internal stack.

Public comment

Hi Ian,

The focus of this talk would not be the stack itself, but rather or learnings about building a new stack. However, during the talk we'll definitely be sharing some of the open source modules and techniques that helped us along the way. In theory, the tips can be applied to any stack on any platform but there will be some references to Node.js-specific solutions.

To answer your other question, the Node.js stack at eBay is a combination of open source and closed source Node.js modules. The only modules that are closed source are those that interface directly with eBay-specific infrastructure. We used open source modules wherever possible and contributed to open source when there was no good option. The following are links to some of the open source modules contributed/libraries by eBay:

We've also contributed back to existing open source modules while building the stack.

I hope that clarifies, but let me know if you have any other questions.

Thanks,

Patrick

 

Public comment