# Faiz Ahmed Farooqui > Principal Backend Engineer in Bangalore, India with 11+ years designing and scaling cloud-native, multi-tenant systems across fintech, healthcare, and SaaS. This is his technical blog and profile, covering Node.js, backend architecture, distributed systems, cloud (AWS, OpenStack), encryption, and security. ## Pages - [About](https://faizahmed.in/about/): Background, experience, core competencies, and open-source work. - [Uses](https://faizahmed.in/uses/): Languages, tools, cloud, and infrastructure used day to day. - [Now](https://faizahmed.in/now/): What he's currently focused on. - [Bolt.SH](https://faizahmed.in/bolt/): An OpenStack-powered IaaS data center he designed and built at GeekyAnts, with a walkthrough video series. - [Articles](https://faizahmed.in/articles/): Complete index of every post, grouped by year. - [Hardware Tests](https://faizahmed.in/tools/): Index of the free browser hardware diagnostics: keyboard, mouse, screen, sound, controller, webcam, touchscreen and phone sensors. - [Keyboard Test](https://faizahmed.in/tools/keyboard-test/): An interactive keyboard diagnostic — dead-key sweep, modifier mapping, character check and rollover, for 60%, 75%, TKL and full-size layouts on macOS, Windows and Linux. - [Mouse Test](https://faizahmed.in/tools/mouse-test/): An interactive mouse diagnostic — buttons and scroll wheel, double-click chatter from worn switches, report rate estimate and a drag path that reveals sensor jitter. - [Gamepad Test](https://faizahmed.in/tools/gamepad-test/): An interactive controller diagnostic: buttons and analogue triggers, stick position, stick drift measured at rest, and rumble. - [Webcam Test](https://faizahmed.in/tools/webcam-test/): An interactive camera diagnostic: live preview, the resolution actually delivered, a measured frame rate and a still capture. Nothing is uploaded. - [Touchscreen Test](https://faizahmed.in/tools/touchscreen-test/): An interactive touch and stylus diagnostic: multi-touch point count, pen pressure and tilt, and a drawing pad that reveals dead zones. - [Screen Test](https://faizahmed.in/tools/screen-test/): An interactive monitor diagnostic — fullscreen colours for dead and stuck pixels, backlight bleed, gradient banding, a measured refresh rate with frame pacing and a ghosting test. - [Sound Test](https://faizahmed.in/tools/sound-test/): An interactive audio diagnostic — left and right channel check, microphone level meter with record and playback, a 20Hz to 20kHz sweep and audio device info. - [Sensor Test](https://faizahmed.in/tools/sensor-test/): An interactive phone and tablet sensor diagnostic: tilt and rotation from the gyroscope, compass heading, accelerometer with shake detection, and vibration. iOS asks permission before reporting motion and has no vibration API. ## Series - [Scaling JavaScript & Node.js](https://faizahmed.in/series/scaling-javascript-nodejs/): Patterns for scaling Node.js: queues, backpressure, idempotency, and production reliability. - [Mastering Encryption](https://faizahmed.in/series/encryption/): Practical cryptography for engineers: AWS KMS, Nitro Enclaves, and keeping secrets safe in production. - [Metal to Cloud](https://faizahmed.in/series/metal-to-cloud/): From bare metal and OpenStack to cloud-native infrastructure that scales. - [FinTech Engineering](https://faizahmed.in/series/fintech/): Payments, lending, compliance, and building scalable, resilient financial systems. - [Virtualization & MicroVMs](https://faizahmed.in/series/vcw/): QEMU, Firecracker microVMs, and Open vSwitch networking from the ground up. - [AI Engineering](https://faizahmed.in/series/ai-engineering/): Using AI like an engineer: threat models, secure workflows, and meta-prompting for real production work. - [Microservices Design Patterns](https://faizahmed.in/series/microservices-design-patterns/): Decomposition, data, integration, and operational patterns for microservices. - [Auth & Identity](https://faizahmed.in/series/auth-and-identity/): How modern authentication actually works: passkeys, WebAuthn, JWT, sessions, and OAuth. - [Compliance Engineering](https://faizahmed.in/series/compliance-engineering/): Backends that survive an audit: HIPAA, PCI-DSS and SOC 2 technical controls implemented in Node.js and Postgres, with the gaps stated. - [Traefik](https://faizahmed.in/series/traefik/): Reverse proxy and ingress with Traefik, Docker Compose, and Postgres/pgAdmin. ## Posts - [AI Agents Are Running Real Attacks: Which of Your Controls Break First](https://faizahmed.in/ai-agent-attacks-which-controls-break/): --- The headline version of this story is that AI is now hacking companies. That framing is useless to anyone who has to actually defend a s… - [Three Error Shapes, One API: Adopting RFC 9457 Problem Details](https://faizahmed.in/rfc-9457-problem-details-api-errors/): --- Fourth post from the compliance-ready backend kit, after nested JWTs, append-only audit logs and key rotation. Before I fixed this, my o… - [Key Rotation Without Downtime: Never Generate a Key in a Migration](https://faizahmed.in/jwt-key-rotation-without-downtime/): --- Third post from the compliance-ready backend kit, after nested JWTs and append-only audit logs. Key rotation is the control everybody ag… - [Append-Only Audit Logs in Postgres: Your Trigger Misses TRUNCATE](https://faizahmed.in/append-only-audit-log-postgres-hash-chain/): --- Second post from the compliance-ready backend kit, after nested JWTs. This one is about the audit log, which is the control an assessor… - [Nested JWTs in Node.js: Decrypting a Token Is Not Verifying It](https://faizahmed.in/nested-jwts-nodejs-decrypt-is-not-verify/): --- I have been building a compliance-ready backend kit: a NestJS and TypeScript monorepo where every capability maps to a named control in… - [The Prompt Is Not the Product: A Realistic Mental Model for AI Agents](https://faizahmed.in/prompt-is-not-the-product/): Recently I fed an AI agent a prompt that, stripped to its essence, said this: Build me an app people will pay for, and an AI agent that mark… - [Securing LLM API Keys with AWS KMS](https://faizahmed.in/securing-llm-api-keys-aws-kms/): A prompt-injection researcher points your app's own debug endpoint at itself, triggers an unhandled exception, and your error handler helpfu… - [LLM Observability with OpenTelemetry](https://faizahmed.in/llm-observability-opentelemetry/): Your LLM feature works in the demo. Then it ships. A week later finance forwards a cloud bill with a line item that tripled, a customer says… - [Building an MCP Server in TypeScript](https://faizahmed.in/building-mcp-server-typescript/): A support agent asks your assistant, "What is the status of order 4417?" The model does not know. It has never seen your database, and it ne… - [Prompt Injection: A Threat Model for LLM Apps](https://faizahmed.in/prompt-injection-threat-model-llm-apps/): Your support agent has a new superpower. It reads the customer's ticket, looks up their account, and drafts a refund. To do that well, it al… - [Rate Limiting: Token Bucket vs Sliding Window](https://faizahmed.in/rate-limiting-token-bucket-sliding-window-nodejs/): A client hammers your login endpoint. You added a limit: 100 requests per minute per IP. You feel safe. Then someone fires 100 requests at 1… - [Postgres as a Queue with SKIP LOCKED](https://faizahmed.in/postgres-queue-skip-locked/): A background job lands in your jobs table. Two workers wake up at the same time, both run SELECT FROM jobs WHERE status = 'pending' LIMIT 1… - [Connection Pooling: Node.js, Postgres, PgBouncer](https://faizahmed.in/connection-pooling-nodejs-postgres-pgbouncer/): Your API is humming along at 200 requests per second. Traffic doubles during a launch, you scale your Node.js service from 4 pods to 20, and… - [Row-Level Security for Multi-Tenant SaaS in Postgres](https://faizahmed.in/row-level-security-multi-tenant-saas-postgres/): A support engineer runs a quick query to debug a customer complaint. She forgets one WHERE tenant id = $1 . The dashboard now shows invoices… - [Payment Reconciliation Systems Explained](https://faizahmed.in/payment-reconciliation-systems-explained/): A customer pays 100.00. Your database records a 100.00 sale, marks the order paid, ships the goods. Two days later the money lands in your b… - [The Outbox Pattern: Reliable Events Without 2PC](https://faizahmed.in/outbox-pattern-reliable-events-without-2pc/): A user places an order. Your service opens a transaction, writes the row to Postgres, commits, and then calls broker.publish("order.created"… - [Designing Webhooks: Delivery, Retries, Signatures](https://faizahmed.in/designing-webhooks-delivery-retries-signature-verification/): A customer completes a payment. Your billing provider fires a webhook to POST /webhooks/stripe , your server is mid-deploy, and the connecti… - [Idempotency Keys: How Stripe-Style APIs Prevent Double Charges](https://faizahmed.in/idempotency-keys-prevent-double-charges/): A customer taps "Pay." The request reaches your server, the charge succeeds, and then the response times out on the way back. The client see… - [OAuth 2.0 and OIDC: A Backend Engineer's Guide to Login](https://faizahmed.in/oauth2-oidc-backend-engineers-guide/): Here is the question OAuth was invented to answer: how do you let an app do something on your behalf without handing it your password? You w… - [Passkeys and WebAuthn: How Passwordless Login Actually Works](https://faizahmed.in/passkeys-webauthn-how-passwordless-login-works/): A password is a secret you and the server both know. That is the original sin of the whole scheme: because the server has to store something… - [How I Actually Use AI to Ship Code: Context Engineering Over Clever Prompts](https://faizahmed.in/how-i-use-ai-to-ship-code/): The last post in this series was about what not to feed an AI: keep your secrets out of the prompt. This one is the other half of the same c… - [The HTTP QUERY Method: GET With a Body, in Node.js and NestJS](https://faizahmed.in/http-query-method-nodejs-nestjs/): If you have ever built a search or filter endpoint, you have made this uncomfortable choice. Use GET, and your complex filter object has to… - [Using AI Without Leaking Your Secrets: A Threat Model for AI-Assisted Development](https://faizahmed.in/using-ai-without-leaking-secrets/): Someone hits an error, copies the whole stack trace into a chat window, and asks the model to "just figure this out fast." Buried three line… - [The Build Log: Rebuilding My Blog on Astro, Cloudflare Pages & Umami](https://faizahmed.in/building-this-blog-astro-cloudflare-umami/): I already wrote about why I left Hashnode. This is the other half: how the replacement actually works. Every meaningful decision, the code b… - [Moving Off Hashnode: Self-Hosting Everything on Astro + Cloudflare](https://faizahmed.in/moving-off-hashnode-self-hosting-everything/): I moved this blog off Hashnode. It now lives in a Git repo as a pile of Markdown files, builds with Astro, and ships from Cloudflare Pages —… - [Loading Secrets at Runtime Without Leaking Them: config(), the Keystore, and run](https://faizahmed.in/secret-keystore-runtime-config-loader-nodejs/): Part 3 of 3 on @faizahmed/secret-keystore . Part 1 was the threat model; Part 2 was the CLI. This part is how your app reads secrets at runt… - [Encrypt Your .env with One Command: The secret-keystore CLI](https://faizahmed.in/secret-keystore-cli-encrypt-env-aws-kms/): Part 2 of 3 on @faizahmed/secret-keystore . Part 1 covered the threat model; this part is pure hands-on. By the end you'll have an encrypted… - [Your .env Is a Loaded Gun: A Saner Threat Model for Node.js Secrets](https://faizahmed.in/nodejs-secrets-threat-model-aws-kms/): Part 1 of 3 in a deep-dive on @faizahmed/secret-keystore . New here? Start with the Complete Guide. For the original incident write-up, see… - [Encrypted .env for Node.js with AWS KMS: The Complete Guide](https://faizahmed.in/encrypted-env-aws-kms-nodejs-complete-guide/): A year ago I would have told you a .env file was fine. Then we patched a CVSS 10.0 RCE in Next.js (CVE-2025-66478) and spent the next two da… - [Retries Are Not a Fix. They Are a Liability.](https://faizahmed.in/why-retries-are-not-a-fix/): Before you read, run this test If you’re using background jobs, queues, or retries, answer this: If the same task runs twice, does anything… - [Your Background Jobs Are Not Failing. They Are Lying.](https://faizahmed.in/why-your-background-jobs-are-lying/): A few months ago, we had a system that was “working fine”. Jobs were getting processed. Workers were running. No errors in logs. But users s… - [Stop Putting Secrets in process.env: Encrypt Env Vars with AWS KMS](https://faizahmed.in/secret-keystore/): This post starts with the production problem we hit in late 2025, the critical security vulnerability in React Server Components and Next.js… - [Scaling the Boring Stuff: Sending 10 Million Notifications with a Simple Node.js Job Worker](https://faizahmed.in/scaling-the-boring-stuff-sending-10-million-notifications-with-a-simple-nodejs-job-worker/): At scale, notifications are not special. They are just one of the most common million job problems you will ever solve. Email, SMS, WhatsApp… - [Handling BigInt in JavaScript: What Happens When You Don’t](https://faizahmed.in/handling-bigint-in-javascript-what-happens-when-you-dont/): Learn how JavaScript handles BigInt, why the default Number type silently loses precision with large integers, and how to avoid overflow, ro… - [Your Node.js AWS SDK v3 App Will Crash in Production Without This maxSockets Fix](https://faizahmed.in/your-nodejs-aws-sdk-v3-app-will-crash-in-production-without-this-maxsockets-fix/): Everything was fine until it wasn’t. Our Node.js app, powered by AWS SDK v3, started freezing during peak traffic. Requests to S3 and Dynamo… - [How AWS Nitro Enclaves Prove You’re Running Secure Code: Remote Attestation Explained](https://faizahmed.in/aws-nitro-enclaves-remote-attestation/): We encrypt data. We store it in S3. We feel secure. But when that data comes back for decryption - how do you know who’s asking for the key?… - [Leading FinTech Teams: Balancing Speed, Security and Compliance](https://faizahmed.in/leading-fintech-teams-balancing-speed-security-and-compliance/): FinTech moves fast, but it operates in one of the most regulated environments in technology. This post explores how engineering leaders can… - [Trends Shaping the Future of FinTech](https://faizahmed.in/trends-shaping-the-future-of-fintech/): The FinTech landscape is evolving rapidly. This post highlights the key trends that will define the next wave of financial technology. Engin… - [Building Scalable and Resilient FinTech Systems](https://faizahmed.in/building-scalable-and-resilient-fintech-systems/): FinTech systems are mission-critical: a single outage can mean lost money, lost trust, and even regulatory consequences. This post explores… - [APIs, Security and Compliance: The Technical Backbone of FinTech](https://faizahmed.in/apis-security-and-compliance-the-technical-backbone-of-fintech/): APIs are how financial systems connect, but without security and compliance they can’t be trusted. This post looks at how APIs power modern… - [Core Pillars of FinTech: Payments, Lending, Wealth and Beyond](https://faizahmed.in/core-pillars-of-fintech-payments-lending-wealth-and-beyond/): This post explores the core verticals of FinTech and how they shape modern financial products. From digital payments to wealth management an… - [FinTech Fundamentals Every Engineering Leader Should Know (2025 Edition)](https://faizahmed.in/fintech-fundamentals-every-engineering-leader-should-know-2025-edition/): This post introduces the essential building blocks of FinTech for engineering leaders. You’ll learn how financial institutions differ, how m… - [PCI DSS 4.0: Client-Side Attack Vectors and What Developers Must Do](https://faizahmed.in/pci-dss-40-client-side-attack-vectors-and-what-developers-must-do/): Payment form security has largely focused on backend systems, until now. PCI DSS 4.0 draws much-needed attention to client-side risks , such… - [COPPA vs HIPAA vs PCI DSS: What Developers Actually Need to Know](https://faizahmed.in/coppa-vs-hipaa-vs-pci-dss/): Stop reading legal PDFs. Start building systems that pass audits. As engineers, compliance often feels like a legal minefield. COPPA, HIPAA,… - [Secrets Sprawl in Node.js Projects: Detection, Prevention & Secure Deployment (2025)](https://faizahmed.in/secrets-sprawl-in-nodejs-projects-detection-prevention-and-secure-deployment-2025/): If a credential can be found in your code base, CI logs, or Slack archive — it’s not just a secret; it’s a risk. By 2025, leaked credentials… - [Zero-Downtime Deployments in Node.js: Real Strategies, Real Examples](https://faizahmed.in/zero-downtime-deployments-in-nodejs/): “It’s 3 AM. The system’s live. You push an update and suddenly traffic falls off a cliff.” That’s the moment teams stop being heroes. Zero-d… - [Master Docker in Real Projects: Compose + CI/CD + Best Practices](https://faizahmed.in/master-docker-compose-cicd/): With real-world Docker Compose setups, GitHub Actions CI pipelines, and practical command recipes. Everything you need to master Docker to C… - [API Observability: Logs, Traces, Metrics with OpenTelemetry](https://faizahmed.in/api-observability-logs-traces-metrics-with-opentelemetry/): Observability isn't just about logs anymore. In 2025, understanding how your API behaves under load, in production, across services is criti… - [How to Architect Multi-Tenant SaaS Backends in 2025 (PostgreSQL + Node.js)](https://faizahmed.in/architect-multi-tenant-saas-backends-in-2025-postgresql-nodejs/): In the world of SaaS, designing for scale starts with multi-tenancy done right. Why Multi-Tenant Architecture Matters SaaS is all about shar… - [Packaging Node.js Libraries the Right Way: ESM, CommonJS, and Bundlers in 2025](https://faizahmed.in/packaging-nodejs-libraries-in-2025/): Why Packaging Still Breaks in 2025? Despite being two decades into Node.js, publishing a library that works across CommonJS (CJS), ECMAScrip… - [A Practical Guide to AWS API Gateway](https://faizahmed.in/aws-api-gateway/): This guide walks you through everything from routing and stage management to Lambda proxies, VPC links, and CORS. What Is AWS API Gateway? A… - [JWT vs PASETO vs Session-Based Auth](https://faizahmed.in/jwt-vs-paseto-vs-session-based-auth/): Are JWTs safe? Should you switch to PASETO? Is session-based auth outdated? In this guide, we’ll compare modern token systems in depth with… - [How to Prevent Replay Attacks with JWTs: JWS vs JWE and Fingerprint Validation in Node.js](https://faizahmed.in/how-to-prevent-replay-attacks-with-jwts-jws-vs-jwe-and-fingerprint-validation-in-nodejs/): In this post, we’ll explore what replay attacks are, how JWS and JWE differ, and how to generate + validate session fingerprints using Node.… - [Memory Leaks and Garbage Collection in Node.js: What Developers Get Wrong (And How to Fix It)](https://faizahmed.in/memory-leaks-and-garbage-collection-in-nodejs/): Introduction: Is Node.js Really Leaking Memory? Have you ever noticed your Node.js app using more and more memory over time — even when it s… - [Understanding MSE and EME: How Modern Video Streaming Works in Your Browser](https://faizahmed.in/understanding-mse-and-eme/): Streaming Has Changed! Once upon a time, watching movies online meant installing Flash or Silverlight plugins. Today? You open your browser,… - [Stop Using JSON.parse on Huge Payloads: Streaming JSON in Node.js](https://faizahmed.in/streaming-huge-json-in-nodejs/): Think JSON.parse() is harmless? Think again. When you're dealing with massive logs, analytics dumps, or API exports, that innocent line of c… - [Offset vs Cursor vs Keyset Pagination: Best Practices for Scalable APIs](https://faizahmed.in/offset-vs-cursor-vs-keyset-pagination/): Before we dig deep into the details. Let’s break down on what problem this article really addresses, what solution works best and what are t… - [Backpressure in Node.js: Handling Stream Flow the Right Way](https://faizahmed.in/handling-backpressure-in-nodejs/): Streaming Isn’t Always Smooth! Node.js Streams are a great way to handle large data without loading everything into memory. But without mana… - [Killing Your App with .map()? Here’s the Modern Fix](https://faizahmed.in/killing-your-app-with-map-heres-the-modern-fix/): When working with large datasets in JavaScript, many developers instinctively reach for .map() to transform arrays. It’s clean, elegant, and… - [Metal to Cloud – Part 14: Day 2 & Beyond](https://faizahmed.in/metal-to-cloud-part-14-day-2-and-beyond/): Welcome to the final installment of "Metal to Cloud: Your On-Prem Journey with MaaS, OpenStack & Juju" ! In Part 13, we saw the culmination… - [Metal to Cloud – Part 13: The Real Payoff](https://faizahmed.in/part-13-the-real-payoff/): Welcome back! In Part 12, we deployed the OpenStack Telemetry stack, giving us crucial visibility into our cloud's operation. We've built a… - [Metal to Cloud – Part 12: Keeping Watch](https://faizahmed.in/part-12-keeping-watch/): In Part 11, we successfully interacted with our newly built cloud via the Horizon dashboard, launching a VM and validating the core compute,… - [Metal to Cloud – Part 11: Access and Interaction](https://faizahmed.in/metal-to-cloud-part-11-access-and-interaction/): Welcome back! In the last few posts, we've been deep in the engine room, deploying the OpenStack control plane (Part 6), Ceph storage (Part… - [Metal to Cloud – Part 10: Adding Network Superpowers](https://faizahmed.in/part-10-adding-network-superpowers/): In Part 9, we successfully deployed OVN, establishing the Software-Defined Networking (SDN) layer for our OpenStack cloud. Our virtual machi… - [Metal to Cloud – Part 9: Weaving the Virtual Network Fabric](https://faizahmed.in/part-9-weaving-the-virtual-network-fabric/): In Part 8, we deployed the nova-compute service, giving our cloud the ability to run VMs. However, those compute nodes and the VMs they host… - [Metal to Cloud – Part 8: Powering Virtual Machines](https://faizahmed.in/metal-to-cloud-part-8-powering-virtual-machines/): In Part 7, we established our robust Ceph storage backend, integrated with Glance for images and Cinder for volumes. Now, we need the actual… - [Metal to Cloud – Part 7: Building Resilient Storage with Juju](https://faizahmed.in/metal-to-cloud-part-7-building-resilient-storage-with-juju/): In Part 6, we successfully deployed the core OpenStack control plane services using Juju, including identity, databases, messaging, and API… - [Metal to Cloud – Part 6: Juju Deploys the Cloud Brain](https://faizahmed.in/metal-to-cloud-part-6-juju-deploys-the-cloud-brain/): In the previous post, we successfully set up Juju, bootstrapped its controller onto machine i44 via MaaS, and created our openstack model. J… - [Metal to Cloud – Part 5: Enter Juju](https://faizahmed.in/metal-to-cloud-part-5-enter-juju/): In Part 4, we successfully brought our physical servers ("metal") under MaaS control. They are commissioned, inventoried, and sitting in the… - [Metal to Cloud – Part 4: Taming the Tin](https://faizahmed.in/part-4-taming-the-tin/): In Part 3, we successfully installed and configured our MaaS Region and Rack controllers ( i41 , i42 , i43 ), imported Ubuntu images, and se… - [Metal to Cloud – Part 3: MaaS Setup](https://faizahmed.in/part-3-maas-setup/): In Part 2, we meticulously planned our hardware and designed our segmented network. With the blueprint ready, it's time to install the first… - [Metal to Cloud – Part 2: The Cloud Blueprint](https://faizahmed.in/part-2-the-cloud-blueprint/): Welcome back to our "Metal to Cloud" journey! In Part 1, we discussed why building an on-prem cloud can be beneficial and introduced our cor… - [Metal to Cloud – Part 1: Beyond Public Cloud](https://faizahmed.in/part-1-beyond-public-cloud/): Welcome! 👋 Ever looked at the public cloud giants and thought, "Could I build something like that myself?" Maybe you're driven by specific… - [JWT vs JWS vs JWE (and JWKS): A Developer's Guide](https://faizahmed.in/jwt-jwe-and-jwks-explained-a-developers-guide-to-token-based-security/): 🧠 What is JWT? JWT (JSON Web Token) is a compact, URL-safe token format used to transmit claims securely between parties. It’s the backbone… - [Homomorphic Encryption: Performing Computations on Encrypted Data](https://faizahmed.in/homomorphic-encryption-performing-computations-on-encrypted-data/): 🧐 What is Homomorphic Encryption? Homomorphic Encryption (HE) is a revolutionary cryptographic technique that allows computations to be per… - [Zero Trust Encryption: A Security-First Approach](https://faizahmed.in/zero-trust-encryption-a-security-first-approach/): 🧐 What is Zero Trust Encryption? Zero Trust Encryption (ZTE) is a security model that enforces continuous verification and least privilege… - [KMS vs HSM: AWS Key Management vs Hardware Security Modules](https://faizahmed.in/kms-vs-hsm-choosing-the-right-key-management-solution/): 🧐 What is Key Management? Key Management Systems (KMS) and Hardware Security Modules (HSM) are essential for securely generating, storing,… - [End-to-End Encryption (E2EE) in Messaging Apps](https://faizahmed.in/end-to-end-encryption-e2ee-in-messaging-apps/): 🧐 What is End-to-End Encryption (E2EE)? End-to-End Encryption (E2EE) ensures that only the sender and the intended recipient can read messa… - [JWT Signing & Encryption: Securing API Tokens](https://faizahmed.in/jwt-signing-and-encryption-securing-api-tokens/): 🧐 What is a JWT (JSON Web Token)? A JWT (JSON Web Token) is a compact, self-contained token used to securely transmit information between p… - [How Digital Signatures Ensure Data Integrity?](https://faizahmed.in/how-digital-signatures-ensure-data-integrity/): 🧐 What is a Digital Signature? A digital signature is a cryptographic technique that ensures the authenticity, integrity, and non-repudiati… - [How TLS/SSL Encryption Protects the Internet?](https://faizahmed.in/how-tlsssl-encryption-protects-the-internet/): Understanding the Security Behind HTTPS Have you ever noticed the padlock icon 🔒 in your browser’s address bar? That’s because TLS/SSL encr… - [AES vs RSA Encryption: Differences and When to Use Each](https://faizahmed.in/aes-vs-rsa-encryption/): Understanding the Two Giants of Encryption In modern cryptography, AES (Advanced Encryption Standard) and RSA (Rivest-Shamir-Adleman) are tw… - [Hashing vs Encryption: Key Differences, Examples, and Uses](https://faizahmed.in/hashing-vs-encryption-whats-the-difference/): In the world of cybersecurity, hashing and encryption are two fundamental techniques used to secure data. While they may seem similar, they… - [What is Envelope Encryption? DEK, KEK, and AWS KMS](https://faizahmed.in/what-is-envelope-encryption/): Introduction Encryption is essential for securing data, but managing encryption keys securely can be challenging. Envelope Encryption is a w… - [Symmetric vs Asymmetric Encryption](https://faizahmed.in/symmetric-vs-asymmetric-encryption/): Introduction Encryption is a fundamental concept in cybersecurity that protects data from unauthorized access. When data is encrypted, it is… - [NestJS Microservices with RabbitMQ & PostgreSQL](https://faizahmed.in/microservices-in-nestjs-with-rabbitmq-postgresql/): In this blog post, we will walk you through the process of setting up a task manager application using NestJS and RabbitMQ. This application… - [Unlocking the Power of QEMU](https://faizahmed.in/unlocking-the-power-of-qemu/): QEMU is a versatile and powerful emulator that allows you to run various operating systems and architectures on your host system. In this ar… - [Creating a MicroVM with QEMU](https://faizahmed.in/creating-a-microvm-with-qemu/): Virtualization is a powerful technology that allows you to run multiple operating systems on a single host system. QEMU, an open-source emul… - [Getting Started with QEMU](https://faizahmed.in/getting-started-with-qemu/): Virtualization technology has revolutionized the way we use and manage computers. Whether you're an IT professional, a developer, or just a… - [MicroVM: Activating Internet Access](https://faizahmed.in/microvm-internet-access/): Leveraging Firecracker for Optimal Functionality with Tun/Tap and Firectl For individuals navigating the world of cloud computing, virtualiz… - [Firecracker & firectl: Running Lightweight MicroVMs](https://faizahmed.in/microvm-firecracker-firectl/): Firecracker is an open-source virtualization technology developed by Amazon Web Services (AWS). It is designed to enable customers to create… - [Open vSwitch: Create TunTap Devices](https://faizahmed.in/tuntap-devices-using-open-vswitch/): Open vSwitch (OVS) is a multi-layer software switch designed to enable massive network automation and programmability while providing suppor… - [Open vSwitch Configure: A Step-by-Step Guide](https://faizahmed.in/open-vswitch-configure/): Introduction Understanding the vast array of features and capabilities that Open vSwitch (OVS) offers is only half the battle; properly impl… - [Open vSwitch Setup: A Step-by-Step Guide](https://faizahmed.in/open-vswitch-setup/): In this article, we aim to provide a comprehensive guide on how to install Open vSwitch on Ubuntu. Open vSwitch, or OVS, is an open-source v… - [Managing Multiple Packages with npm Workspaces](https://faizahmed.in/npm-workspaces/): npm Workspaces is a powerful tool that allows developers to manage multiple packages in a single repository. With npm Workspaces, developers… - [Traefik Postgres pgAdmin: A Simple (But Complete) Guide](https://faizahmed.in/traefik-postgres-pgadmin/): Introduction In this post, I'll demonstrate how to include Traefik Proxy — a cloud native application proxy — in our Docker Compose file and… - [Traefik + Docker Compose](https://faizahmed.in/traefik-docker-compose/): Introduction In this post, I'll show you how to install Traefik Proxy — the cloud native application proxy in our Docker Compose file and ut… - [How much do you know "Traefik" proxy?](https://faizahmed.in/how-much-do-you-know-traefik-proxy/): Introduction In this article, we're going to understand " Traefik Proxy " — the cloud native application proxy. Traefik Proxy reduces networ… - [SQL - Stored Procedures vs Functions](https://faizahmed.in/sql-stored-procedures-vs-functions/): Introduction In this article, we're going to discuss the differences between stored procedures and functions. Before we begin comparing stor… - [Operational Patterns in Microservices](https://faizahmed.in/operational-patterns-in-microservices/): Now we'll concentrate at our final set of patterns, which are operational patterns. These are noteworthy in that they are engaged with how y… - [Data Patterns in Microservices](https://faizahmed.in/data-patterns-in-microservices/): We will now go into the world of data patterns in a microservices-based architecture. There are just a few options for addressing your data… - [Integration Patterns in Microservices](https://faizahmed.in/integration-patterns-in-microservices/): Integration patterns allow you to solve orchestration and Ingress needs across your system as a whole. In this article, we are going to disc… - [Decomposition Patterns in Microservices](https://faizahmed.in/decomposition-patterns-in-microservices/): We have talked about microservices being smaller, but what does that really mean? Consider for a moment how you decompose a problem when wri… - [Microservices & Cloud Native](https://faizahmed.in/microservices-and-cloud-native/): Let me start the blog by making one thing very clear — Microservices do not make a system Cloud Native & Cloud Native does not require Micro… - [Jargon of Microservices](https://faizahmed.in/jargon-of-microservices/): Before we get too deep into the world of microservices design patterns, I want to level set on the jargon that I will use when discussing mi… - [Understanding HLD & LLD](https://faizahmed.in/hld-and-lld/): In this part, we'll look at how HLD and LLD vary and compare them in a nutshell - What is HLD? Designers at HLD, which stands for High-Level… - [High Level Design (HLD)](https://faizahmed.in/high-level-design/): High Level Design (HLD) is a general system design that incorporates the architecture and design of the project. HLD also includes a brief o… - [gRPC vs REST](https://faizahmed.in/grpc-vs-rest/): The majority of modern APIs are implemented by translating them to the same HTTP protocol in some fashion. It's also becoming typical for RP… - [Jamstack + Cloudflare Pages = ❤️](https://faizahmed.in/jamstack-cloudflare-pages/): In December 2020, Cloudflare announced the beta version & in April 2021, Cloudflare Pages was generally available. Cloudflare Pages a fast,… - [What is Jamstack?](https://faizahmed.in/what-is-jamstack/): What is Jamstack? Jamstack is an approach to frontend web development (the construction of content and interfaces that users interact with).… - [Learn while you #WFH](https://faizahmed.in/learn-while-you-wfh/): )” Trello board, find out the technology we want to learn & start reading the cards available for technology. How do we learn? Each list con… - [Understanding Express Typescript](https://faizahmed.in/express-typescript/): In ExpressJS , we always have to start from scratch for things like CSRF / JWT Token , Exception Handling , Clusters , Queues , Cache , etc.… - [Understanding GA-WDIO](https://faizahmed.in/ga-wdio/): GA-WDIO is an automation testing CLI tool, that supports WebDriverIO and provides solutions to our in-house issues. GA-WDIO manages things l… - [NodeJS without NPM](https://faizahmed.in/nodejs-without-npm/): This article lists things that we can achieve in NodeJS without using any NPM dependencies. You can find the repository on GitHub — faizahme… - [What's NodeJS?](https://faizahmed.in/whats-nodejs/): Node.js is an open-source and cross-platform JavaScript runtime environment. It is a popular tool for almost any kind of project! Node.js ru… ## Optional - [RSS feed](https://faizahmed.in/rss.xml): Subscribe to new posts. - [Sitemap](https://faizahmed.in/sitemap.xml): All indexed URLs.