One of the great things about the cloud is that it offers multiple ways to store data — with block storage and object storage chief among them. Each of these methods is highly scalable and easy to leverage in a modern cloud environment.
But with choice comes the challenge of deciding which solution is best. In an on-premises environment, you might shy away from object storage because it's harder to implement on self-managed than block storage (which is easy to implement because most conventional file systems are a form of it).
In the cloud, on the other hand, ease of use is not a major factor when choosing between the two. But there are other factors to weigh. This article breaks them down by comparing the pros and cons of both block and object storage in the cloud.
What Is Cloud-Based Block Storage?
Block storage is an approach to data storage in which data is organized into physical or virtual data volumes. It breaks data into blocks, which are then stored across a data volume. When an application or service wants to retrieve a data item, the blocks associated with that item are assembled to produce the data.
In an on-prem environment, block storage volumes most often come in the form of hard drives. In the cloud, they are virtual data storage volumes delivered via services like Amazon EBS or Azure Disk Storage.
What Is Cloud Object Storage?
Object storage treats each data item as a discrete object. The objects are stored in a way that is not highly structured. Rather than making the items fit into a system of blocks, each object is dumped into a "bucket" (to use the terminology employed by Amazon for its S3 storage service). Retrieving data involves pulling the data objects you want out of the bucket.
It's possible to implement object storage on-premises. But because on-prem, it is relatively complex to implement and requires massive storage infrastructure to operate at scale, organizations more commonly turn to cloud services such as Amazon S3 or Azure Blob Storage to provide access to highly scalable, low-cost object storage services.
Advantages of Block Storage in the Cloud
The main reason to use block storage in the cloud is to provide storage volumes that you associate with virtual machines. Cloud VM services like Amazon EC2 are designed to integrate VM instances with block storage volumes, which the operating systems hosted on the VM instances use for storage.
That said, block storage in the cloud also offers some advantages unique to it:
- Easy snapshots: It's fast and easy in most cases to take a snapshot of a block storage volume in the cloud, which you can then use for backup purposes or to restore a VM to a particular point in time. You can also back up object storage data and track its version history, but this functionality is more complex (and potentially more costly) to implement with cloud-based object storage.
- Simpler pricing: In general, block storage services have simpler pricing schedules. They include fewer fees and storage tiers. This doesn't necessarily mean your total storage costs will be lower, but it does make costs easier to predict.
Advantages of Cloud Object Storage
Although you can use block storage to accompany VMs, you can also store data in object storage buckets and connect them to the applications hosted on your VMs (although you may still need a block storage volume for the VM file system). There are several reasons why you might choose to lean more heavily on object storage in the cloud:
- Flexibility: It is arguably the most versatile type of storage on the cloud because you can use it not just with VMs, but to provide storage to virtually any application or service that needs to store data of any type.
- Cost: Object storage services offer very low pricing, especially if you take advantage of "cold" or "glacier" storage tiers (which provide ultra low-cost storage, with some caveats that make them incompatible with certain use cases).
- Easy downloads: You can easily download data from an object storage bucket to an on-premises environment. It's possible to download data from a block storage volume, too, but doing so is usually more complicated because you need to extract the data from the storage volume first.
- Unlimited storage: The storage limits for object storage services are typically higher. For instance, the maximum size of an Amazon EBS volume is currently 64 terabytes, while Amazon says that the S3 bucket size is unlimited (although individual data objects are limited to 5 gigabytes), which means you can theoretically store as much data you want inside S3.
Block vs. Object Storage: What to Use When
Is block storage better than object storage? The answer, as always, depends on your use cases and priorities.
If you need a simple storage volume for a VM, and if snapshotting is an important feature for you, it is the better solution in the cloud. The fact that it offers simpler pricing is also an advantage.
In contrast, object storage is typically the way to go if you prioritize flexibility over all else, and/or if you have very large-scale storage needs.
Remember, too, that block and object storage are not an either/or proposition. You can use them at the same time for the same workloads (by, for example, creating an EBS volume for a VM that hosts applications, which themselves rely on object storage). It's really a question of which data you want to commit to which type of storage, not which type of storage to commit to overall.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.