Choosing a Cloud Storage Service
Cloud storage refers to the storage used by applications that run on a cloud service. Online storage, which is different from what we’re discussing, refers to storage of files as a backup or archive on an online storage service.
When choosing storage through a managed cloud service, you should consider several factors: What type of storage is needed? What is the type of application? What is the scale of data? Let’s look at these factors.
Type of storage
Cloud storage may be classified based on how data is stored. The three common types of storage are file storage, object storage, and block storage.
With file storage, data is stored as files. Hierarchical file storage makes use of directories, subdirectories, folders, and files. File storage is the earliest form of storage used.
With object storage, data files are stored as objects, with each object in a separate repository along with metadata and a unique identifier. Object storage of a photo could be associated with metadata such as when the photo was taken, who took the photo, and where the photo was taken.
With block storage, data files are broken into even-sized blocks and stored across multiple OS environments. Block storage does not store as much metadata as object storage—just the basic file attributes to be able to reassemble data that is broken.
Both object and block storage do not make use of a hierarchical directory structure that file storage does.
Scale and type of data
File storage is most suitable for small- to medium-scale structured data. Block storage is suitable for relatively large quantities of data—mostly structured data.
Block storage could be used up to a few petabytes. Object storage offers the highest data storage capacity, at up to an exabyte (1,000 petabytes). Object storage is most suitable for unstructured data.
Type of application or service
File storage is commonly used for file data that may need to be updated or modified. Object storage is used for static data such as a photo, video, or email message.
Object storage data is not designed for updating. Block storage, with its inherent flexibility and speed, is most suitable for containerized applications.
Anyone who has stored data as files in folders and directories knows that a directory path could get unwieldy, with several subdirectories in a complete directory path to a file. The complete directory path must be supplied when accessing a file, sometimes having to include quotes to avoid a space in a directory path being interpreted as the end of the directory path.
Block storage, in comparison, does not make use of a single path to data; instead, blocks of data are spread across multiple OS environments. Fetching data with block storage is faster than file storage. When data is requested, the storage software reassembles the data from the blocks and returns it to the user.
Object storage accessibility is also faster than file storage accessibility and typically makes use of an HTTP RESTful API.
Availability and durability
All cloud-based storage services provide high availability by using a fault-tolerant distributed storage. Durability is provided by storing copies of data so that if one data replica were to fail, another could be used.