S3 Storage “Clever Cloud Cellar” Emerges from Beta

Storing files and assets on Clever Cloud just got easier. After a year of beta testing, we’re proud to release Cellar: a S3-compatible file storage API.

Cellar is faster, cheaper and more reliable thanks to its distributed architecture.

If you’re using FS buckets or storing files in your database, switching to Cellar will make your life easier: files can be directly uploaded to and downloaded from Cellar, without ever going through your application. This way you can handle large files without a hassle.

Cellar is perfect for:

  • user avatars
  • large files (images, videos)

Pricing

Storage

  • First 100MB Free
  • First 1TB € 20.48 / TB / mo
  • First 25TB € 15.36 / TB / mo
  • First 50TB € 10.24 / TB / mo

Traffic (outbound)

  • First 100MB Free
  • First 10TB € 0.09 / GB / mo
  • First 40TB € 0.07 / GB / mo

Getting started with Cellar and s3cmd

Create a new Cellar addon in the Clever Cloud console. From the addon dashboard, you will be able to get your access credentials, as well as to download a s3cmd configuration file to manage your files on Cellar.

Create a bucket

In cellar, files are stored in buckets, accessible under bucket-name.cellar.services.clever-cloud.com. To start using cellar, you first have to create a bucket for your files.

You can create a bucket with s3cmd (make sure you have saved the s3cmd configuration file under ~/.s3cfg).

s3cmd mb s3://my-bucket

Upload a file

# private file
s3cmd put my-private-file.jpg s3://my-bucket/my-private-file.jpg

# publicly accessible file
s3cmd put -P my-public-file.jpg s3://my-bucket/my-public-file.jpg

Using Cellar from Node JS

You can use Cellar from any S3-compatible SDK (including the official AWS SDKs) or directly through its REST API.

require fs from 'fs';
require AWS from 'aws-sdk';

// Initialize Cellar Credentials
AWS.config.update({accessKeyId: '<access key>', secretAccessKey: '<access secret>'});
const ep = new AWS.Endpoint('cellar.services.clever-cloud.com');
const s3 = new AWS.S3({ endpoint: ep });


// Upload a file to Cellar
const body = fs.createReadStream('./my-file.jpg');
s3.putObject({Bucket: 'my-bucket', Key: 'my-file.jpg', Body: body}, (err, data) => {
  if (err) console.error(err);
  else console.log("Successfully uploaded data to my-bucket/my-file.jpg");
});

// Get an access URL for a private file
s3.getSignedUrl('getObject', {Bucket: 'my-bucket', Key: 'my-private-file'}, (err, url) => {
  if(err) console.log(err);
  else console.log("The URL is", url);
});

More information

Clever Cloud Cellar is backed by the rock solid Riak Simple Storage (aka Riak S2) from Basho.

Talk about cloud file storage: slides from our CTO Documentation: www.clever-cloud.com/doc/addons/cellar/

Using Cellar from Node.js with AWS SDK: SDK documentation

Cellar's S3 compatible API: Riak S2 API documentation

Blog

À lire également

Our new logs interface is available in public beta

You can now discover our new log stack interface and its new features!
Company

Deploy from GitLab or GitHub

Over the past few months, some customers have raised questions about CI/CD building to deploy…

Engineering

Metrics: Offloading billions of datapoints each month

Metrics are crucial to the day-to-day running of our platform. Here's how we've automated the archiving process.
Engineering