Cloud storage for architects

Designing storage for the Microsoft cloud

Integrating your storage by using Microsoft cloud services gives you access to a broad range of services and cloud platform options

Architecture

Why cloud storage?

Speed to market

  • Faster configuration for high availability and disaster recovery

  • No storage hardware to purchase

  • Built-in plumbing provided by Microsoft's cloud offerings

  • Available from anywhere in the world

Lower cost to maintain

  • Elasticity to scale up and down your storage demands

  • No storage hardware to maintain or upgrade

  • Built-in plumber to maintain and improve infrastructure

  • Best storage security in the marketplace with ongoing improvements

Storage scenarios

Cache data

Accelerate access to commonly used data by storing it in a high-speed cache.

Collaborate with team members

Grant permission to multiple users to allow access to data in cloud storage.

Manage data

Store, move, or delete internal or external bulk data.

Manage source code

Upload, collaborate, and run application code files in the cloud.

Backup files

Store copies of internal or external data offsite in multiple cloud locations.

Publish company communications

Create a single point of publication for internal or external messages.

Distribute millions of events

Create storage for telemetry ingestion from websites, apps, and devices.

Manage/serve videos

Store and serve video content to customers or organization users.

Microsoft Azure Storage recommendations

Microsoft Azure Storage recommendations

When designing your custom storage solution with Azure Storage, keep the following in mind:
  • Leverage multiple storage accounts for greater scalability, either for increased size (> 100 TB) or for more throughput (> 5,000 operations per second).

  • Design the ability for adding additional storage accounts as a configuration change, not as a code change.

  • Carefully select partitioning functions for table storage to enable the desired scale in terms of insert and query performance.

  • Choose short column names for table properties as the metadata (property names) are stored in-band (the column names also count towards the maximum row size of 1 MB).

  • When possible, batch operations into storage.

  • Aggressively cache information in the configuration database into a distributed cache.

  • If application performance or reliability is dependent on having a certain segment of data available in the cache, your application should refuse incoming requests until the cache has been pre-populated.

  • Partition the data in either vertically (by table) or horizontally (segment table across multiple shards) to spread the load across multiple databases.


  • Allow you to create your own storage solution from scratch.

  • Requires programming using the REST APIs.

  • Provide the ultimate in customization and flexibility.


  • Use existing services as a starting point for your storage solution.

  • Require some configuration or coding.

  • Can be customized to fit your needs.


  • Use prepackaged solutions immediately

  • Are ready to go, bundled with existing services

  • Provide limited customization