CASE STUDYBackground: You are developer for Fabrikam, a company that specializes in payment processing. Fabrikam is developing a solution to process payments for various events, such as music concerts.
You develop an ASP.NET MVCwebsite that is hosted in Azure to support an upcoming music concert. The music concert is expected togenerate a large volume of ticket sales in a short amount of time.
The website uploads information to an Azure storage queue. A worker role in Azure retrieves information fromthe queue and generates the concert tickets in a PDF file format after the financial transaction is approved.You observe a delay between the time the website adds a message to a queue and the time it becomesavailable to read from the queue. After examining the queue, you determine that no queue messages have aDequeueCount value greater than zero. The website does not throw any errors.
Business RequirementsPayments: The music concert website must be able to submit event payment information for processing. The website mustremain responsive while submitting payment information. Customers must be able to add notes about theirorders to a free-form control on the website. These notes must be submitted with the payment when thecustomer submits an order.
Customers often enter notes that exceed 7 KB in size.
Technical RequirementsPayment Submission and Processing: Event payment information must be sent from the website to a Windows Communication Foundation (WCF)service worker role. The worker role must submit the information to the payment processor in JSON format.
Payment processing you have the following payment processing requirements: If the number of messages in a queue goes above or below a specified threshold, worker role instancesmust be created or deleted as needed. This process must be completed by using the least amount of effort.
It must be easy to reconfigure role instance thresholds.
Payments must be retrieved from the queue in the maximum batch sizes that are allowed by the queue andpulled from the queue for 5 minutes.
The payment queue must not be re-created when processing payments.
During single Payment processing, the number of tickets available for an event must be updated. Theupdate operation must be retried for 30 seconds or 5 retry attempts, whichever occurs first.
Each retryshould pause for at least two seconds and for one second longer than the previous attempt. If the updatefails, the payment should be placed in the poison queue.
Storage: You have the following storage requirements: Payment information must be stored by using Azure Queue storage. Connection to the Azure storageaccount has been established in a configured setting namedStorageConnectionString, which is configuredfor the web and worker roles.
A payment processing queue and a poison payment queue must be used when processing payments. Azure Queue message content must be XML-safe and UTF-8 encoded.
An Azure storage account must be established for diagnostic information in a configured settingnamedDiagnosticsStorageConnectionString, which is configured for both the web and worker roles.Security and MonitoringSecurity The web role must be secured by using HTTPS.
Monitoringyou must collect diagnostic data for both the web and worker roles by using the Diagnostics module.
Diagnostics configuration changes must not require the code of the roles to be rebuilt. The diagnostic data isused for debugging and troubleshooting, measuring performance, monitoring resource usage, traffic analysisand capacity planning, and auditing.
Performance testing must evaluate the roles under normal and stress conditions without incurring changes forrunning Azure. Memory allocation, function time, and multithreading concurrency issues must be evaluated.
You purchase a custom domain name fabrikamfunding.com to host the website, web role, and worker roles. You must deploy an HTTPS certificate with the web role, and you must update associated configuration filesaccordingly.
Web role and worker role instance sizes must be specified as Medium. You must deploy one web role instancenamed Fabrikam Funding Payment Generator, and worker role instances namedFabrikam Funding Payment Processor.
Application Structure: Relevant portions of the app files are shown below. Line numbers are included for reference only and include atwo-character prefix that denotes the specific file to while they belong.
You need to diagnose the source of the performance issues when preparing concert tickets.
Which two actions should you perform? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A. Examine the Storage Logging logs for any queue operations that have higher than expected latency.
B. Examine the Storage Client Library logs to determine whether there is a decrease in the total number of requests for storage operations.
C. Examine the diagnostic message logs for the worker role to determine whether the worker role is failing to process messages.
D. Examine the Storage Client Library logs to determine whether there are repeated retries for storage operations.