Two weeks ago, at VMworld, I had the pleasure to attend TFDx and the first session of the day was with Scality.

During the session they spent most of the time talking about their new S3Server, which I like and already covered in the past. Use cases for this exciting piece of software are innumerable, and today I want to give you a practical example. You know, I’m no longer a hands-on guy (for a long time now :/) but I still have a few VM instances here and there to do experiments and, some time, test software.

Digital Ocean doesn’t have object storage

I love DO, my websites are hosted there. It’s a very basic service but it is based on all-flash storage, APIs are lean and useful (even for me) and, above all, it’s cheap! In the order of $5/month for a basic VM (a droplet in DO nomenclature).

But Digital Ocean cloud is so basic that it is missing a lot of features and services you usually find with other providers like Amazon, Google or Microsoft… and, unfortunately, object storage is among them. Yes, they offer many ready-to-go templates to create your own services and also a block storage option now but, again, object storage is missing. (… and it is in high demand among its end users)

Now, thanks to software like Scality S3 server the problem has been solved. To be fair Scality is not the only one that can give you this opportunity (also Minio.io can be an option). The real difference today is not about specific features of the servers, but is the fact that if you need to repatriate your application, Scality also has RING, a mature product that is suitable to build a private object storage infrastructure (S3 code is identical between the two).

A few easy steps

The process is really easy.

screenshot-2016-09-08-11-04-03From the Digital Ocean dashboard you choose “Create Droplet” and then Docker from the “one-click Apps” tab. After choosing the size, the name and few other details, you can click create and DO takes less than a minute to provide you with the VM.

Once you are logged in you can start your work. The commands are pretty simple:

$ docker pull scality/s3server

$ docker run -d -name mys3server -p 8000:8000 scality/s3server

And then

$ docker start mys3server

Done! Your S3server is up and running!!!

I tried using it via CyberDuck as documented on the S3Server website and it works flawlessly.

Furthermore, by adding an additional swap file I’ve been able to get S3server running in a 512MB VM!!! (which also means $5/month)

But why?

Well, first of all developing and deploying an application on DO and accessing data on an external object storage is expensive. (Amazon charges all the traffic in and out from AWS).

Another good reason is that, by leveraging your own S3 server, you have end-to-end control over application and data. In other words you are totally free to move the application whenever and wherever you want, no cloud lock-ins.

Last but not least, efficiency. In fact, you can optimize your VM to get the maximum from DO flash storage and minimize latency. Up to a certain extent, capacity shouldn’t be a problem either since DO offers external data volumes at $0.01/month… after which you can always migrate to another S3 compatible service or storage… perhaps based on Scality RING.

Closing the circle

With S3 server, Scality nailed it! They have a very easy to deploy object store now (that can also run in a 512MB VM!).
It can scale up to 2/300TB in a single node, after which RING then becomes its natural evolution (if you are contemplating an on-premises solution).

It’s also true that S3server doesn’t have any of the sophisticated features you can find in products like RING (i.e. replication, erasure coding, etc.) but this is a very entry level object storage solution and I’m sure that it is not difficult to develop basic replication and data protection scripts (or leverage your cloud provider’s snapshots) to get a basic form of protection for your data.

[quick disclaimer: Scality is also a client of my consulting firm]

If you are interested in these topics, I’ll be presenting at next TECHunplugged conference in Amsterdam on 6/10/16 and in Chicago on 27/10/16. A one day event focused on cloud computing and IT infrastructure with an innovative formula combines a group of independent, insightful and well-recognized bloggers with disruptive technology vendors and end users who manage rich technology environments. Join us!