JSFoo Coimbatore 2019

JSFoo Coimbatore 2019

On building faster, performant and secure web applications

Shreyansh Pandey


Architect for Scale - My Learnings in Node.js (A case study)

Submitted Mar 17, 2019

When faced with the inevitable question of choosing a framework, people often times go for the most popular and hardly do the research on why others may serve their purpose. Deployment is another issue; microservices? Monilithic? Docker? What about testing? And security? They are a lot of questions. With this conversation (rather than a “talk”), I will try to justify the good and the bad use-case of each of the technologies.

By the end of this talk, the attendees should have a nice grasp on the pros and the cons of some of the most popular libraries, design patterns and mechanisms in the Node.js/JS world and when should they use which.


  • Why this talk
  • Introduction
  • How not to do Logging
  • My experience with security and JWT
  • JSON vs. RPC
  • Why “express” isn’t the answer to every problem
  • Detecting and debugging memory leaks in production.
  • Network and service mesh layer
  • When to use HAProxy (vs. nginx)
  • Bits of bad code I have seen
  • Conclusion and QA

Speaker bio

In my career as a JavaScript developer and backend architect, oftentimes our teams have faced these age-old questions and have opted to choose whichever was the easiest. While good for RAD/MVP, every technology has its side-effects which are, more often than not, misunderstood or misconstrued. Further, a talk with just a bunch of slides gets boring really fast. I try to combine experience, story-telling and technology (and some humor) to keep the audience engaged while making sure that they learn as much as they possible can.

I have worked with startups of all sizes (a pretty cliché line) and I have faced numerous problems (read: disasters) while writing code; some have been slipped under the carpet whilst others have led to some losses. In the end, there is a saying - “if a developer wrote perfect code, everyone else would be out of a job.”



{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}