3

I'm looking for options to migrate one of our applications to AWS. The application currently runs on a server that has 16cores and 256GBs of Ram and I'll be moving it to a virtual machine on AWS.

If we get an R3 dedicated host with 1-year, all upfront payment, it costs $19010 in Frankfurt. On this host, we can host 1x r3.8xlarge virtual machine , which has 32 cores and 244GBs of Ram. Is this the best option? Are there any close alternatives?

I'm assuming that there are no additional costs apart from storage and networking, right?

Thanks.

Mer
  • 991
  • 4
  • 9

3 Answers3

3

It would work, but you're really not taking advantage of what AWS can provide.

A better option would be to use an elastic load balancer with multiple smaller instances serving traffic, with instances split across availability zones. This would give you fault tolerance so it could survive a single server / data centre going down, and gives you an easier way to roll out upgrades or do A/B testing. You could also use Route 53 and have servers in multiple regions, to reduce latency and increase performance for users around the world, depending on your architecture and database requirements.

You'd have to test your application to work out the best instance types, whether you can have say four instances with 64GB RAM and 4 cores, or if you need a bit more RAM.

An R3.2xlarge, with 8 cores and 61GB RAM would be $4300 per year, and you'd want four. An ELB with 1TB of traffic would cost you maybe $50 with an ELB. That's cheaper than the dedicated instance above.

Tim
  • 31,888
  • 7
  • 52
  • 78
  • I understand but, the application currently utilizes almost all of the RAM and we can't change it in any way. So, dividing the workload in smaller VMs is not an option. Until we switch it to SaaS, it seems like the dedicated host option is the way to go. Thank you. – Mer Aug 17 '16 at 20:48
  • I guess the question is why it's using so much RAM. Typically I would expect there to be overhead for software such as operating system, application server, web server and such, then a per-connection amount of RAM. You might find that four smaller VMs work just fine, or maybe just two in two AZs. If you really do need that much RAM in a single machine then the R3.8XL looks like the best option. When you rewrite consider using other AWS services as appropriate, Elasticache, Aurora, as you can always migrate out of AWS if required. – Tim Aug 17 '16 at 21:36
  • The application is Qlikview, not something we developed. It basically has all the dataset in RAM to quickly process queries and updates dashboards accordingly. Btw, when I said that it's using all of the RAM, it utilizes something like 210~GBs. There's plenty more for other applications and OS. – Mer Aug 17 '16 at 21:44
  • Ah that's different then, it's not a transactional web / app server. Amazon is coming out with visual analytics but I don't think it's there yet. RedShift data warehouse is there but that's not analytics. Probably best just to get that huge instance. You should check out other providers of course - Digital Ocean, Azure, etc. – Tim Aug 17 '16 at 21:55
1

Why wouldn't you choose for r4.8xlarge?

This new generation of memory optimised ec2 instances feature a new Intel Broadwell processor, improved networking (20gbps) better EBS performance, and cheaper on per GiB of RAM compared to R3 instances. R4 instances are well-suited for memory-intensive, latency-sensitive workloads like Business Intelligence (BI), data mining & analysis, in-memory database

Another question comes to mind when reading your use case description: why do you think a dedicated server is needed?

bvdli
  • 19
  • 2
0

There may be additional costs for storage and networking. It depends on your application needs.

You can consider spot instances which will be less cost than reserved.

Ben Force
  • 271
  • 1
  • 6