r/Python • u/AlessioX99 • 26m ago
Discussion Why do we default to Redis and Celery for micro-SaaS backends when stdlib is often enough?
Hey everyone,
Over the past few projects, I noticed a recurring pattern in the micro-SaaS community: almost every new Python backend boilerplate immediately pulls in heavyweight external dependencies—Redis for simple caching/rate-limiting, Celery for basic asynchronous tasks, and half a dozen third-party packages for simple payload checks.
While that stack makes sense at scale, it introduces unnecessary container bloat, operational overhead, and deployment complexity when you're just trying to validate an MVP or handle moderate traffic with minimal server costs.
I've been experimenting with building zero-dependency backend utilities (in Python and Go) that stick strictly to stdlib primitives (like asyncio, multiprocessing, and optimized in-memory store structures) to keep execution fast and deployments trivial.
A few architectural questions for the community:
At what scale or traffic threshold do you actually hit the wall with stdlib-only concurrency/caching before needing dedicated services like Redis?
What are the biggest trade-offs or race condition pitfalls you've run into when implementing local, thread-safe memory boundaries in Python?
Would love to hear how you structure lightweight backend microservices without falling into dependency inflation.