Solved

asp.net webservice aws rds performance and costs

Posted on 2010-11-30
5
433 Views
Last Modified: 2014-11-12
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
Comment
Question by:5quat
5 Comments
 
LVL 29

Expert Comment

by:Kumaraswamy R
ID: 34280309
0
 
LVL 33

Accepted Solution

by:
shalomc earned 500 total points
ID: 34280847
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
 
LVL 19

Expert Comment

by:Amandeep Singh Bhullar
ID: 35414303
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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Web site error 3 44
How to create an MVC5, Razor Widget 2 26
Please explain the parts of these 2 LINQ expressions 3 53
Deployment issue on AWS S3 1 33
Is your company's data protection keeping pace with virtualization? Here are 7 dynamic ways to adapt to rapid breakthroughs in technology.
Learn how the use of a bunch of disparate tools requiring a lot of manual attention led to a series of unfortunate backup events for one company.
Steps to create a PostgreSQL RDS instance in the Amazon cloud. We will cover some of the default settings and show how to connect to the instance once it is up and running.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question