One thing I’ve learned with AWS is to stick to the core services. ECS, RDS, Lambda, SQS, S3. The ones that are too big and too widely used to go anywhere.

AWS launches a lot of services. Some of them are genuinely useful convenience wrappers around the core services. App Runner made deploying containers easier. But AWS has said it will stop accepting new AppRunner customers effective April 1 2026 with no new features planned. If you built on it you’ll eventually need to decide whether to stay on something that’s in maintenance mode or move to ECS Express Mode, which is basically what App Runner did but as a feature of ECS instead of a standalone service (albeit a little more expensive).

I’ve noticed this pattern before. AWS launches a simpler service, realises it should have been a mode on the core service, and folds it in or lets it quietly die. I think the convenience wrapper saves you time on day one but costs you time when you’re migrating off it later.

The core services are far less likely to end up in this position. ECS isn’t going anywhere. Neither is RDS or Lambda or SQS. They’re in too many production workloads, AWS can’t walk away from them.

I’d rather spend a bit more time setting something up on a core service than save an afternoon now and end up migrating later.

I’m not saying never use the smaller services. Some of them are great and stick around. But if I’m building something that needs to run for years I want it on something I’m confident will still be maintained in five years.

Use the thing, not the thing that wraps the thing.