Recent Changes - Search:

Instructor

  • who: Michael Swift
  • where: Room 7369
  • when: Wed. 2:30-3:30, Thu. 1:30-2:30
  • email: swift 'at' cs.wisc.edu

Lecture:

  • when: Tues./Thur. 11-12:15
  • where: Chemistry 1351
  • list: compsci739-1-s12 'at' lists.wisc.edu

HomePage

Resources

edit SideBar

CloudComputing-apps-sp11

Notes

Introduction

Cloud computing introduces new programming models for scalability and reliability. While Amazon provides a complete virtual machine for execution, it also provides storage and communication abstractions different than traditional operating systems. In contrast, Google AppEngine provides a restricted execution environment only for Python and Java, while Microsoft Azure provides an language-level virtual machine and programming interface.

Your job will be to implement an application using one of these cloud-programming models:

Application of your choice

If you have a particular application you would like to implement, that is great. It should be of complexity similar to the suggested application (which is low!). Please let me know in advance if you make this choice.

Suggested Applications

  1. Micro-blogging. Implement a Twitter-like system, where people can post short messages and subscribe to the postings of others.
  2. File storage: implement a file storage/sharing application, similar to DropBox, where users from different machines can upload, download, and search for files. You should consider simultaneous access from multiple clients to the same shared files.
  3. Real-time chat: implement an application for real-time communication, where you can:
    • Connect
    • Find if another user is connected
    • Have a conversation with the other user

Evaluation

It is challenging to evaluate a new application, but still necessary. You should evaluate these aspects of your application:

  • Performance - how much load can it handle (limited by the resources available to you)
  • Reliability - how does it handle failures, such as killing an instance
  • Correctness - does it actually do what it is supposed to -- here you need to define what correct means

What to turn in

Please turn in a paper describing the implementation and performance of your system.

Google App Engine help

Windows Azure Help

The Azure development kit requires a machine running Windows Vista or Windows 7. If you want to do this from a Linux workstation, you can use VMware and the lab-provided Vista virtual machine.

Amazon EC2 Help

Edit - History - Print - Recent Changes - Search
Page last modified on April 09, 2012, at 08:16 PM