Object Storage Service (OSS) is a secure, cost-effective, and high-durability cloud storage service provided by Alibaba Cloud. OSS enables you to store a large amount of data in the cloud. OSS supports a designed durability of at least 99.9999999999% (twelve 9's) and a designed availability of at least 99.995%. OSS supports RESTful API operations that are independent of the OSS console. You can store and access data from all applications anytime and anywhere.

OSS provides the following storage classes to cover various data storage scenarios from hot data storage to cold data storage: Standard, Infrequent Access (IA), Archive, and Cold Archive.
Standard Standard storage provides high-durability, high-availability, and high-performance object storage services that can handle frequent data access. Standard storage is ideal for storing images for social networking and sharing, storing data for audio and video applications, large websites, and big data analytics.
Infrequent Access (IA) IA storage is suitable for data that is infrequently accessed, such as only once or twice a month. IA storage offers a storage unit price lower than that of Standard storage and is suitable for long-term data backup of mobile apps, smart devices, and enterprises. It also supports real-time data access.
Archive Archive storage is suitable for long-term (at least six months) storage of data that is infrequently accessed. OSS takes a minute to restore an Archive object before you can read the object. Archive storage is suitable for data that you want to store for a long period of time such as archival data, medical images, scientific materials, and video footage.
Cold Archive Cold Archive storage is suitable for extremely cold data that you want to store for an extremely long period of time. Examples: data that must be retained for an extended period of time due to compliance requirements, raw data that is accumulated over an extended period of time in the big data and AI fields, media resources that are retained in the film and television industries, and archived videos from the online education industry.

Scenarios

OSS is applicable to the following scenarios:
  • Storage and distribution of audio, video, and static website data

    OSS generates a unique HTTP URL for each object, which is used to distribute the object. In addition, OSS buckets can be used as the origins for Alibaba Cloud Content Delivery Network (CDN). The storage space of OSS is not partitioned. Therefore, OSS is ideal for storing the data of user-generated content websites and data-intensive websites, such as image and video sharing websites. You can use various devices, websites, and mobile applications to directly read data from or write data to OSS. You can write data to OSS by uploading files or using streams.

  • Static website hosting

    OSS provides a cost-efficient, high-availability, and highly scalable storage solution. OSS can be used to store static HTML files, images, videos, and client scripts such as JavaScript scripts.

  • Data warehouse for computing and analysis

    OSS provides horizontal scalability so that you can simultaneously access data from multiple computing nodes.

  • Data backup and archiving

    OSS provides a highly available, scalable, secure, and reliable solution for the backup and archiving of critical data. You can configure lifecycle rules to automatically convert the storage class of cold data to IA or Archive to reduce your storage costs. You can also configure cross-region replication (CRR) rules to automatically replicate data between buckets in different regions in an asynchronous manner in near real time.

Performance

To achieve the fastest speed when you access an OSS bucket from your ECS instance, the ECS instance must be located within the same region as the bucket. The latency at the server side is negligible compared with the network latency based on the way that OSS is designed. In addition, OSS performs well when it is used to store data for web applications because OSS provides scalability for the storage capacity, number of requests, and number of users. If you use multiple threads, applications, or clients to simultaneously access OSS, the total throughput of OSS is scaled to a value far higher than the throughput that can be provided or consumed by a single server.

OSS provides the multipart upload feature to improve the upload speed of objects larger than 5 GB in size. When you use multipart upload, you can split an object into multiple data blocks (parts) and upload the parts separately. After all parts are uploaded, OSS combines these parts into a complete object. You can use this method to implement resumable upload. Multipart upload is suitable for scenarios in which network connectivity is poor. If a part fails to be uploaded, you can reupload only the failed part instead of the whole object.

To accelerate data access, many developers use OSS in conjunction with search engines such as OpenSearch or databases such as Tablestore and RDS for MySQL. OSS is used to store data, whereas search engines or databases are used to store metadata, such as the object names, object sizes, and keywords. Metadata stored in databases can be indexed and queried. When you use OSS in conjunction with search engines or databases, you can precisely locate and query objects stored in OSS.

OSS provides transfer acceleration to accelerate the upload and download of large objects from a distance, which allows you to dynamically update objects and accelerate the download of objects that are not frequently accessed. Transfer acceleration provides an end-to-end acceleration solution by combining smart scheduling, protocol stack tuning, optimal route selection, and transfer algorithm optimization with OSS server-side configurations.

OSS supports Alibaba Cloud Content Delivery Network (CDN) to accelerate the download of static hot objects. Alibaba Cloud CDN uses OSS buckets as origins and distributes content from the origins to edge nodes. Alibaba Cloud CDN uses its precise scheduling system to distribute requests to optimal edge nodes, which allows users to quickly access the required content. This way, Internet traffic congestion can be eased and the response time is shortened.

Data durability and service availability

OSS uses the multi-zone mechanism to distribute user data across three zones within the same region. Even if one zone becomes unavailable, the data can still be accessed. This mechanism can provide 99.9999999999% (twelve 9's) data durability and 99.995% service availability.

You can also enable CRR for a specific bucket. After CRR is enabled, data is replicated between buckets in different regions in an asynchronous and nearly real-time manner. The source bucket and destination bucket can both provide 99.9999999999% (twelve 9's) data durability and 99.995% service availability.

Scalability and elasticity

OSS provides high scalability and elasticity. You may encounter problems when you store excessive files in the same directory in a common file system. In contrast, the total storage capacity of OSS and the capacity of a single OSS bucket are not limited. You can store an unlimited number of objects in a bucket. OSS stores the replicas of your data in different servers within the same region. All replicas have the same performance provided by the high-performance infrastructure of Alibaba Cloud.

Security

OSS provides a variety of security and protection features such as server-side encryption, client-side encryption, hotlink protection based on Referer whitelists, fine-grained access control, log audit, and retention policies based on the Write Once Read Many (WORM) retention policy. OSS is the only cloud service in China that meets the audit and certification requirements of Cohasset Associates and the specific requirements for electronic data storage. OSS buckets configured with retention policies can be used for business subject to regulations such as SEC Rule 17a-4(f), CFTC Rule 1.31(c)-(d), and FINRA Rule 4511(c). For more information, see Overview.

API operations

OSS provides standard RESTful API operations. You can use these API operations to store objects in buckets whose names are globally unique. Each object has a key that uniquely identifies the object in the bucket. OSS does not use directories. All elements are stored as objects. However, you can create a simulated directory by creating an object whose name ends with a forward slash (/), such as folder1/folder2/file.

You can use tools or OSS SDKs that encapsulate the API operations to develop applications. OSS provides SDKs for more than 10 programming languages, including Java, Python, PHP, Go, Android, and iOS. ossutil is a high-performance command-line tool that provides a variety of simple commands, such as ls, cp, cat, and config, for you to manage buckets and objects. ossutil supports concurrent upload and is supported by the following operating systems: Windows, Linux, and macOS. In addition, you can use the graphic tool ossbrowser to perform basic operations, such as browsing objects and uploading or downloading objects and directories. You can also use the OSS console, which is a graphic web application, to manage your OSS resources.

You can use the event notification feature to immediately learn about the operations performed on your OSS resources. For more information, see Overview.

Cost model

OSS fees include storage fees, traffic fees, API operation calling fees, and data processing fees. OSS charges fees based on the actual amount of resources used. The fees incurred within an hour are billed in the following hour. Fees are calculated based on the following formula: Fees = Actual usage × Unit price. You can choose the subscription billing method for some billable items to reduce your storage costs. Subscription allows you to use resources only after you purchase resource plans. Resource plans are used to deduct fees incurred by resource usage. For more information, see Billable items and Billing methods.