Best practices: Position your nodes where your data is

Operate nodes in close proximity to data sources

Microservices that prepare data from a database, another program, or a machine should operate near the data source. Often, multiple accesses to the data source are required to process a request. Keep the latency low.

Data sources should not be directly accessible from the cloud

It is not necessary to run your database in the cloud. Install a node right next to the database. Microservices on top of it control access to the data and prepare it. Databases can then be located behind the firewall and do not require a static IP.

Do not send entities across the network

Prepare the data in advance. Deliver only what is really displayed and needed in the application. Microservices can easily do that on a node near the database. They also separate the application from the structure of the database. So you can change this application and database without changing the other one. Only the microservice in between has to be changed when the application or database changes. Remember: a single node can run hundreds of microservices to prepare data for different applications.

Operate interfaces to other programs where they are installed

If you get data from other programs or pass data, a node should be positioned near this source. Because only data that is really needed elsewhere should be transported over the network. Filter and edit the data before it goes on its way.

Machinery and devices

If you control machines or if devices provide data, such as access systems or time recording, use a node as a gateway to the network. Microservices can drive the interface to the hardware, prepare data, cache data, and control access. - Innovative Distributed System