Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 444
  • Last Modified:

asp.net webservice aws rds performance and costs

Hi,

I plan to develop an asp.net website & webservice.
I would like to make use of AWS to simplify deployment and scaling.

The site will typically be low traffic. But for some periods at known times the load will be high, eg, 20,000 requests per minute. When the load is high the majority of traffic will be calls to a simple webservice which will result in a db insert.

I have looked at the services offered by AWS, but it is hard to gauge what the different offerings will support in real world usage.

For exmaple:

If I had a fairly small 24/7 reserved instances for:
- Webserver on EC2 instance
- RDS instance

Then used On-demand Instances for the high demand period, what kind of On-demand resources might I require to support the expected number of requests?

Basically I am trying to get a feel for the following:

1) Will the technology outlined above scale to support the expected load
2) An idea of the cost of On-demand resources to support this load

Any advice appreciated, Many Thanks.
0
5quat
Asked:
5quat
1 Solution
 
shalomcCommented:
you want to know 2 things: whether AWS will support your varying load, and at what price.

The first one is simple. AWS will support your work load, if you take some simple steps to ensure that it does.
You will have to create your own private AMIs and test that your application works well in a multi-instance environment.
All of your instances will have to be load balanced using ELB. Do not use NLB in an elastic cloud environment.
You should use autoscaling to guarantee the level of servce your application is to provide.

Your problem may turn out to be the database. Having multiple jobs inserting at the same time may be too much for a single database instance, and RDBMS don't scale out well.
The solution is to create a buffer between the web service and the database. You can use a queue - SQS/SNS - and dedicated database workers that empty the queue and insert to the database.  

Now to the cost.
How many automatically invoked servers will your application require under heavy load?
There is no formula for your question. If you set up an application instance in your office and stress test it, you will be able to estimate these numbers. However, when using autoscaling, you can limit the maximum number of instances that your cluster is to contain. Assuming that your heavy load lasts a whole week, a week of a Windows small instance costs $18.
If during this week you fire up 10 instances instead of 5 instances, you will pay extra $90.
This is Not a lot of money for a business web site :)
The cost of oversizing for a short time is very low in the cloud.

0
 
Amandeep Singh BhullarCommented:
This question has been classified as abandoned and is being closed as part of the Cleanup Program. See my comment at the end of the question for more details.
0

Featured Post

WatchGuard Case Study: NCR

With business operations for thousands of customers largely depending on the internal systems they support, NCR can’t afford to waste time or money on security products that are anything less than exceptional. That’s why they chose WatchGuard.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now