Assignment 1: Cloud Storage Speed Test
Due Date: Monday, April 9
Goals:
Secondary Goals:
Overview:
You will run a series of Python programs to upload a medium-size file to AWS and Azure, recording the performance. You will create a plot illustrating your results.
What to turn in:
Using these resources as a guide, sign up for Amazon Web Services and make sure you are familiar with the EC2 and S3 services. Make sure you know how to use the AWS Console to launch an instance and work with S3 buckets.
http://escience.washington.
Sign up for a free trial for Windows Azure. Make sure you know how to access the Windows Azure console to review storage resources.
http://www.windowsazure.com/
Create a storage account
http://msdn.microsoft.com/en-
record the name; you’ll need it later.
Windows: http://www.python.org/getit/
Mac: you have it, but make sure you have 2.7
Linux: you have it, but make sure you have 2.7
Click the "Zip" button button to download a zip file
You will get four files:
gendata.py |
generate data files to use to test upload |
loaddata_s3.py |
upload a file to S3, optionally in parallel |
loaddata_azure.py |
upload a file to azure, optionally in parallel |
winazurestorage.py |
a library for working with windows azure from python (see [1]) |
azure_unit_test.py |
a set of simple test cases for debugging azure access |
gendata.py
loaddata_s3.py
loaddata_azure.py
Linux/Mac: Open a terminal, navigate to the directory where these files are located, type
$ python gendata.py
This program will create a file “200mb.dat” to use for testing.
Linux/Mac: Open a terminal, navigate to the directory where these files are located, type
$ python loaddata_s3.py
Answer the questions when you are prompted:
Enter AWS access key: <Your AWS access key>
Enter AWS secret key: <Your AWS secret key>
Enter bucket name: escience.washington.edu.
Enter file name to upload: 200mb.dat
Enter number of chunks to upload in parallel: 1
You can also provide these on the command line in the same order. Make sure to wrap your secret key in double quotes, as it may contain characters that will be misinterpreted by the shell.
NOTE: The Azure part of the assignment is not working currently. It may or may not be fixed in time to work on it by Monday. If it doesn't work for you, that's ok.
$ python azure_unit_test.py
Enter your credentials from the right hand panel
Enter Azure storage account: <Your Azure storage account name>
Enter Azure Primary (secret) key: <Your Azure primary secret key>
Now try the Windows Azure experiment
$ python loaddata_azure.py
Warning: there may be a problem with this script. It was generating spurious errors at the time of class.
[1] http://sriramk.com/blog/2008/