Service Desk is a SPA built in Angular with a .NET Core Web API backend. The application uses Azure SQL as the main data store. The solution leverages Azure Storage queues to process tickets offline and send request acknowledgement emails using the SendGrid email service. The email contains the ticket no and links to a collection of knowledge base articles relevant to the user’s request.
I used the scalable web app in Azure reference architectures as a base. I haven’t used some of the services mentioned in the reference architecture like CDN, as the app has minimum static content.

App service apps
Web app
API app
Azure Function
Azure Function app takes care of background processing of service requests.
Azure AD
Users are authenticated using Azure AD. The JWT tokens are passed from the SPA to the Web API. The API app then uses the claims in the token to uniquely identify the users.
Storage
A Storage Queue holds the service request information for further processing.
Azure SQL
Permanent store for the service requests.
Cosmos DB SQL API
Data store for the knowledge base.
Azure Search
Indexes Cosmos DB documents and provides full text search functionality.
Email service
For sending the acknowledgement email.