Table of contents
Cloud storage is a scalable solution for storing and distributing unstructured data of any size and format. As an object storage solution, it is suitable for storing large datasets with robust data integrity mechanisms. Its key characteristics are described below.
Cloud storage, as an object storage solution, includes the following key features:
Automatically adjusts storage capacity and resources to handle growing workloads
Uses metadata to manage data independently, as object storage does not provide direct access to the operating system
Supports distributed storage, ensures data integrity, and reduces complexity in managing large datasets
The organization of data in object storage includes the following key features:
Organized with unique identifiers and metadata, simplifying data management and enabling instant access regardless of location
Objects are stored in a flat structure without the nesting that is typical of hierarchical file systems. However, graphical interfaces may simulate hierarchies using path-like identifiers, such as folder1/file.txt, to represent objects within folders
Triple data replication across three different servers ensures high reliability
Specialized mechanisms detect and resolve discrepancies among object copies, maintaining data consistency
Multipart upload is supported for objects over 100 MB, enabling efficient independent uploading of segments, better utilization of network resources, and resumption of interrupted uploads
Objects are grouped into containers (also known as buckets), which act as independent logical structures. Containers provide the following capabilities for managing data and metadata:
Containers can be configured with access control settings to be either private or public.
Containers store both system and user-defined metadata describing objects, their properties, and settings, such as deletion policies or version control
Containers support functionalities such as restoring deleted files, regional synchronization, object versioning, and partial object updates
Containers can be deployed in various regions to optimize access speed and performance based on user location
Cloud storage objects have a direct integration with web applications and can be managed in various ways:
Using the customer portal
Using APIs, such as S3 or OpenStack Swift
Via third-party applications that support Swift (e.g. Cyberduck)
File Transfer Protocol (FTP)
Managing objects via FTP is not recommended. FTP-based applications attempt to imitate a hierarchical file system interface, aligned with POSIX standards. This imitation results in poor performance, a lack of support for key features (e.g. metadata, containers, multipart upload), and potential errors or incorrect behavior. Instead, it is advised to use tools compatible with S3 or OpenStack Swift APIs, which work directly with the object storage architecture.
Cloud storage containers (buckets) provide two types of access:
Private access restricts container contents from being accessible via the internet. Commonly used for backups, confidential data storage, and other tasks requiring limited access
Public access makes container contents accessible over the internet through public links via HTTP or HTTPS protocols. Ideal for hosting and distributing files, such as static web content (e.g., images, documents, videos) or publicly shared materials
For more detailed information on managing objects and configuration, refer to the article How to access data in cloud storage.
Here is a list of additional features you can apply to your cloud storage:
Versions storage allows you to designate a container for storing old copies of modified objects
Custom domain enables the association of a custom domain with a container, allowing the use of custom URLs for publicly shared materials
Container synchronization ensures objects are synchronized across containers in different regions, maintaining data consistency