Причина, по которой вас просят не предоставлять общий доступ к базам данных, заключается в том, что вы связываетесь с другими службами только через API-контракты и ничего больше, предоставляя вам свободу изменять что-либо за вашим API.
Теперь, независимо от того, разворачиваете ли вы все свои сервисы на одном узле или на n разных узлах, микросервисы не определяются. Это продиктовано вашими требованиями, масштабом и степенью устойчивости системы.
Если вам нужно масштабировать, вы можете сделать это, развернув один и тот же контейнер на одном и том же узле несколько раз, но это не даст вам отказоустойчивости, ваша машина выйдет из строя, а ваша служба будет недоступна. Наличие их на двух разных узлах или в двух разных местах в целом зависит от ваших требований.
У каждого из них есть свои плюсы и минусы, и это ваш выбор.
Сегодня инфраструктура может быть абстрагирована от вас. Вы работаете с kubernetes, и вам может не понадобиться знать или беспокоиться о том, развернуто ли ваше приложение на одном и том же узле или на разных.
Вы беспокоитесь о доступности и до тех пор, пока базовая система гарантирует, что в какой-то степени вы должны быть хорошими.