SLO-driven architecture diagram showing reliability metrics integrated from design to deployment

Shift Reliability Left: Use SLOs to Guide Architecture Early

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. ...

December 4, 2025 · 5 min · 903 words · Eakan Gopalakrishnan
Transactional Outbox Pattern Architecture Diagram

Transactional Outbox Pattern: A Practical Guide to Trade-offs

In event-driven systems, services often need to update local state and publish an event for other services. Doing these as separate operations introduces a consistency risk known as the Dual Write Problem. The core requirement is simple: the database write and event publication should represent one logical change. If one succeeds and the other fails, downstream systems may observe incomplete state. The Transactional Outbox Pattern is a practical way to address this in many microservice architectures. ...

September 8, 2025 · 4 min · 793 words · Eakan Gopalakrishnan
Pragmatism is a wise quality to have

Lack of product thinking - A rant

Warning ...

April 1, 2024 · 3 min · 632 words · Eakan Gopalakrishnan
Cyberpunk illustration of a person looking down a glass tunnel over a neon-lit city highway, holding a tablet showing an envelope with a tiny figure on it

The journey of an email - from sender to receiver and everything in between

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. ...

February 18, 2024 · 11 min · 2305 words · Eakan Gopalakrishnan
Two hands in white latex gloves shaking against a dark background

What happens during a TLS handshake?

Background I have been wondering how to simplify the concept of handshakes - not the human handshakes; I’m talking about the computer ones, like the ones that happen between a server and a client when establishing a connection over HTTPS. So I went reading online to see if the content was digestible for everyone - including beginners. I couldn’t find a simple diagrammatic representation, so I thought maybe this is my chance to draw them and help others understand it at a glance. To be fair, it isn’t that straightforward to jump into discussing TLS handshakes, without learning about a few key terms. So I am certain that I will update this post with more information later on ...

October 22, 2023 · 2 min · 322 words · Eakan Gopalakrishnan
Eyeglasses on a desk, with blurred screens of code behind brought into focus through the lenses

Why and When would you use a Serverless approach to solving your problem?

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. ...

June 11, 2023 · 7 min · 1375 words · Eakan Gopalakrishnan
System Design

What is a System Design Interview

Most good organisations expect their engineering hires to have gone through a system design interview. For a vast majority of people this might sound like a weird thing to do as most people don’t individually design large scale systems. So expecting someone to design a highly scalable and available system in less than 60 minutes is a daunting task. We must also consider the fact that not everyone gets to work in organisations that build large scale distributed systems. I think the time when I worked in FactSet was when I dealt with extremely large volumes of data and we focussed on the performance of queries from the database to sub 5 ms in order to ensure that even with latency, users would be able to see their graphs plotted in a second or so. Most applications wouldn’t really care about performance at that level because for their line business it probably doesn’t matter that much. ...

October 16, 2022 · 7 min · 1427 words
Software Architecture

What is Software Architecture and what does a software architect do?

What is Software Architecture Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. What is a Software Architect Some people compare the role of a software architect to that of a town planner. The town planner does not care how a house in a residential block is built. The town planner is responsible for deciding where blocks of residential properties go, think about the commercial complexes, the parks and schools or institutions, how they are laid to make the town easy to navigate and also making sure that essentials like water and electricity supply gets to where it is needed in the most efficient way. They do have to think about where the place would be to keep exits to highways, and if we might need flyovers, traffic signals, roundabouts, etc in certain parts based on how the population evolves. ...

July 24, 2021 · 10 min · 2064 words
Cache

What is Caching? The different types of caches and interfaces in .NET Core for caching

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. ...

June 20, 2021 · 5 min · 1056 words
Reverse Proxy

Proxy vs Reverse Proxy - What are they?

I was recently helping my friend with some preparation for a system design interview and as we discussed solutions, the terms Proxy server and reverse proxy came up in our discussions. I really struggled to give a simple explanation of the terms during our discussion. I just knew what one did. I did not even know that load balancers were generally reverse proxies. This is where knowledge of a natural language could be helpful. So I thought I would try and compile a simple description of both here and go look at the definition of Proxy from the dictionary. ...

June 6, 2021 · 3 min · 519 words