Differentiating EC2 instances for performances

0

AWS is very complex, even for experienced web designers like me. So I’d like to ask about the best options I’m planning. So basically I plan to run two WordPress, one is corporate and the other is with woo-commerce as in e-commerce. Previously, I used prebuilt hosting but it wasn’t cost-efficient for me. Now that I learned more about AWS technologies, I wish to build a robust, redundant, highly available web server; that is powered on NginX and runs its database on RDS with loading files through S3 storage.

Hence, my questions are. Is using a single higher EC2 instance like T4g offers better performance than running dual T2 micro instances in the high availability setup? Do different RDS instances have more performances? If I run the same WordPress site on two availability zones like 1a and 2b zone, do I have to make updates on the 1a zone and copy it to 2b; or there's a way to sync those EC2 instances? Because I run one WordPress site across three AWS services, (EC2, RDS, S3), how do I enable easy backup of a site without going through those different services?

Thanks in advance to anybody who answers my questions.

2 Answers
1

You may want to read the Performance Pillar of the AWS Well-Architected Framework to get additional guidelines for selecting and improving performance: https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html

profile pictureAWS
answered 2 years ago
0
Accepted Answer

There's a lot to unpack here and the answers aren't simple because changing one thing impacts another. I'd strongly recommend that you contact your local AWS Solutions Architecture team so that you can have an interactive conversation about these things.

That said, some (relatively) quick answers:

We always recommend that you run more than one instance. High availability is a key thing and it's pretty easy to do with a load balancer and an auto-scaling group. That give you higher survivability in the event that an instance becomes unhealthy; and will also let you scale up in the case where more users are hitting your site.

However, that does lead to the case where you have to distribute your static files across multiple instances. Do you create an image which has the right files on it so that it's ready to go at launch? Do you have an update process that runs periodically? Should you put the files on a shared filesystem using EFS? All of these are valid answers depending on a lot of factors - hence my recommendation to have a conversation about this.

You'll also need to think about the scalability of the RDS database as well.

For backups, there are (again) a few ways to tackle this but I'd start with AWS Backup. Note that if you have an automated process building your instances (or AMIs) from some other source then you don't need to back those up. If you're versioning in S3 you don't need to back that up - unless you want inter-region survivability in which case cross-region bucket replication is a good solution - but having that requirement also brings complexities in terms of database replication and instance maintenance.

As per my other answer, it's definitely worth watching this re:Invent video which covers a lot of these topics.

As an aside, always choose a "higher" instance number (e.g. t3 instead of t2) - newer instance types (with higher numbers) are generally less expensive and/or offer better performance. Also, the "t" series instances are unique among all the AWS instance types in that they use CPU credits in order to give lower costs; but for high performance they may not be appropriate for you. They could be, but there's no way to tell unless you are monitoring your CPU credits over time.

profile pictureAWS
EXPERT
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions