Understanding Caching
Caching Approach
Characteristics
Advantages
Disadvantages
Comments
Caching Services
Out of Process
In Memory
Distributed
Accessible by all types of Azure technologies. Scalable.
Extra cost for Service
For building high-performance, scalable cloud systems.
Azure In-Role Caching
Out of Process
In Memory
Distributed
Can run in the memory space of existing Roles
Only available to Web/Worker Roles within Cloud Services.
Suitable for adaptation to existing applications migrated to Azure.
ASP.NET/IIS Cache
In-Process
In Memory
Single-Locale
Runs in the memory space of the existing application.
Requires cache synchronization to work with scalable Azure applications.
Will require adaptations to use distributed caching when used with Azure load balancing.
Azure SQL Database
Out of Process
Out of Memory
Distributed
Data is persistently stored in a database table.
Requires custom coding to serialize data, and for management such as expiration.
Slower than in-memory applications, may be throttled in periods of high request.
Azure Table Storage
Out of Process
Out of Memory
Distributed
Data is persistently stored in Azure table storage.
High performance for very large datasets, cost-effective. Requires custom code.
Slower than in-memory, but faster than SQL. May be throttled in periods of high requests.
Azure Blob Storage
Out of Process
Out of Memory
Distributed
Data is persistently stored in Azure Blob storage.
Can leverage geo-redundant persistent storage. Requires custom code.
Slower than in memory, but easy to make highly distributed.