Hacker News new | comments | ask | show | jobs | submit login
Ask HN: Node stack for production web app in 2018
3 points by greatNespresso 6 months ago | hide | past | web | favorite | 4 comments
Hi folks,

Having played for long with Node on toy projects (mainly web targeted as the question suggests) I have always enjoyed the freedom of composing packages for everything, in a light Flaskish way and it turned out to always be sufficient for my needs.

Today, however, I am considering launching a more ambitious app, and I am feeling doubtful about my koa + sequelize + passport traditionnal backend setup for this use case.

Still, if React and Vue owns all the attention on the web right now, I haven't managed to find out a thread on the usual/accepted Node stack for backend, currently in use on production web app, as the prod and cons associated.

Are Frameworks like Meteor the usual way of going as in other languages like Python or Ruby, is MEAN still a/THE thing for Node considering the drawbacks associated with NoSQL, do you rather externalize services to PAAS like Firebase ?

Having, again, no experience with Node business apps, I would be eagerly curious and thankful for you to share your stack and opinion :)

Thanks !

These days you shouldn't use a monolithic architecture IMHO, you should consider creating services or microservices with Node.js to provide API's to a "headless" frontend.

Depending on your "workloads" you can start simple with just API's to support your frontends, and then expand your architecture to include services for other services. You would need to consider whether you need caches (redis) or databases (postgresql, mongodb, etc). All these can be containerised as well.

There are also frameworks such as next.js and nuxt.js which can ease the server side rendering side of things, depending on your choice of frontend view library (React/Vue).

In terms of orchestration and deployment, consider building your services with a Dockerfile.

I've had some success for personal projects using something like Rancher (1.x) for easier orchestration and scaling of containers. But at some stage you might want to learn how to use Kubernetes, since it seems to be the in thing now for container orchestration, scheduling, etc. Rancher allowed me to manage hosts and clusters on multiple cloud providers once I had the Rancher manager node setup.

So it can vary from case to case, depending on what your app actually does, you could still use koa+sequelize + passport for your API's. The above are just my own suggestions.

If you choose to go down the serverless road I would recommend checking out the Serverless framework, which can help you with deving as well as deploying to your cloud provider of choice.

Good luck!

Micro Node.js microservice library: https://www.npmjs.com/package/micro

React SSR framework: https://nextjs.org/

Vue SSR framework: https://nuxtjs.org/

Rancher for Docker things: https://rancher.com/docs/rancher/v1.6/en/

Serverless: https://serverless.com/

Thanks a lot for the reply ! Indeed, I was lurking on micro services with go, but never considered applying that to node jsesque apis (feels silly now actually). Your approach seems fair and the way to go. Thanks a lot for the links, will definitely check it out, rancher particularly if it can make the eventual switch to kubernetes easier.

If you're looking for a full-stack approach, you could check out the Meteor/React/GraphQL framework I've been developing: http://vulcanjs.org/

Nice, did not know of vulcanjs, will have a look for sure ! Thanks !

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact