Node.js quick summary
One thread – no deadlocks, not expensive thread creation
Npm install – as easy as possible
Javascript – allows almost anything
Public modules – always open source, huge community
Asynchronous – no worker threads
Advantages of small projects
Smaller codebase – easier to maintain
Change-requests are much more efficient
Easy to understand – join and understand new project fast
Less bugs – due to lower complexity
Microservices!!
Build your application as multiple independent projects
Use lightweight communication (i.e. REST API)
Create its own database for each microservice
Microservices in 2017
Automated deploy – programmer does not have to manually compile and
upload to server
Healthchecks – admin does not have „watch“ and repair failing service
Docker – admin/programmer does not have to configure each service
Cloud hosting – cheap, almost no maintance
Advantages of Microservices
Modularity – you can easily deploy one microservice in more applications
Development – more developers can work on the same application
Small codebase – it has all the advantages of small projects
Scalability – different number of instances for each microservice
Pitfalls of Microservice Architecture
Stateless – never ever do transactions through microservices
Data – more databases = count on desynchronized data
„Microservices are great, lets split everything into them“
Have active communication between teams