Use CSnakes when Python is a function call, not a service
Embed a small typed Python capability in .NET when an HTTP service would be more boundary than value.
Embed a small typed Python capability in .NET when an HTTP service would be more boundary than value.
Create configured HttpClient instances through the factory instead of scattering clients and handlers.
Do not cache a GET response unless the cache key matches the user, tenant, and permission boundary that shaped it.
Give workloads and people the narrow Azure role they need instead of defaulting to Contributor.
Watch for small per-item allocations inside loops, parsers, serializers, and request paths.
If work can fail, give it ownership, logging, cancellation, and a lifecycle.
Keep Python AI code behind an HTTP boundary and let Aspire wire it into the local system.
Do not hard-code model routing decisions into application logic.
Use filters for eligibility and ranking for relevance instead of blending both concerns.
Use traces, counters, profiles, and focused benchmarks before changing code for performance.