Project Overview

From CS462

Jump to: navigation, search

For the class project, we will be building a website that allows users to submit pictures and comment on and rate other user's submissions.

This system is for the purposes of teaching distributed system architecture. Each lab is a piece of a system that works together to provide a picture contest website. Users can submit pictures, rate pictures, and leave comments on pictures. All pictures and comments are reviewed before posting on the website.

Not all services required to run this website will be built by students. In particular, a Class Server will provide load balancing services and logging services. DNS services will also need to be configured prior to students building their labs.

Image:462_Lab_Overview.png

Lab Summaries

Lab 1 - AMI

   * Create AMI (Using existing AMI - Fedora 8)
   * Bootstrapping method (zip, script to pull from s3)
   * web server basic config
   * Persist your AMI
   * Passoff: Demonstrate bootstrapping to TA, with simple file that overwrites the webserver default page.

Lab 2 - Web Server

   * Create web server config and website
   * Uses Stem Cell server
   * Calls webservices on App Server LB to display pages
   * Submits new pictures to App Server LB on form submit
   * Uses provided Templates (use with templating engine)
   * Adjust templates to show server information
   * Pushes log entries to log server on server action
   * Self subscribes to Web Server Load balancer

Lab 3 - App Server Part 1

   * Create App Server config and Website
   * Uses Stem Cell server
   * Provide web service endpoints for web server to call to Read data
   * Queries SimpleDB
   * pushes log entries to log server for server action

Lab 4 - App Server Part 2

   * Build on Lab 3
   * Provide web service endpoints for web server to call to Post data
   * Posts Images to S3 on upload
   * Submits messages to Processing SQS queue
   * Polls for and handles ProcessingResult SQS queue messages
   * Submits messages to Review SQS queue
   * Polls for and handles ReviewResult SQS queue messages
   * pushes log entries to log server on server action
   * self subscribes to App Server LB

Lab 5 - Processing Server

   * Build Image Processing Server config and service
   * Use Stem cell server
   * Polls for and processes Processing SQS messages
   * Retrieve source image from S3
   * Create Thumbnail
   * Create Main Image
   * Add watermark to main image
   * store thumbnail and main image to S3
   * Send ProcessingResult SQS Messages
   * push log entries to log server on server action

Lab 6 - Approval Client

   * Build Review Client
   * Processes Review SQS Messages
   * Provides a User Interface for reviewing content
   * Get Approve/Deny status from user
   * Send ReviewResult SQS Messsages
   * push log entries to log server on client action

TA Information

TA: Michael Ries

Email: michael@riesd.com

Schedule: calendar

Personal tools