
Domain Name System (DNS) Explained
Complete guide to understanding DNS (Domain Name System), how it works as the internet’s phonebook, DNS architecture, and resource record types for system design interviews.

Complete guide to understanding DNS (Domain Name System), how it works as the internet’s phonebook, DNS architecture, and resource record types for system design interviews.

Complete guide to scalability covering horizontal and vertical scaling strategies, stateless architecture, caching, database sharding, and handling massive traffic.

Reliability planning is most effective when it starts during design, not shortly before release. This post focuses on how Service Level Objectives (SLOs) and Service Level Indicators (SLIs) can be used early in the SDLC to guide architecture and delivery choices. Remind me what they are again SLI - Service Level Indicator A quantitative metric for a service’s performance, as experienced by the user of the service. It is a measure of a property of the service that is a good proxy for your user experience. ...

Do you ever feel like your network infrastructure is a black box? When I first dove into cloud networking, the term Virtual Private Cloud (VPC) sounded mysterious—like a secret compartment in the sky. Over the years, I’ve come to see a VPC as your custom sandbox inside a public cloud: a private playground built on shared real estate. In this post, we’ll unpack what a VPC really is, how it works under the hood, and why it’s an indispensable tool for any software craftsperson aiming for secure, scalable cloud architecture. ...

Background In my previous role, while working in the Insurance domain, we provided a mobile app to all customers who bought cyber insurance. This had some cool value added services that helped small enterprises check if their employees’ knowledge of cybersecurity is good enough to protect the organization from being compromised. Thus, we implemented a one-click phishing campaign solution, which enabled users to click a button and initiate a phishing campaign for the organization. This was a really fun thing to work on. This was when I invested some time looking into how email really worked. ...

Background As a relatively senior engineering manager, I have been transforming into a less technical person over time. The reason being, I am in charge of two fantastic teams that both have excellent engineers. I generally rely on the technical leads of the respective teams to own the technical aspects of their domains and try to interfere as little as possible. I do this to empower them to take more ownership and learn to be accountable. After all, it is humanly impossible to be everywhere at the same time. I build my teams based on trust, psychological safety and accountability. However, I do review their technical proposals and other documents or design diagrams etc. and I challenge them by asking questions. I have never had to tell them what is right or wrong so far, and I don’t think that I’ll ever need to do that either because our hiring process is good enough to filter out problem candidates. I give them the feedback they need at the time they need it, covering their blind-spots when necessary. ...

What is caching? Storing frequently accessed information closer to where you need it for faster subsequent access to it. Caching is so ubiquitous that you probably have benefited from it without even knowing about it. Your computer or your phone or other mobile devices use caching at different levels like at its hard drive, CPU, GPU, browser, operating system etc to improve its performance. And when you think about things outside your computer, like databases, web servers, DNS etc also use caches for the same reason, improving performance, by keeping frequently requested for items closest to where it is accessed, in a faster, more volatile storage system. Also cache storage is often times more expensive than regular storage, as it is often stored either in super fast access memory or solid state drives. Hence choosing what you store in the cache and how much you store in the cache is also something you must consider before deciding to use a cache. ...