How to use the anynines Swift service with Paperclip

Web applications often produce files such as images, videos or documents. For a long time it was standard to put those files into the filesystem. Today this is considered a bad practice.

Why is storing to filesystem bad?

Using the filesystem as persistent storage breaks with rule number 6 of the 12factor manifest. This introduces two major architectural flaws:

1. Filesystems don’t scale well.
When storing a large number of files there is a point where a single server is not enough anymore. At this point filesystems become a problem as they don’t span across servers. Managing distributed filesystems is… painful.

2. A filesystem is a single point of failure.
Servers die and so will file servers. Making NFS servers, for example, redundant is an awkward task because it was never designed to be highly available.

Instead we want a storage service that is scalable and highly available by nature.

That’s where OpenStack Swift comes in.

Swift is highly scalable and can serve up to hundreds of petabytes. More than that it is also redundant. Data is replicated across a number of storage nodes. This allows Swift to survive the outage of one or multiple servers. (more…)

A recap of yesterday’s Berlin Ruby User Group meetup

We like developer meetups. That’s probably the reason why we found ourselves at the Berlin Ruby User Group (short: RUG::B) meetup at the Crealytics office yesterday. Just to recap the three talks and lightning talks real quick:

RabbitMQ to the rescue

First up was ‘Ruby Storm – Distributed work on a self-scaling system using RabbitMQ‘, where Steve Creedon and two of his co-workers at Wimdu walked us through their complicated integration processes of daily (data) feeds from partners for properties, availability and prices. Wimdu currently manages 360 000 properties with information on their availability and price, from 1700 partners. Creedon: “The first feed contained of 670MB XML, 30.000 prop, a steady daily feed for 1 partner. It took 27 for 1 script.” (more…)

We sponsored Linz – here’s what happened Linz took place last weekend at the Ars Electronica Center in Linz. Being one of the incredibly proud co-organizers of this developer conference, my recap might come across a little biased, but I tried to keep the amazing‘s to an absolute minimum. We’ve collected all slides and pictures, and can’t wait for Confreaks to publish the talks. Linz

CSS secrets and platform-native app development

The conference day started with 2 keynotes in our separate tracks. In the Seminarraum Lea Verou explained in ‘The Chroma Zone – Engineering Color on the Web’ how color works on the screen. How? Well… White pixels make up of 3 RGB subpixels, which can have a different order and different subpixel intensities for different colors. She elaborated on the workings of RGB, HSL and relative luminance. Hinting what CSS4 will bring us, Lea mentioned the new gray value(xx%) – unsupported now, but can be poly-filled with sass – and new adjustors: tint, shade, blend.

Steve Scott talked about the benefits of platform-native application development and explained why RemObjects have made the choices they have in producing their cross platform native tools. He also took the opportunity to announce the release of RemObjects C# – a brand new tool for native C# development on mobile platforms. (more…)