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

Testing rake tasks with rspec

This blog post is a continuation of this thread. On trying to write a spec for one of the rake tasks, when trying to invoke the same rake tasks within the same @rspec contexts, for different flows, weirdly the tests failed if I ran the whole suite, but would pass if I ran them separately. — Tasdik Rahman (@tasdikrahman) August 12, 2020 So for example # ./lib/tasks/foo_task.rake desc 'Foo task' namespace :task do task :my_task, [:foo, :bar] => [:baz] do |task, args| ... # does my_task ... end end Now if we try writing a spec a for it ...

October 20, 2020 · 3 min · Tasdik Rahman

A few things about database migrations

This blog post is a continuation of these two threads. A few things about database schema changes. (1/n) — Tasdik Rahman (@tasdikrahman) October 17, 2020 This is where @rails active record migrations really shine. I find it's UX super clean. (1/n)https://t.co/vA6Jb345yc — Tasdik Rahman (@tasdikrahman) October 18, 2020 The schema of your relational database, will change over time for your application. Trying to introduce these changes from dev setup -> integration/UAT -> production env, in a clear, consistent and repeatable manner, would definitely add value in trying to maintain repeatability across different environments. ...

October 18, 2020 · 6 min · Tasdik Rahman

The making of bhola - your cert expiration overseer - Part 1

You might have already seen me writing a bit about bhola already on twitter, I wrote a little bit about why I have been building bhola. This post is more of a continuation to this tweet and what I envision it to be moving forward. Do you sometimes wake up, with a call by someone from your team, telling you some SSL cert has expired? Do you keep track of SSL cert expirations on your to do notes or excel sheets? Would you like to be on top of such x509 cert renewals? https://t.co/MVFRZCUlZN is for you (1/n) pic.twitter.com/pj8JHJEkje ...

October 8, 2020 · 7 min · Tasdik Rahman

Why I chose to do TDD for my new side project

This post is more of a continuation to this tweet One thing which I tried doing differently this time with one of my side projects is to do TDD from the start. Someone may ask why? It's just a side project no? (1/n) — Tasdik Rahman (@tasdikrahman) October 4, 2020 I have been building bhola in my free time, and one thing which I tried doing differently this time with it, was to practice TDD from the start. ...

October 7, 2020 · 7 min · Tasdik Rahman