Building the VM creation API for the org

Over the years, there have been a lot of changes in the way, people create their virtual machines in their cloud environment. At a very primitive level, one would simply go about doing it via the cloud provider console. A couple of clicks and lo and behold. At a larger scale, people end up using automation to create these Virtual machines in the way they want them to be, given the manual nature of work would just start becoming a bottleneck in scaling quickly when required otherwise. ...

June 20, 2021 · 7 min · Tasdik Rahman

Handling language stack deprecations: Part 2: Container infrastructure

Given the number of language stacks which different product teams end up using inside the org, variations come, in the form of different versions being used, or different versions of dependent libraries coming in. This combination will quickly lead up to a whole set of container image variations for a particular language, crossed with operating system versions. What is the problem then? Tracking what is being used by different product teams and their services arises when we would want to know what infrastructure combination is being used by different services. Tracking this piece of information is paramount for a couple of reasons for the central infrastructure team. ...

June 15, 2021 · 5 min · Tasdik Rahman

Revamping Vesemir: our virtual machine deployment service

This is a continuation of the post, which details into the working of vesemir and how it goes about introducing changeset. Give it a read before continuing reading this, to allow you to gather more context on the what and the why. While this post will focus more more on how we went on with revamping vesemir for increasing it’s reliability, maintainability and modernizing it. Continuing the thread around how we did the same for Vesemir. (1/n) https://t.co/Xol0uRraJv ...

June 12, 2021 · 9 min · Tasdik Rahman

Vesemir: Our virtual machine deployment service

This post is a continuation of the tweet here The build and deployment pipeline for each org will be different in some way or the other, given each co will have it’s own requirements. This thread talks a bit about our virtual machine deployment pipeline (1/n) — Tasdik Rahman (@tasdikrahman) June 10, 2021 This was also cross posted originally for the gojek tech blog https://www.gojek.io/blog/introducing-vesemir-gojeks-virtual-machine-deployment-service The build and deployment pipeline for each org will be different in some way or the other, given each co will have it’s own requirements. Even in my last org, the way our team enabled other teams to ship code/config changes, was pretty different from the way we do it in my current org. ...

June 10, 2021 · 6 min · Tasdik Rahman

Bug which would cause some deployments to get triggered again and again

This post is a continuation of this tweet here. We recently encountered a bug in our deployment flow, which we were completely oblivious to. (1/n) — Tasdik Rahman (@tasdikrahman) June 5, 2021 Bugs are present in every system, waiting to be discovered. As such, this one was no different. What did the bug do? Would cause an application to be deployed again and again, even though when it had been triggered only once to be deployed. ...

June 6, 2021 · 5 min · Tasdik Rahman

Handling language stack deprecations: Part 1: Virtual Machine infrastructure

This post is a continuation of this tweet thread Language deprecation for stacks can be a task if you are on VMs, added to that the confusion on what version of that stack runs, in your inventory if it's not small. Summarizing what we ended up doing to bring visibility & giving people the ability to migrate themselves (1/n) — Tasdik Rahman (@tasdikrahman) January 29, 2021 Compute VM’s Given the nature of VMs and how they are run and created in our compute infrastructure environment. Managing, upgrading and adding fixes to them becomes a task in itself. Given that there is no control plane to control the lifecycle of these VM’s, the task is manual at best even though there is automation to delete and create VMs on demand (more on the VM creation API which we created in a different post). ...

February 2, 2021 · 7 min · Tasdik Rahman

Maintaing aptly - The debian package manager

This post is a continuation of this tweet thread Sad to see aptly slowly https://t.co/zkXgsruAGi rotting, but works really well till the last 1.4.0 build as a debian package repository for your needs. (1/n) — Tasdik Rahman (@tasdikrahman) November 11, 2020 Aptly is a debian package repository, the specific use case which we are using it for is pushing out application specific debian packages which will then be pulled out while deploying a new SHA/version of the application, to the app boxes. More on this in another post. But what this post will concentrate on, are a few things which we discovered while maintaining aptly, storing packages which ran into storage spaces consuming multiple TBs. ...

December 23, 2020 · 5 min · Tasdik Rahman

What to avoid while doing PR reviews

As with time this doc will change, but jotting my thoughts down here on what I feel I would like to avoid while I review PR’s. Code formatting/style suggestions I believe it’s best left to the machine to do this instead of a human trying to fixate their attention to this, given it takes away the precious time of the reviewer which could be diverted to review the crux of the changes which the submission tries introducing. A code formatter should ideally pick this step up from the human reviewers’s plate. An opinionated code-formatter/linter/style checker is the best option to have. An example for this will be gofmt/linter which weeds out code formatting issues right in the build/test step. rubocop is another great example. ...

December 14, 2020 · 7 min · Tasdik Rahman

To self host or to not self host kubernetes cluster(s)

A friend of mine asked this to me recently, about how was it to self host kubernetes clusters. And I was cursing myself about why I did not write this post earlier (I mean, technically I have written about how we used to do self hosting before, but not the pros and cons of it), as this was not the first time I had been asked this question. So this post is dedicated to my friend and to others when they chance upon this question. ...

November 27, 2020 · 6 min · Tasdik Rahman

Choosing between one big cluster or multiple smaller kubernetes clusters

This post is a continuation on the discussion which I was having with @vineeth But why would someone choose one large cluster over multiple small clusters? Aren't multiple clusters already a pattern in enterprises? — Vineeth Pothulapati (@VineethReddy02) November 20, 2020 Context is when I came across a tweet which demonstrated the ability of kubernetes to scale uptill 15k nodes due to recent improvements. 15k nodes cluster 🤯 https://t.co/VMWI7HeYHH — Tasdik Rahman (@tasdikrahman) November 20, 2020 The discussion was originally around costs and how much would it take to run one such large kubernetes cluster, but it went into a different direction altogether. ...

November 21, 2020 · 10 min · Tasdik Rahman