This series documents the individual components of the Cloud Service Fundamentals code project by the Azure CAT team. 

The "Cloud Service Fundamentals in Azure" sample demonstrates how to create database-backed Azure services from real-world customer learnings of the Azure Customer Advisory Team (CAT). Learn the fundamental building blocks for scale-out Azure applications.

For more details about this project, read Building Blocks of Great Cloud Applications.

To find out about new content from the AzureCAT team, follow @WinAzureCAT


Telemetry – The basics for instrumentation and logging of application services through asynchronous mechanisms at scale implemented in a data pipeline.  Effectively leveraging the telemetry data is critical in troubleshooting a service and determining the health of a service.  The code project implements a scheduler using a background worker role to collect telemetry data periodically from the application, perf counters, IIS logs, event logs and the sharded SQL Database DMVs. The data is written to a custom ops store database in Azure SQL Database.  The data collected by the scheduler can be viewed by reports hosted in SQL Reporting.

Articles include:

Telemetry - Basics and Troubleshooting
Telemetry - Application Instrumentation
Telemetry - Data Acquisition Pipeline
Telemetry - Reporting

Data Access Layer

The layer accessing the multiple databases in Azure SQL Database efficiently and reliably.  The code project has data access wrappers for both single-database and sharded solutions, and demonstrates techniques such as parallel fan-out queries across shards. 

Articles Include:

DAL - Introduction into Fault-Tolerance
DAL - Sharding of RDBMS 


By using Azure Caching, user data may be stored and retrieved more efficiently from a dedicated cache when combined with the Data Access Layer.

Cloud Service Fundamentals - Caching Basics (Azure Team Blog)


Configuration files are key to help make managing your application seamless whether configuration parameters are in web.config or the service config – this should be transparent to the application. 

Configuration in Distributed Applications 

Application Request Routing

Implementation of cookie based routing & affinitization of users to multiple hosted services and sharded databases leveraging the ARR (Application Request Routing) technology in IIS to enable scale-out at the application service level with sharded databases.

Application Request Routing in CSF (Azure Team Blog)