Splitting Light: Season 2 - Episode 07


Splitting light

Season 2 Episode 07

Future growth

If you are no longer interested in the newsletter, please unsubscribe

To bring object storage the fastest and safest way would be to use existing software. At the time we reevaluated the solutions that had been selected beforehand. There were three of them. Ceph, an open source industry standard, OpenIO a provider of an open source object storage, and Scality a provider of a closed source product.

There were multiple criteria to take into account. The price of the solution, support from the vendor, the ease of use and installation, the possibility of being able to patch the product to fix issues and add features, and lastly how would the solution work over time as the cluster grew.

The last item ended up being the final selector for reasons we believed were critical. We were building a public object storage where we sold an apparent infinite storage for customers. Of course, nothing is infinite in the physical world, everything ends up being a large number of hardware that you handle. Because the product is infinite you need to be able to grow your clusters. There is no limit for a customer. They could store one gigabyte or several hundred petabytes in a bucket if they had the funds.

Because of how the protocol is done, a bucket can be infinite, you either have to grow the cluster indefinitely or be able to share a bucket on multiple clusters. The later option I considered to be extremely risky because we didn’t have sufficient knowledge, at the time, of the internals of S3 to understand the full limitations.

Our choice was to have one cluster per region and thus have to grow it indefinitely or, in reality, sufficiently enough to meet customer demand. Therefore we initially would have to grow the number of machines quite a lot.

Ceph and Scality used a mechanism to evenly spread the data over the machines. This had great performance implications but it required that when you added a single storage media to the cluster, you needed to rebalance all the cluster and with that an immediate performance impact until the operation was completed. We had had this experience with the private object storage clusters where multiple times it had translated to a customer impact.

We knew that initially the cluster would grow. Our planned unit of deployment was a rack. To grow we would need to add a rack. The first time, half the data would have to be moved. The second time, a third of it. The third time, a fourth… Over time it would be less and less in percentage but more and more in volume. In the distant future it might be a better solution to use that algorithm. For us, at least in the short term, because we had to grow these clusters frequently, it would be better not to have such an algorithm. It could cause too many issues. OpenIO did not have this issue because it did not balance the data using the same mechanism. It used another mechanism that we preferred. It would not rebalance the data by itself.

Another consideration was that both Ceph and OpenIO used OpenStack swift for the API support and OpenIO seemed more consistent in their support of S3 in addition of SWIFT.

We chose OpenIO. The team agreed. We knew the limitations but they were less problematic than the others. What we didn’t know was how much drama it would generate. Some engineers in other teams tried to force our hand in using Ceph. We didn’t bulge. We were fiercely independent. We marched on.

(1) Photos available here by Emmanuel Caillé

(2) Photos by the launch event photographer - if you know who it was please tell me

If you have missed it, you can read the previous episode here

To pair with :

  • Interlude - The Blaze
  • The Family Trade by Charles Stross

Vincent Auclair

Connect with me on your favorite network!

Oud metha, Dubai, Dubai 00000
Unsubscribe · Preferences

Symbol Sled

Business, tech, and life by a nerd. New every Tuesday: Splitting Light: The Prism of Growth and Discovery.

Read more from Symbol Sled

Splitting light Season 2 Episode 16 Iterative process If you are no longer interested in the newsletter, please unsubscribe All throughout these first few months, from December 2017 to May 2018, we did iterations on object storage. This was both necessary to pick the skills and also reduce risks. The work to bring up an object storage is a subset to making a public facing object storage product. In the first case you control everything, in the second, you control much less. Quentin working in...

Splitting light Season 2 Episode 15 Internal identification If you are no longer interested in the newsletter, please unsubscribe End of May 2018 had arrived. I had an appointment. After doing a tattoo on my arm, I continued to look into tattoo art. Looking at different things and identifying more symbolism that I wanted. I remember reading Revenger by Alastair Reynolds, a mix between new space opera and pirates of the caribbean. Spaceships with light sales. I finally contacted the tattoo...

Splitting light Season 2 Episode 14 Access key If you are no longer interested in the newsletter, please unsubscribe We were now at a stage where we had to no longer have hardcoded credentials. We needed to be plugged to Scaleway’s authentication database. Historically Scaleway, the cloud computing division, had decided to design their own API. They used a mechanism called Json Web Token (JWT) to authentify. This system only required a secret credential. On our side, S3 required two things. A...