MCY 611 Cloud Computing Project

MCY 611 Cloud Computing Project

In this project, you will measure and compare the performance of a static web page hosted in S3 with a web page hosted on an EC2 instance. In Lab 1, you have learned AWS CLI and EC2 instances. Also, you have learned how to host a website on an EC2 instance. In Lab 2, you have learned S3 and how to host a web page (a static website) in S3. In Lab 4, you have learned an Apache HTTP server benchmarking tool, ab. You will use all you have learned to complete this project.  

Requirements

  1. The static web page you need for this project is as follows:

<html><body><h1>It works!</h1>

<p>This website is hosted by Amazon AWS</p>

</body></html>

You can name it index.html.

  1. You need to host this web page on an EC2 instance and in S3.
  2. You need to use the ab command to conduct performance tests. For the EC2 hosting, you need to conduct five ab tests on the web page with 50, 100, 150, 200, and 250 simultaneous requests. The number of requests to perform for each test is 5000. The five ab test commands are as follows:

ab -c 50 -n 5000   the URL of  the index.html on an EC2 instance

ab -c 100 -n 5000  the URL of  the index.html on an EC2 instance

ab -c 150 -n 5000  the URL of  the index.html on an EC2 instance

ab -c 200 -n 5000  the URL of  the index.html on an EC2 instance

ab -c 250 -n 5000  the URL of  the index.html on an EC2 instance

Please look at https://httpd.apache.org/docs/2.4/programs/ab.html for the description of the ab command output. The “Time per request” value is the average time spent per request. There are two “Time per request” values in the output. You need to record the first value for each test.

For the S3 hosting, you also need to conduct five ab tests on the web page with 50, 100, 150, 200, and 250 simultaneous requests.  The number of requests to perform for each test is 5000.  The five ab test commands are as follows:

ab -c 50 -n 5000   the URL of  the index.html in S3

ab -c 100 -n 5000  the URL of  the index.html in S3

ab -c 150 -n 5000  the URL of  the index.html in S3

ab -c 200 -n 5000  the URL of  the index.html in S3

ab -c 250 -n 5000  the URL of  the index.html in S3

You need to record the “Time per request” value (the first value) for each test.

You need to store data obtained from your tests in a table. Based on the data, you need to plot a graph to compare the performance of the index.html page hosted in S3 with the index.html page hosted on an EC2 instance at different numbers of simultaneous requests.  Also, you need to analyze the graph.

  1. Using the AWS Pricing Calculator at https://calculator.aws/ to estimate the cost of hosting a static website in S3 and EC2 for a period of one month. You can make an assumption on the monthly usage of your static website so that you can estimate the cost.

Report

For this project, you need to turn in a report in a word document to the Canvas. The report must include all of the sections listed below.

  1. Title Page (5 points) containing the title of the project, your name, the name of the class, your instructor’s name, and the date the project was submitted.
  2. Introduction (10 points) A single paragraph that describes the objectives or purpose of the project.
  3. Materials (5 points) List all materials used in the project, including AWS CLI, VM, EC2 images, instances, security credentials (your AWS Access Key ID and your AWS Secret Access Key), and S3 buckets. (Note: you only need to show the last five characters of your AWS Access Key ID and the last five characters of your AWS Secret Access Key. For example, the AWS Access Key ID is *********AMPLE.).
  4. Methods (35 points) Describe the steps completed during your investigation. Be sufficiently detailed so that anyone could read this section and duplicate your efforts. You need to provide all your CLI commands and outputs of the commands.
  5. Data (10 points) Numerical data obtained from your procedure presented as a table. Data encompasses everything recorded when you conducted the experiment, without any interpretation of what they mean.
  6. Performance Analysis (10 points) Describe in words and a graph what the data means. This is the section where you interpret the data. Label your graph with a descriptive title and label the axes, including units of measurement.
  7. Economic Analysis (10 points) Describe in words and a table/a graph the differences in cost between the two solutions. Your analysis should include answers to the questions: Which solution for static website hosting is cheaper? Is the cheaper alternative faster or slower than the more expensive solution?
  8. Conclusion (10 points) A short summary of the experiment, including its purpose and the meaning of your results. Advise the reader on which web hosting solution to use.
  9. References (5 points) List any references that you used during the course of your project.