###BeginCaseStudy###
Case Study: 1
Web-based Solution
Background
You are developing a web-based solution that students and teachers can use to collaborate on
written assignments. Teachers can also use the solution to detect potential plagiarism, and
they can manage assignments and data by using locally accessible network shares.
Business Requirements
The solution consists of three parts: a website where students work on assignments and where
teachers view and grade assignments, the plagiarism detection service, and a connector
service to manage data by using a network share.
The system availability agreement states that operating hours are weekdays between midnight
on Sunday and midnight on Friday.
Plagiarism Service
The plagiarism detection portion of the solution compares a new work against a repository of
existing works. The initial dataset contains a large database of existing works. Teachers
upload additional works. In addition, the service itself searches for other works and adds
those works to the repository.
Technical Requirements
Website
The website for the solution must run on an Azure web role.
Plagiarism Service
The plagiarism detection service runs on an Azure worker role. The computation uses a
random number generator. Certain values can result in an infinite loop, so if a particular work
item takes longer than one hour to process, other instances of the service must be able to
process the work item. The Azure worker role must fully utilize all available CPU cores.
Computation results are cached in local storage resources to reduce computation time.
Repository of Existing Works
The plagiarism detection service works by comparing student submissions against a
repository of existing works by using a custom matching algorithm. The master copies of the
works are stored in Azure blob storage. A daily process synchronizes files between blob
storage and a file share on a virtual machine (VM). As part of this synchronization, the
ExistingWorkRepository object adds the files to Azure Cache to improve the display
performance of the website. If a student’s submission is overdue, the Late property is set to
the number of days that the work is overdue. Work files can be downloaded by using the
Work action of the TeacherController object
Network Connector
Clients can interact with files that are stored on the VM by using a network share. The
network permissions are configured in a startup task in the plagiarism detection service.
Service Monitoring
The CPU of the system on which the plagiarism detection service runs usually limits the
plagiarism detection service. However, certain combinations of input can cause memory
issues, which results in decreased performance. The average time for a given computation is
45 seconds. Unexpected results during computations might cause a memory dump. Memory
dump files are stored in the Windows temporary folder on the VM that hosts the worker role.
Security
Only valid users of the solution must be able to view content that users submit. Privacy
regulations require that all content that users submit must be retained only in Azure Storage.
All documents that students upload must be signed by using a certificate named DocCert that
is installed in both the worker role and the web role.
Solution Development
You use Microsoft Visual Studio 2013 and the Azure emulator to develop and test both the
compute component and the storage component. New versions of the solution must undergo
testing by using production data.
Scaling
During non operating hours, the plagiarism detection service should not use more than 40
CPU cores. During operating hours, the plagiarism detection service should automatically
scale when 500 work items are waiting to be processed. To facilitate maintenance of the
system, no plagiarism detection work should occur during non operating hours. All ASP.NET
MVC actions must support files that are up to 2 GB in size.
Biographical Information
Biographical information about students and teachers is stored in a Microsoft Azure SQL
database. All services run in the US West region. The plagiarism detection service runs on
Extra Large instances.
Solution Structure
Relevant portions of the solution files are shown in the following code segments. Line
numbers in the code segments are included for reference only and include a two character
prefix that denotes the specific file to which the line belongs.
DRAG DROP
Contoso, Ltd. reports that hackers have compromised a computer on its network.
You need to prevent access to the site from all Contoso, Ltd. computers.
How should you complete the relevant Windows PowerShell script? To answer, drag the appropriate Windows
PowerShell segment to the correct location. Each Windows PowerShell segment may be used once, more than
once, or not at all. You may need to drag the split bar between panes or scroll to view content.