Choosing the right cloud storage option is never as straightforward as you think it might be. You end up having to juggle prices, for both saving and reading your data, for bandwidth, and even for the class of server that’s hosting your bits. And there are different storage technology options as well.
The first question you need to ask is “What kind of data am I trying to store?” Cloud services have the opportunity to step beyond the tiering model we often use in on-premises infrastructures, using storage models that are more suited to cloud applications and their particular needs. They may look like disks to the outside world, but you’re going to be working against specialized code that won’t offer the same features as a general-purpose disk file system.
But don’t fear that specialized focus. Modern disk file systems are complex tools, designed to handle anything you might do with a PC or a server. By focusing on a specific task, cloud file systems can tune performance and reliability features, building on underlying hardware and on newer, reliable file systems that are only now starting to roll out in the wider, on-premises world.
Understanding Azure’s blob stores
Microsoft tried to deliver an object file system for Windows—and failed. There’s too much overhead in building and managing an index for all the many different types of files stored on a PC.
hefty on-premises apps running on SQL Server or Dynamics CRM to Azure, without affecting performance. Alternatively, you can use slower hard drives to host data that’s needed for a test environment, keeping data and test machines separate, and connecting new test machines to previously provisioned storage—that approach speeds getting data into test environments.
Disk storage on Azure is like disk storage anywhere: It’s fixed and doesn’t scale with your application. If you need more storage, you’ll have to provision it and add mounts to your code to use it. If you’re planning on automatically scaling applications, you need to remember that disk storage can be a bottleneck, especially if you’re accessing it from many containers or VMs simultaneously.
Getting specialized in the cloud
Although the basic storage options in Azure are fine for most purposes, Azure also offers specialized storage services. One supports massive amounts of unstructured data, ideal for hosting . There’s also queue storage for handling high-volume message queues, managing asynchronous interapplication communications (IAC) by handling large message queues that can be arbitrarily deep to handle spikes in data traffic.
Some of Azure’s storage services are designed to extend and protect on-premises data. StorSimple storage appliances look like storage servers, with physical hard-disk and SSD storage arrays. But those arrays are best thought of as a cache for data that’s being transferred to and from cloud storage. What would have been a rack full of disks is now a few rack units (Us) of space, with data replicated in multiple Azure datacenters. Similarly, Azure offers both a backup service for on-premises desktops and servers, and a larger-scale disaster-recovery option that not only backs up servers but also can run them in the event of an outage.
Good storage is, to be honest, the barest minimum of table stakes in the modern public cloud marketplace. But what’s interesting about Azure is the breadth of its offering, supporting both cloud-native applications and on-premises code that’s moving out of existing datacenters, as well as enabling hybrid scenarios.
Recent changes to pricing models are making cloud storage more and more attractive, with high volumes at low cost. Now you know what factors to consider in choosing the one that’s right for you and your code.