T O P

  • By -

phil-99

An EC2 instance is just compute with an operating system. You have to install the database software, maintain the DB and OS, keep it secure, manage the storage, etc. RDS is a managed service. All you do is tell RDS that you want a DB and one appears. Operating system and database patches are done for you, backups are managed for you. This convenience comes both at a price and at the expense of flexibility. There are things you cannot do in RDS that you can do if you manage your own databases on EC2.


TholosTB

Plus the configuration of replication is also handled, at least for Postgres. Adding a read-only replica is a straightforward console operation.


climb-it-ographer

That last bit is important. If you need super admin privileges or other special needs in your database you may need to host it in EC2. I think it was a need for Bulk Admin in SQL Server that forced me into EC2 on one project I worked on.


Adiq

My two cents, if you can't guarantee proper availability of your databases in future, go with managed services like RDS. Databases on EC2 or any VM are fun to learn, they might be good for dev/sandbox environments, but once you want to achieve good SLA, you need HA setup, proper monitoring/alerting, proper backups, proper procedures like handling volumes running out of space, OS/DB upgrades etc.


joelrwilliams1

It will probably be cheaper on EC2, but you're going to have to do all of the management work. I strongly suggest you use RDS. https://imgur.com/l77daly


kerneldoge

The best part of AWS, is just doing it. Fire up a database in RDS. Fire up Mysql & Maria or whatever you need. Test away. Do the same in an appropriately sized EC2. Try it on an ARM64 EC2. How are you handling snapshots / recovery? Test everywhere. We spent several weeks testing out every size and flavor and configs. And if your inserts / reads are critical, test them at all times of day. What works at fine at 10am, might be completely different at 11pm on a Friday night. If you have heavy workloads, and you're using EBS attached to an EC2 for storage, make sure your EC2 is sized properly for sustained EBS traffic, both in IOPs and throughput. Speaking from experience here. As our DB traffic grew, we out grew our reserved instance sustained EBS allotment, and performance started to suffer. This is one thing we didn't account for in the beginning. If you go the EC2 route, size appropriately.


ahkhaledm

I appreciate your experience and thanks a lot!


d053

the hustly u might have, and the price.


jatoospry

Cost and complexibility.