|
|
|
|
|
by dsgrillo
1706 days ago
|
|
You bring up good points, fair enough. I might being naive here, still: - losing customer data: the backup must be done frequently enough. So I'm not risking losing data.
- downtime: I'd expect that RDS could still go south as well, maybe less frequently, but still. In my case I start another VM, run again the container and apply the backup.
- data breaches: Of course one can misconfigure something here, but not sure how it'd be different using a managed database.
Regarding the cost, I know that there are companies spending hundreds of $$ on their infra, but it just baffles me for most use cases.
I still feel that one can get really far with just a budget of 50$/month. |
|
$50 total would be tough with fully managed AND high availability. I agree. But to digress from the tech side a bit and talk my own experiences, the question I ask myself is: as a solo-prenuer can I use that time to be doing something that will make me more than $X per month? If the answer is "yes, immediately!" I go with the managed server. If the answer is, "it would take me years to break even"... I may roll my own.
To address your points, thought: I think managed databases do help here. Data breaches and outages are usually configuration issues. Since they start with a good known configuration, managed services do help. Also, I see not being able to SSH in as a positive in this scenario.
For example: Say you misconfigured a database an break backups (happens all the time even to good DBs). That is much harder to do on a managed database.
If you're managing just one machine and being down for 10-30 minutes while your backup is being restored is fine, you probably don't gain much by using a managed service. In that case I'd take frequent backups, upload them immediately off the server (probably S3), and containerize the database. In my architectures I always run at least 3 servers.
With most database engines, if you have three servers you need to lose 2 to cause an outage. But a 3 server cluster is much harder to manage manually, tilting the scales more towards a managed database.
Also, to your point, would blow $50 out of the water.
If I can, I use a managed serverless database like DynamoDB (there is also others) that are pay as you go. You can easily run a service on just DynamoDB free tier if your use case is well suited to that kind of key/value stored based DB.
You can also, always start with your own and switch to managed later as you add machines to the cluster.
Just, whichever you choose... but "especially" when rolling your own... make sure you run fire drills. I.e test your backup and restore process regularly.