
Ask HN: Node stack for production web app in 2018 - greatNespresso
Hi folks,<p>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.<p>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.<p>Still, if React and Vue owns all the attention on the web right now, I haven&#x27;t managed to find out a thread on the usual&#x2F;accepted Node stack for backend, currently in use on production web app, as the prod and cons associated.<p>Are Frameworks like Meteor the usual way of going as in other languages like Python or Ruby, is MEAN still a&#x2F;THE thing for Node considering the drawbacks associated with NoSQL, do you rather externalize services to PAAS like Firebase ?<p>Having, again, no experience with Node business apps, I would be eagerly curious and thankful for you to share your stack and opinion :)<p>Thanks !
======
russianator
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](https://www.npmjs.com/package/micro)

React SSR framework: [https://nextjs.org/](https://nextjs.org/)

Vue SSR framework: [https://nuxtjs.org/](https://nuxtjs.org/)

Rancher for Docker things:
[https://rancher.com/docs/rancher/v1.6/en/](https://rancher.com/docs/rancher/v1.6/en/)

Serverless: [https://serverless.com/](https://serverless.com/)

~~~
greatNespresso
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.

------
sgdesign
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/](http://vulcanjs.org/)

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

