Splitting Light: Season 2 - Episode 33


Splitting light

Season 2 Episode 33

Over-engineering bandwidth

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

Late February 2019


The second element was to bill the bandwidth. Specifically the outgoing one.

In my original design of the billing component I had thought that we needed a “high performing” database to handle the bandwidth calculations. I had chosen ScyllaDB because friends had good things to say about it. It was a reimplementation of Cassandra but in C++. The problem, for us, was that no one in the team had used Cassandra or ScyllaDB in the first place. We had to learn how to install it, how to connect to it and how to perform requests to it.

The idea behind using that database was to capture every request’s metadata. For a GET that would be the number of bytes from a bucket sent back. Store this metadata and then process it aggregated according to IP ranges. With this we could bill depending on the destination IP range.

Marian (a) worked on this. It was not easy. The querying syntax was harder. My instructions were not clear. The other element was actually capturing those metadata. This required careful hooking into the OpenStack code. We would send the metadata over UDP, for the same reason as logs. I would rather have a free working cluster than a paying non-functioning one. When Alexandre (b) stepped in to help, he assessed that we didn’t need ScyllaDB. So we swapped it for a postgres. Simple database, simple inserts.

I remember creating the query to aggregate requests based on the bucket and user identifier. Bucketing the data by ip range. It was not a simple request but it worked. I had exported the ranges from the DCIM and inserted them inside the postgres database.

Why did we want to capture and then process? Why did we want a two step logic? That was in case we made a mistake with IP ranges. We would be able to re-compute the aggregated telemetry. We quickly pushed to production.

I was disappointed in Marian. But that was entirely my fault. I had too high expectations for a student. I had pushed a very complex subject to him. With no help. Maybe part of it was the competition between Epitech and School 42? I thought because he was from Epitech he would have succeeded in doing a very senior task?

The real problem was that I didn’t allocate time and attention properly. It’s now my deepest regret of that first half of 2019. Not taking the time to lift people up to their potential.

Next we needed to push Paris forward.

(1) Picture of Scaleway’s Lille office: https://officesnapshots.com/2019/09/16/scaleway-offices-lille/

(a) Marian Gappa: then part time intern, now DevOps consultant at Zenika

(b) Alexandre Merle: then DevOps, now Software engineer

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

To pair with :

  • All your love - Jakob
  • Confessions d'une Glitter Addict (Not translated to English) by Diglee

Vincent Auclair

Connect with me on your favorite network!

Payson, Payson, AZ 85541
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 3 Episode 13 Bills reconciliation If you are no longer interested in the newsletter, please unsubscribe January to March 2019 When you have a complex system there are always going to be discrepancies between them. In our case the discrepancies were in the billing systems. We had five different data sources. None agreed on the numbers. Let me introduce our five systems. Observability of the disk usage as well as the incoming and outgoing bandwidth. The client...

Splitting light Season 3 Episode 12 Warsaw If you are no longer interested in the newsletter, please unsubscribe End of January 2020 to beginning of February 2020. In January 2020, we had a new challenge. A new opponent to ring in and control. Let me introduce him. It was the Warsaw region! We had to deploy object storage in Warsaw. Back in September 2019 we had selected the hardware setup and had done a brief discovery of it. Then the whole region’s hardware had been shipped by truck. Once...

Splitting light Season 3 Episode 11 OpenIO reaching out If you are no longer interested in the newsletter, please unsubscribe End of 2019 While we were dealing with the 500k object problem in object storage, Jean-Francois Smigielski (a), OpenIO’s CTO reached out to me on their community Slack. They were looking to hire more engineers and several people that they trusted had told them I was what they needed. Most likely I had also done a good impression when we had worked together to bootstrap...