Overview

Exoscale’s Simple Object Storage (SOS) is a highly durable, S3-compatible service that offers seamless data accessibility across various locations over the HTTP(s) protocol, supporting a diverse range of tools, libraries, and programming languages.

Terminlogy

In the realm of object storage, particularly when discussing S3-compatible storage, there are several key terms to understand:

  • Bucket
    A container for storing objects. Each bucket can store unlimited objects.
  • Object
    The fundamental entities stored . Objects consist of data, metadata, and a unique identifier within a bucket.
  • Key
    The unique identifier for an object within a bucket. It’s essentially the object’s name, and each object in a bucket can be uniquel addressed using the combination of the bucket name and the key.
  • Metadata
    A set of name-value pairs that describe or configure the object. It can include standard HTTP headers like Content-Type an Content-Length and custom metadata defined by the user.
  • Access Control
    Mechanisms to manage permissions for buckets and objects. This includes policies at both the bucket and object level, which defin who can access the data and what they can do with it.
  • Storage Class
    Different classes define how the data is stored and charged, each offering different levels of availability, durability, and cost.

Features

The Simple Object Storage service, compatible with S3, offers high data durability, is accessible in multiple locations, and is supported across a variety of tools, libraries, and languages.

  • Use your own S3 compatible tool
    Easily integrate our S3 compatible Object Storage into any existing app or workflow, using your existing clients and libraries with no lock-in.
  • A Cloud native Object Storage solution
    Object Storage is important when designing architecture for cloud applications for scale. Get better scalability, reliability, and speed than just storing files on the filesystem.
  • For any kind of data, pay only what you use
    Use Object Storage for static assets, user uploads or backups. We offer a performant solution with a fair pay-per-use pricing and no hidden costs.

Object Storage features for Cloud Native implementations are:

  • S3 compatible API
    Easily integrate our Object Storage solution in your applications using S3 compatible libraries. You can also connect with a GUI or CLI tool. Simply set a new endpoint and credentials.
  • H/A Object Storage replication
    We replicate data stored in our Object Storage on three different high-available nodes, in order to keep your important data safe. Our Object Storage SLA is covered by our 99.95% availability SLA.
  • Bucket Replication
    Automatically replicate objects to one or multiple buckets across zones for disaster recovery, backup, or multi-region synchronization.
  • Direct HTTP/s access
    Serve files directly from low latency, high bandwidth object storage via HTTP or HTTPS. Keep your own servers free to do more important things.
  • ACL and CORS support
    Set per bucket policies to manage permissions and control access. Or configure cross origin headers to use object storage from browser based applications and websites.
  • Metadata support
    Store additional information about your objects in key-value pairs and easily access this metadata through HTTP headers in every Object Storage response.
  • Keep your data in your country
    All data and replicas of our Object Storage service are stored in the country of your chosen zone. Object Storage is also available in every zone across Europe.
  • Supported Backup Solutions
    Various backup solutions are supported to let you do backups as you need - whether it’s services with a simple, fast setup, to solutions with enterprise-grade features. Read more
  • Object lock and versioning
    Store multiple versions of your object and configure locks for long term retention and archiving of data. Meet the most stringent data compliance policies with the Legal Hold feature. Read more

Advanced Features

These advanced features are accessible via the API, with ACL, CORS, and Metadata configurations also manageable through the Portal:

  • Identity and Access Management (IAM)
    Control programmatic access by creating specific IAM API Keys. These keys can be restricted to a single bucket, ensuring precise access management.
  • Access Control Lists (ACLs)
    Define precise permissions for buckets and individual objects with ACLs, allowing for granular access policies. Manage access rights such as read, write, and full control without inheritance from parent entities. For detailed information, refer to the SOS ACL Documentation.
  • Cross-Origin Resource Sharing (CORS)
    Enable browser-based applications to interact seamlessly with objects in a bucket via CORS, implemented at the bucket level for uniform configuration. More details are available in the SOS CORS Documentation.
  • Metadata
    Tag each object in a bucket with key-value pairs, presented through HTTP headers in SOS requests and responses. Comprehensive information and examples can be found in the SOS Metadata Documentation.
  • Encryption
    Leverage both client-side encryption and Server-Side Encryption with Customer Keys (SSE-C) to secure data. For client-side encryption details, consult your library documentation, while SSE-C specifics can be explored in the SSE-C Documentation.

Limits

The following table shows which limits are applied to SOS compared to AWS.

UsageLimitAWS S3 equivalent
Maximum number of buckets20 *100
Maximum object size4TiB5TiB
Maximum number of parts in a multipart upload1000010000
Minimum part size5MiB **5MiB **
Maximum part size5GiB5GiB
Maximum number of objects in a bucketunlimitedunlimited
Maximum number of versions per object1000unlimited
Minimum billed size128kb128kb
Maximum metadata size2kb2kb
Maximum tags per object1010
Maximum tag key size128 char128 char
Maximum tag value size256 char256 char
Maximum bucket name size64 char ***64 char ***
Maximum key name size1024 byte (UTF-8)1024 byte (UTF-8)
Maximum number of objects per delete-objects operation10001000

*) service limit upgradeable **) does not apply to last part ***) DNS compatible

Availability

ZoneCountryCityAvailability
at-vie-1AustriaVienna
at-vie-2AustriaVienna
ch-gva-2SwitzerlandGeneva
ch-dk-2SwitzerlandZurich
de-fra-1GermanyFrankfurt
de-muc-1GermanyMunich
bg-sof-1BulgariaSofia

Limitations

Unsupported S3 Features
While we strive to maintain full compatibility with the S3 API, we do not support all S3 features.

Currently, the following functionality cannot be used on Exoscale: