Draft: feat: central service bus
All Submissions:
- [YES] Have you added an explanation of what your changes do and why you'd like us to include them?
- [NO] I have updated the documentation accordingly.
- [YES] My code follows the code style of this project.
Current Behavior or Linked Issues
Does this introduce a breaking change?
- [NO]
Other information
Add Service Bus to the central resources.
Give the default service principal permissions to:
- create queues and topics (Contributor role)
- send/receive messages (Data Sender/Receiver roles)
Why
In seismic DMS, we're adding bulk deletion as a long-runing asynchronous operation: osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-service#107
The implementation needs a message queue (task queue + workers architecture), and there's no message queues available in the central resources.
Adding the Standard-tier Service bus will cost ~$10 per month per 12M operations. We're expecting to use very few queue operations.
In the future we might want to decompose the long-running task into many small sub-tasks and use millions of queue operations - in that case we will be mindful about the potential cost increase.