As explained above, if a user runs their own node and wishes to connect it to the BDN, they will need to connect a Gateway to the node (either an On-premise or Hosted Gateway).
As a rule of thumb, if a user decides to connect a Gateway to their node, it is better to use the Gateway-API to send transactions and stream data. If they do not have a Gateway installed, they can decide to use the Cloud-API instead of installing a Gateway. Users that require the best performance may decide to use both the Gateway-API and Cloud-API.