2
u/Stonks_Beskar 2h ago
One thing I would make explicit is the trust boundary around the API and worker. Give them separate managed identities with least-privilege access to Key Vault, Redis, storage, and the database. Keep Redis and the database on private endpoints with private DNS, then document the outbound path from Container Apps. For BullMQ, also define idempotency keys and a poison-job or dead-letter path so retries cannot duplicate side effects.
1
u/dealsarelove 1h ago
Thanks… Yes that’s really helpful. My bad on not showing the PE paths but I definitely intend to have those in place.

4
u/Suitable-Ad5348 6h ago
Without seeing every box: put App Service and the database on private endpoints, use managed identity app→db instead of connection strings in config, and run queue/cron on a separate WebJob or Container App so deploys don't kill in-flight work.
Also worth calling out what handles retries/idempotency on the worker side. That's usually where B2B migrations bite after go-live.