CRUD operations on site from external application
I use a custom module to do this very thing in D7. It works like this:


The internal applications write to a transaction log (a database table) reflecting changes that will need to be added/edited/deleted on the site.
A simple API app exposes this transaction log over the Internet, with API keys.
The Drupal site reads new transaction log entries (it remembers the last log entry it synchronized) from the API then queues and makes the node changes when cron runs. 


You could do something similar in D8. Or, considering Drupal 8 has a RESTful API, you could instrument your internal application to make synchronous changes to the Drupal site.