How to Setup Redis With High Availability in Bare Metal

Redis is an open-source, in-memory key-value store known for its high performance and versatility. It operates primarily as a cache or a quick-response database, storing data in memory to enable low-latency read and write operations. Redis supports various data structures, including strings, lists, sets, and hashes, making it suitable for a wide range of applications from caching to real-time analytics. Its design allows for rapid data access and manipulation, which is crucial for applications requiring high throughput and low latency. ...

January 21, 2025 · 7 min

Making Your Kafka Cluster Production-Ready with Strimzi: Best Practices

Apache Kafka is widely used for building distributed, real-time data pipelines. However, running Kafka in a production environment requires a solid setup to ensure performance, reliability, and scalability. Strimzi simplifies deploying and managing Kafka clusters on Kubernetes or OpenShift, but to be truly production-ready, several factors need to be considered. In this article, we will cover essential best practices and optimizations to make your Kafka cluster ready for production, based on insights from the Strimzi Production Ready series and additional knowledge. ...

October 22, 2024 · 6 min

SSL Pinning: Safeguarding Your App Against Man-in-the-Middle Attacks

In 2014, security researchers discovered a critical vulnerability in the HSBC mobile banking app for iOS. The app was found to be susceptible to man-in-the-middle (MITM) attacks, allowing attackers to intercept and manipulate sensitive financial information. The root of the problem? The absence of SSL pinning. Without SSL pinning, the app was vulnerable to accepting any SSL certificate, even a forged one, which enabled attackers to eavesdrop on the communication between the app and HSBC’s servers. This security flaw put users’ banking information at risk and highlighted a significant gap in the app’s security framework. ...

September 27, 2024 · 8 min

Kafka Explained: The Post Office of Modern Data Streaming

Joshua had been waiting anxiously for weeks. As an aspiring clerk, he knew that the government official’s appointment order could arrive any day. This appointment was crucial—it would determine his future and career. Every morning, Joshua checked his local post office, hoping that today would be the day the letter arrived, confirming his new position. In many ways, Joshua’s experience mirrors how Kafka, a powerful distributed streaming platform, manages and delivers data. Just like how Joshua relies on the postal system to receive his appointment letter, modern data systems depend on Kafka to ensure that critical information reaches its intended recipients quickly and reliably. ...

September 24, 2024 · 4 min

How to Create a Self-Signed Certificate for IIS and Host a Website

A few weeks ago, I got a task from my manager that seemed straightforward at first: set up a development environment for one of our upcoming projects. The catch? It needed to be accessible over HTTPS, just like our production sites. Now, getting a certificate from a trusted Certificate Authority (CA) for a development environment didn’t make much sense, and we certainly didn’t want to incur extra costs or deal with the complexities of a CA for something internal. ...

September 19, 2024 · 5 min

Why YAML and How to Ace It?

I remember the first time I encountered YAML—it was during a seemingly regular workday when a Kubernetes task landed on my desk. I had been managing infrastructure the traditional way for years, but suddenly, here was this new ecosystem that used a format I hadn’t seen before: YAML. It was frustrating at first. The simple indentation of a line could break everything, and I was far too comfortable with JSON and XML. But as Kubernetes became indispensable, and Ansible, Docker Compose, and other tools followed suit, it became clear that YAML wasn’t just a passing trend—it was the new standard. ...

September 14, 2024 · 14 min

The Batchology Handbook

Hello there! If you’ve ever wondered how to make your computer tasks faster and more efficient, you’re in the right place. This blog post is all about Batch scripting - a simple yet powerful way to automate tasks in Windows. Whether you’re new to programming or have some experience, “The Batchology Handbook” is designed to be easy to follow and understand. We’ll start with the basics, like setting up your workspace, and gradually move into more exciting stuff, like automating file management and using cool commands you might not know about. ...

September 12, 2024 · 9 min

Issue Faced on WSFC Configuration for SQL Server AlwaysOn Setup

I’ve had the privilege of navigating through a wide array of technical landscapes. Yet, the recent endeavor of configuring a Windows Server Failover Cluster (WSFC) for SQL Server AlwaysOn presented a learning curve that was both steep and enriching. In this piece, I hope to share my experiences, the challenges encountered, and the lessons learned, with a spirit of humility and the intention of contributing to our collective knowledge base. ...

September 12, 2024 · 4 min

Integration of Zoho Desk and Grafana

Have you ever been a part of a hardworking team that, despite their efforts, ends up shouldering blame? If yes, our situation in operations might resonate with you. On any given day, our Zoho Desk is inundated with approximately 300 tickets, each falling under various classifications and priorities. Many of these tickets are complex and time-consuming to resolve, causing them to carry over to the next day and become overdue. ...

September 12, 2024 · 4 min

Installing Kafka and Kafka Connect on Seperate Servers

Installing Kafka and Kafka Connect on separate servers allows for better resource management, especially in production environments where Kafka brokers and Connectors may need dedicated hardware. This guide will walk you through the steps to set up Kafka and Kafka Connect on separate Linux servers, using Ubuntu 24.04. Prerequisites Two Linux machines (Ubuntu 24.04) Inbound ports opened on both servers: Kafka broker ports: 9092, 9093 Kafka Connect REST port: 8083 Java 11 (OpenJDK) installed on both servers Step 1: Set Up Kafka on the First Server Set the hostname for the Kafka server: ...

September 12, 2024 · 4 min

How to Setup Kubernetes in Azure Virtual Machines

Welcome to the hard way of installing Kubernetes in Azure Virtual Machines. The instructions will be moreover same for On-prem. For many developers, using managed Kubernetes services like GKE, EKS, or AKS can be convenient, but they often abstract away the intricate details of how a cluster operates under the hood. Requirements NODES IP HOSTNAME MACHINE TYPE OPERATING SYSTEM master 172.16.39.14 k8s-master.local Standard B2ms Ubuntu 24.04 k8s-worker1 172.16.39.23 k8s-worker1.local Standard B4ms Ubuntu 24.04 Provisioning the Servers in Azure To provision two Linux virtual machines (VMs) in Azure with the specified details, you can use the Azure CLI (az) to achieve this. Here’s how you can provision both machines using az vm create commands. ...

September 12, 2024 · 15 min

How Programmers Can Become 10X More Effective

In a world where technology is ever-evolving, programmers are constantly seeking ways to enhance their skills and productivity. A treasure trove of wisdom that is often overlooked in the tech community is Stephen Covey’s iconic book, “7 Habits of Highly Effective People.” Sahil, a YouTuber, sheds light on how this book can be a game-changer for programmers aspiring to amplify their effectiveness tenfold. 1. The Essence of Proactivity in Programming Covey distinguishes between reactive and proactive individuals, drawing a parallel with programmers. Reactive programmers might wait for a life-changing tutorial or a list of interview questions to boost their career. In contrast, proactive programmers take ownership of their growth. They invest time in understanding the fundamentals, practicing coding, and building projects. This mindset shift from dependency to self-reliance is crucial for any programmer aiming for excellence. ...

September 12, 2024 · 3 min

How Does TLS Works Under the Hood

In the cold winter of 1944, Germany’s once-unbreakable Enigma code had been compromised by the Allies. With every intercepted message, their plans were at risk of exposure, and entire operations could be jeopardized. In response, German High Command devised a new, unbreakable system of communication. They called it Operation Valkyrie. This wasn’t just another machine like the Enigma; this was a new system that couldn’t be cracked, even if the messages were intercepted. Colonel Franz Richter, a seasoned officer in charge of communications, knew that their most sensitive military orders would need to be protected more securely than ever. He gathered his top commanders, including Major Klaus Weber, to unveil the system that could change the course of the war. ...

September 12, 2024 · 5 min · Dan

A Beginners Guide to Vim Shortcuts

Vim is a highly configurable text editor used in programming. It’s known for its efficiency, enabling users to navigate and edit documents with minimal use of the mouse. This blog post will introduce you to the most important Vim shortcuts and commands, making your coding journey smoother and more efficient. Understanding Vim Modes Before we dive into the commands, it’s crucial to understand Vim’s modes. Vim operates in several modes, each with a specific purpose: ...

September 12, 2024 · 3 min