I'd like to compare the benefits of two hosting architectures for a small server (meaning a 2-core CPU and 250GB SSD, with 100GB dedicated for data, is more than enough), consisting mostly of a custom application providing web services, with a REST architecture and all the data in a relational database.
- Hosted on a single machine in the cloud (e.g. an EC2 instance) with a Relational Database (e.g. mySQL, PostGreSQL) running locally, with frequent encrypted database external backups (e.g. to S3/Glacier).
- Hosted on a machine in the cloud (e.g. a similar EC2 instance with less SSD) with the RDBMS a managed service, e.g. Amazon Relational Database Service, perhaps with less frequent encrypted database external backups.
I see as benefits for 1
- Cheaper (saving on the RDBMS managed service and network) by a factor of like 3, I believe.
- Possibly better latency of database accesses ?
and for 2
- If the EC2 instance is obliterated, we won't loose data.
- No need to copy the DB from one EC2 instance to another when rebuilding the server from scratch, or making a major upgrade like OS change; thus less downtime.
- Perhaps easier administration of the DB.
What do I miss? Any pointers to authoritative position on this?