DevOps Engineer @ Tripoto

Why DNS primarily uses UDP if it is un-reliable?

When somebody asks what’s the primary difference between TCP and UDP, they often get the following copy-pasta as the answer: UDP is connection-less and unreliable, whereas TCP is connection-oriented and highly-reliable protocol. Services which are required to be highly available should choose TCP over UDP.

Writing a bloom filter in go

Let’s assume you’re assigned a task to implement a feature which will check whether a username is already taken or not. You: Sounds easy. Most probably your first intuitive approach will be to check for username availabilty in your database everytime a new user tries to signup.

Encrypt DNS queries with DNS-over-TLS

In May 2016, IETF proposed a new standard [RFC 7858] for resolving DNS queries. This new protocol defines how to resolve DNS queries over TLS a.k.a DNS-over-TLS. And, why not, ~60% of websites have been already migrated to HTTPS and, nowadays with all major browsers forcing webmasters to adopt to HTTPS, this trend will likely to see unexpected high.

Bastion servers as frontline security for your infrastructure

Disclaimer: This article is in regards with cloud-native infrastructure which means all machines, storage, network ACLs, firewalls, etc are virtually managed and provided by a cloud provider on a shared-responsibility model. As cloud admins we all know that, with ever growing cloud-based infrastructure, it becomes tougher and tougher to reduce administrative access points and ensure protection against unwanted and crooked visitors.

MySQL Physical backup using XtraBackup

Databases are and always will be the most critical applications when it comes to maintenance, durability, uptime and smooth running of the businesses. DBs, being the backbone of all of the operations going on, need to be resilient, fault tolerant, and therefore they demand special attention and vigilance from the administrators.

My vim+tmux based Terminal workflow

Trivia: It’s been 5 months since I’ve embraced Vim as my full-time IDE and ditched VSCode finally. Being a DevOps engineer and Cloud Admin, I spend a lot of time inside my Terminal; sometimes tailing logs, running playbooks, debugging Networking issues, and I had always used Vim for past 4 years to make small changes on remote machines.

Setup a 'sane' K8s cluster in local env using KinD

Are you still using Minikube in 2020 to provision your local Kubernetes environment? Don’t you love the idea of having a multi-Node cluster for your local env too? Idea of having Docker Containers as “Nodes”? Pre-installed binaries and tools to test, debug and understand the wizardry of K8s.

Python collections module

Python’s collections module is often ignored and sidelined by most of the python programmers but it contains few useful container data types which can come handy in some special scenarios and use-cases. Let’s dig in! As of writing, Wed 6 Nov 2019, and v3.

Understanding procfs

procfs is a psuedo-filesystem present in many UNIX-like Operating systems. It is used to access process related info without interacting with Kernel directly (means no system calls). procfs is also a great example of one of the core UNIX philosophy – store data in flat files.

Ultimate shell scripting cheatsheet - part 1

Shell and Shell scripting is unarguably one of the best asset of UNIX systems. Yeah prima facie, it looks intimidating and old-school, this is all because it’s almost the same for almost five decades now. Let’s begin!  #!/bin/sh – Shebang Almost all shell scripts out there have this weird looking line on the top the file.