Transcript Document

Windows Azure

Team 9 Ben Holland Bao Nguyen Eric Petrowiak Barret Schloerke

Problem Statement Windows Azure (Cloud hosting platform) is new and bugs need to be found Playing the role of 3rd party developer to design and implement which should then be migrated to the Microsoft Azure Cloud .

a web system Must use: • Silverlight • Azure, Microsoft SQL, RIA Services

Requirements • Create an application that tests Azure’s capabilities and general issues o o o Cloud Hosting Power Security/Personalized Information Integration with application • Use Required Systems o Windows Azure o o Silverlight RIA • Document cloud migration issues • At the same time choose a challenging project that we can enjoy working on

Project Proposal • A Personalized Reader o Fetches articles or blog posts that matches your search criteria • This differs from other search engines… o o o o Our system allows for passive users Searches specific stories on specific domains Proactive search apposed to reactive (on demand) User’s history/results are saved

Concept Diagram

Development Environments • Visual Studio 2008 o o .NET framework Silverlight o RIA o Azure SQL • Subversion • Virtual Machines with remote access

Customer Functional Requirements • Must be hosted on the Azure Platform • Must use Silverlight for the user view • Must use RIA Services to perform the middle tier operations • Must be a user centric applications which includes user profiles • Ability to iteratively update application once already installed on Azure

Customer Non-Functional Requirements • User security (profile and user data is private) • Project must scale with user traffic appropriately (throttling) • Background operation of fetching materials is efficient (third party libraries and throttling)

Architectural Sequence Diagram

Sequence Diagrams

Demo Show Demo of Cloud Reader Application • • Login Functionality Atomic CRUD Operations

Design Constraints • How to add different search engines?

(Modularization) • How do different search engines return results?

(Hierarchical interfaces, Results -> ImageResult, TextResult) • How can we throttle the processing usage?

(Thresholds for computed time to complete queues) • How can we limit exceeding our allocated storage resources?

(User quotas)

Technical Approaches (Overview)

Technical Approaches (Entity Framework)

Technical Approaches (Server Side Framework)

Testing Description • Automated unit tests (Entity CRUD Operations, Search engine queries) • Visual inspection (Interface interaction) • Stress/Performance testing (High/Medium/Low load testing, throttling inspection)

Measurable Milestones • Twitter working on one account • More than one data source working • Migrate application to Microsoft Azure Cloud • Full Scale Testing / Real Time Interaction • Ability to demonstrate throttling abilities

Risks • Learning Curve (New technology, confusing/conflicted documentation) • Server side processing • Interface Usability (Silverlight issues) • Third Party API limitations (Rate limiting on Twitter, Digg, Reddit, ect.) • Migrating to Azure Cloud (Compatibility issues) • Client does not want the application; instead, they want to know the difficulties we faced

Project Resource Costs • Project Hosting (break down on following slide) • Microsoft has provided student software site licenses o Visual Studio IDE o Microsoft SQL Server o Windows Server

Hosting Costs

Conclusion A lot of progress has been made and we about on par with our original aggressive goals.

Conclusion • Positive Feedback from Microsoft • Positive Feedback from Adviser • Working Demo produced to perform atomic CRUD operations on entities and user account authentication • Progress is starting on the background server operations

Plan for Next Semester • • • • • • • Labels o "Creating a Label", "Saving a Label", and "Editing a Label" o 4/30/2010 Rules o "Scheduling Rules", "Rule Based Searching", "view Results", "Remove Results", and "Remove Label" o 5/31/2010 Validation and Throttling o 6/30/2010 Rule Support o 7/31/2010 Search Digg and Twitter o 9/30/2010 Stress Test o 10/31/2010 Final Documentation