It really depends on your specific requirements. For my home automation stack all I use is mosquitto MQTT and some RESTful services. The rest is various programs and scripts that all work with either MQTT or REST or both. I simply use JSON for payloads that way things remain simple.
As for logging, syslog meets all my needs. BTW, I log some MQTT events to syslog using a script with several wildcard subscribes.
Data migrations, only ad-hoc, mostly one-shot, so its just basic scripts that get the job done.