Recently, I found a great website that providing bunch of useful information about Windows Azure, especially in Benchmarking and Best Practice Guidance. Azurescope was developed by Research Engagements team in the eXtreme Computing Group of Microsoft Research as a resource for developers and application architects.
Azurescope discusses various best practice implementation to achieve best possible result. The best practices include:
- Deployment & Dynamic Scaling
- Design & Planning
- Windows Azure Storage
- SQL Azure
- Network Communication
- Testing & Development
Benchmark Test Cases
The benchmark contains 3 major categories test cases. Each test case describe clearly the scenario, key analysis, result that is showing on charts, how the benchmark works.
Windows Azure Blob
Windows Azure Queue
Windows Azure Table
Windows Azure Role
Windows Azure Fabric
End-to-end Application Benchmarks
These tests multiply two block square matrices of same dimensions to determine the suitability of Windows Azure platform for running embarrassingly parallel algorithms. The algorithms here partition the input matrix multiplication problem into smaller block multiplications. We employ b * b workers for running these tests where b is the number of blocks on one dimension of the input matrix.
These tests sort few gigabytes of unsorted data stored in blob storage. The input unsorted data is split across multiple blobs where each blob contains multiple 100 byte records. Workers download these unsorted blobs, sort them locally and then upload sorted records back to the blob storage. The tests here try to determine whether Windows Azure is suitable for running parallel applications that require large data movements.
This test implements a sequence matching algorithm so as to determine whether Windows Azure is suitable for running delightfully parallel algorithms.
Charts on this page compare the maximum throughput achieved for the various storage types irrespective of the VM Size or values of other parameters on which the test was run. Please refer individual test cases for detailed information.
Charts on this page compare the maximum throughput achieved for various storage types on various VM sizes irrespective of other test parameters. Please refer individual test cases for detailed information.
Apart from best practice and benchmark, AzureScope also provide a set of comprehensive code sample for each topic / component. Not only apply on .NET languages, the code sample also includes other languages such as PHP, Python, or Java.
General Windows Azure Code Sample
- Blob Upload and Download
- File Upload using BlobStream
- Parallel Blob Upload and Download
- CRUD Operation on Windows Azure Table
- Queue Message Add, Get and Delete
- Mounting and Unmounting Windows Azure Drive
- Use of retry policy provided by StorageClient to access Windows Azure storage
- Custom retry logic to access Windows Azure storage
Other Languages Code Samples
- Windows Azure IronPython Code Samples
- Windows Azure Java Code Samples
- Windows Azure PHP Code Samples
Hope this helps!