Splitting Light: Season 3 - Episode 04


Splitting light

Season 3 Episode 04

Monorepo

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

From April 2019 to July 2019.

The system we had built so far to do the testing, beta and general availability worked. But it was starting to show stress. We were stretching its capabilities too much. One of the difficulties we had was to synchronize all the elements and configuration to accomplish a deployment.

If you would categorize the type of system it was object storage, it would be in a category called micro services based. That is programs that talk to each other and work on small and well defined tasks. These programs were layered in a specific way to accomplish our goals.

Each of these programs had different source code and each of these code base was in a different location. The code to deploy had the daunting tasks to assemble the components and versions. Synchronizing everything was starting to be a mess.

Because we used a specific tool called stalk stack to deploy it was even a bigger mess. The most common way to use it was to create a branch for each environment. The code base starts to drift into multiple directions. This created so many issues to keep the environments synchronized. We started to really dislike it. At least a few production issues were created because of it.

We had reached the limits of the software, tools and organization we had so far in the storage team. We needed to inject some energy to change to a more stable orbit.

The process started with changing the deployment tool to ansible. This was the tool Scaleway had chosen to use for every team and product internally. Louis (a) created a custom inventory program that simplified greatly the size. From that we started to import software, bits by bits, inside this new location. Starting with the configuration, then programs, then more..

In a single repository, we had the source code of the services. Encompassing at least five different programming languages, deployment code, build code, quality test code, inventory code. Everything was in there. We even built our PXE boot images in that repository. (1)

Every single component was there; it made it very easy to synchronize everything. The limits of this system did not reveal themselves to me. Later I even included the legacy storage code and its associated idiosyncrasies in it. The purpose was to unify as much as we could.

It had two outcomes. First removing roadblocks to push to production. Essentially the new system reduced the cognitive load to enact changes on the live systems. The second was on the velocity side. Because we customized, dare I say, twisted, ansible to do our bidding we had a very tightly coupled system that did exactly what we wanted it to do. Adding a rack? Easy. Adding a region? Easy. Adding a service? Easy. The advantage of doing this compounded over time.

Many things had simply not been possible because they were too expensive to do. Now, the future was wide open for us. We could now do these impossible things. I only understood the power of what we had done much later. I only understood it when I got exposed several years later to other companies and their own deployment systems.

By that time, I was also changing orbits. I was moving into my own place.

(a) Louis Solofrizzo, Storage DevOps at the time, still at Scaleway

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

To pair with :

  • Dog shelter - Burial
  • EAFNOSUPPORT

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 10 Team of brothers If you are no longer interested in the newsletter, please unsubscribe Around September 2019 When you are very close to a team, it can feel like the team is a band of brothers. It felt to me that the team storage was cohesive. I felt like their older brother guiding them. Maybe it was because I was the eldest in my family and the second among my cousins on my dad’s side. My parents tell me I led my younger cousins for many years even though...

Splitting light Season 3 Episode 09 First recall on our tech loans If you are no longer interested in the newsletter, please unsubscribe Autumn 2019 We had our first tech loan recalled in November 2019. One of the limitations of OpenIO was the number of objects in a bucket. They had recommended not putting more than 500 000 objects in a single bucket. We had documented this publicly. It was a recommendation but, of course, we didn’t limit the number of objects for customers. The limitation...

Splitting light Season 3 Episode 08 Recruiting more floppys If you are no longer interested in the newsletter, please unsubscribe Now that the team had settled back into an equilibrium, we needed to replenish our ranks. The storage team, after the departure of several people, was down to seven people. Split half and half into senior engineers and junior engineers. We needed to recruit more just to bear the workload. We had seven legacy storage products, two new in GA and more in R&D....