2008:SE401:Hypothesized Solution: Difference between revisions

From Marks Wiki
Jump to navigation Jump to search
New page: The goal of the project is to autonomously scale a web service to provide a consistent quality of service(QOS). Using Amazon Web Services, it is fairly easy to start additional physical ma...
 
No edit summary
Line 1: Line 1:
The goal of the project is to autonomously scale a web service to provide a consistent quality of service(QOS). Using Amazon Web Services, it is fairly easy to start additional physical machines which can hold a replica of the service and can be used to help balance the load upon that service(It may be that bottlenecks such as databases affect the ease of which services can be replicated and synchronized).  
The goal of the project is to autonomously scale a web service to provide a consistent quality of service(QOS) at a minimal cost. Using Amazon Web Services, it is fairly easy to start additional physical machines, which can hold a replica of the service and can be used to help balance the load upon that service(It may be that bottlenecks such as databases affect the ease of which services can be replicated and synchronized). As the utilisation of these services decreases, the number of physically active machines can be decreased allowing us to reduce the running cost.


We propose to create an application in Java (due to its OS generic nature, native network capabilities and experience with the language and tools held by the developers). This application will monitor the quality of the service being provided and start more services when the QOS starts to deteriorate. As the load on these services starts to decrease, while maintaining our standard of QOS, our application will also scale down the quantity of physical machines, thus reducing the cost of providing the service (this is charged by Amazon Web Services at an hourly rate for each physically active machine.)
We propose to create an application in Java (due to its OS generic nature, native network capabilities and experience with the language and tools held by the developers) to control the replication of a web service. This application will monitor the quality of the service being provided and start additional machines with a replica of the service when the QOS starts to deteriorate. As the load on these services starts to decrease, while maintaining our standard of QOS, our application will also scale down the quantity of physical machines, thus reducing the cost of providing the service (this is charged by Amazon Web Services at an hourly rate for each physically active machine.)


It is assumed in some cases the load on a service will be predictable, an example of which may be a web service advertising the rate of inflation; it is likely there would be a lot of interest on the day the reserve bank is to announce the newly calculated rate. In such cases it should be possible for our system to pre-emptively scale up the capacity of the service.
It is assumed that in some cases the load on a service will be predictable, an example of this may be a web service advertising the rate of inflation; it is likely that there would be a lot of interest on the day the reserve bank is to announce the newly calculated rate. In such a case our system could preemptively scale up the number of available machines before the service becomes exhausted by the scale of requests.
 
To determine the quantity of service, we
 
To test our system...


Our system should  
Our system should  

Revision as of 20:24, 27 March 2008

The goal of the project is to autonomously scale a web service to provide a consistent quality of service(QOS) at a minimal cost. Using Amazon Web Services, it is fairly easy to start additional physical machines, which can hold a replica of the service and can be used to help balance the load upon that service(It may be that bottlenecks such as databases affect the ease of which services can be replicated and synchronized). As the utilisation of these services decreases, the number of physically active machines can be decreased allowing us to reduce the running cost.

We propose to create an application in Java (due to its OS generic nature, native network capabilities and experience with the language and tools held by the developers) to control the replication of a web service. This application will monitor the quality of the service being provided and start additional machines with a replica of the service when the QOS starts to deteriorate. As the load on these services starts to decrease, while maintaining our standard of QOS, our application will also scale down the quantity of physical machines, thus reducing the cost of providing the service (this is charged by Amazon Web Services at an hourly rate for each physically active machine.)

It is assumed that in some cases the load on a service will be predictable, an example of this may be a web service advertising the rate of inflation; it is likely that there would be a lot of interest on the day the reserve bank is to announce the newly calculated rate. In such a case our system could preemptively scale up the number of available machines before the service becomes exhausted by the scale of requests.

To determine the quantity of service, we

To test our system...

Our system should

Problems;

  • Delay in server start up times, introducing windows of possibly poor service; this could be controlled by increasing the sensitivity of the system so it starts services sooner, however this increases cost.
  • Overriding predictions about the use for a system are hard to determine. Both overestimates and underestimates could be costly (cost of running servers and losing customers respectively).