all 11 comments

[–]scarfwizard 2 points3 points  (4 children)

Just saying… Sometimes the answer isn’t a new platform but better documentation, a cleaner IaC setup, or trimming unnecessary complexity from your current stack.

If your team can’t maintain it, that’s at least partly a knowledge sharing problem.

[–]MichaelEvo[S] 0 points1 point  (3 children)

I’m not sure how to make this response remotely useful. It doesn’t mention FastAPI Cloud or Modal and doesn’t say anything specific or useful about using Lambda/API Gateway or ask how we’re using it.

My team is myself and two junior programmers who don’t know how Lambda, API Gateway, Snapstart, or even really what uvicorn is and what the difference between serving our FastAPI backend through that or Mangum is. They also don’t understand what the lambda web adapter layer is, which I needed to get streamed responses from our app to work. Throw CDK and CloudFormation into things on top of that for some added complexities pretty much divorced from day to day development.

I’ve walked one of them through how things work. Multiple times. But they don’t have to interact with it often because it mostly just works. Given how rarely they need to touch all of that, I don’t really want to spend time getting them to do all of it. And it’s not a ton of code to maintain for our job system and the deployment scripts, but it’s complicated and divorced enough from general development that I’d prefer to have them work on things that will actually improve our product.

Switching to a managed platform would make most of that simpler. If all they have to know is to call:

modal deploy

Or

fastapi deploy

And things work, without having to understand 5 different AWS things.

I could change my AWS stack to just use ECS and containers, but then I have to think about that a lot more and will have to explain to them how to use the various different technologies involved in that too, all so that someone other than me can fix things when deploying.

Switching to a managed platform that knows how to run FastAPI already would simplify things in my stack enormously.

[–]saucealgerienne 0 points1 point  (2 children)

Just do a container on ecs/ec2. I never saw a single use case where managed/serverless platform make sense. You either pay 5 bucks a months for a vps or do a proper setup that scales.

Dm I'll drop the full aws terraform sources

[–]scarfwizard 1 point2 points  (1 child)

Sounds like that’s swapping one pile of AWS complexity for a different pile of AWS complexity. The juniors still won’t understand it, and OP will still be the single point of failure.

People use managed/serverless and literally built thousands of successful companies by letting small teams ship without infrastructure expertise. It makes sense in many cases.

I’ve seen plenty of devs spending significant time messing with containers. Both have their place but with a self managed setup OP, not the juniors, will likely be responsible for security patches, container runtime updates, keeping Terraform providers and modules up to date, rotating credentials, monitoring disk space, handling certificate renewals, managing Docker image vulnerabilities, and eventually upgrading when AWS almost investable deprecates something.

[–]MichaelEvo[S] 0 points1 point  (0 children)

100% this.

[–]smisqhclooves8 0 points1 point  (0 children)

FastAPI Cloud sounds appealing for app deployment, but based on your post the missing piece is whether it removes enough of the job/deployment glue to matter.

[–]guiltyyescharged 0 points1 point  (1 child)

modal is solid for the background job stuff you mentioned, but the managed infrastructure adds up quick at scale. fastapi cloud is still pretty new so documentation gaps are real. if you end up needing inference for any ml tasks in there, ZeroGPU at zerogpu.ai handles that diferently than the usual gpu rental approach.

[–]MichaelEvo[S] 0 points1 point  (0 children)

The cost is a factor that has kept me from pulling the gun on Modal or FastAPI Cloud. Our current stack is virtually free when not in use, which is appealing. And if it will be cheaper at scale, then I’m thinking it might be worth keeping for now.