How Dev Proxy teaches you to make your apps more resilient

I added Microsoft Dev Proxy to my Mermaid → Dataverse converter, because I wanted to test how it handled rate limits and API errors. What I got instead was literally an intervention.
For everyone who doesn’t know what this solution is about: The converter takes an Entity-Relationship-Diagram written with MermaidJS as an input, parses the information and passes everything into the Dataverse Web API so that all the tables, relationships, columns, global choices and more are created automatically. Additionally, I built an easy rollback process, that allows users to granularly undo the creation of global choices, tables, solution and publisher.
So now let’s discuss what this has to do with Dev Proxy: Dev Proxy didn’t just test resilience, but it forced me to see how fragile my app really was in some regards. Timeouts, blocking rollbacks, and missing feedback: everything that quietly worked until real stress hit.
The moment of truth
When Dev Proxy started simulating rate limiting and random API failures, my easy rollback process fell apart. Azure killed long-running connections after 230 seconds, throwing 504 errors even though the rollback still finished in the background. Users thought it failed. In fact, it hadn’t. That sparks confidence! /s
So I rebuilt it properly:
- Async rollback pattern: returns
202 Accepted
immediately and runs in the background - Status tracking: added
/api/rollback/:id/status
with progress across five phases: relationships, entities, global choices, solution, and publisher - Frontend polling: updated the UI to check progress every 2 seconds
Now I do not get any fake failures, no more hanging requests, but a smoother experience all around.
Once Dev Proxy had me sweating, other weak spots showed up fast. Rate limiting revealed that some rollbacks could take up to ten minutes, so I bumped the API timeout - thank Dataverse API for not allowing any concurrent actions 😘. Every test Dev Proxy threw at me exposed another spot where I’d trusted luck instead of design. A result of that is, that I implemented the changes that now make the solution way more resilient.
My two cents
Dev Proxy didn’t just test my app; it taught me how to handle reality better.
Every simulated failure revealed an assumption I didn’t know I was making in the first place. So they say it’s a testing tool, but it’s more an architectural therapist. It doesn’t just break things but helps you understand why they were fragile in the first place.
Happy coding!
Published on:
Learn more