A one man shop with paying customers shouldn't spend time on optimization, unless it's just for fun.
If I'm a customer - I'd rather see more value added functionality, rather than cheaper data storage.
But that is my opinion, hope that your customers appreciate you spending time on this.
In fact, adding another component to optimize the cost is adding another point of failure.
A) you first need to run the service to get any customers
B) this might take long
C) you maybe don't want / can't get VC money at this stage
D) you maybe are not the most advanced dev who can properly utilitize s3 from I/O perspective, getting you to higher costs than possible
E) there might be a time period between introducing the service and getting traction which yields enough feedback, so you can start adding more business features
F) when you are burning your own money, you are more senstive to the cost side - which is not ultimately wrong
Just my 2c
Which ends up being back to - purely cost optimization of the initial cost optimization.
It seems like the whole product is focusing on cost optimization. I suspect that the OP would be better off making money by doing cost optimizations for third parties.
Splitting up the storage and execution between cloud providers was clearly an early cost optimization.
Then this cost optimization was to fix with the result of the previous cost optimization.
Adding more code that has no clear end value to your service* never makes anything more stable. Now OP has to maintain three things, instead of two. It's a classic "look at how smart I am" overengineering.
*- OPs customers definitely give 0 f's if everything is on AWS or split between AWS and DO.
or you could look at it as a tool to help the one-man shop make it through a tight cashflow situation that's coming down the line.