In this article , we provide a practical, step-by-step guide to making software systems scalable , from a single-server setup to a fully distributed architecture.
It begins with the fundamentals of I/O performance, explaining how hardware limitations such as disk speed and network latency affect system throughput. Then it explores progressive scaling strategies, including vertical and horizontal scaling, caching, asynchronous processing, and load balancing.
Finally, it addresses the deeper challenges of distributed systems . data consistency, CAP theorem, replication, sharding, and event-driven communication .
offering clear, real-world approaches for designing resilient, high-performance application
EPPlus is a powerful and easy-to-use .NET library for reading, creating, and modifying Excel .xlsx files (Office Open XML format).
It provides an API similar to working with Excel itself — with support for formulas, charts, tables, styles, data validation, pivot tables, and more — all without needing Excel installed.
It’s ideal for:
CAP is a .NET library that helps implement the Outbox Pattern and distributed event publishing reliably.
It supports multiple databases (SQL Server, MySQL, PostgreSQL, etc.) and message brokers (RabbitMQ, Kafka, Azure Service Bus).
It automatically stores events in an outbox table within your database transaction and publishes them asynchronously.
It handles retries, failure scenarios, and event deduplication.
CAP is a great fit if you want out-of-the-box support for transactional outbox + message broker integration.
It abstracts away a lot of complexity.
Widely used in .NET microservice and event-driven architectures.
A Progressive Web App (PWA) is a web application that uses modern browser APIs to provide an experience similar to a native mobile app.
characteristics:
Looking for an open-source way to implement 𝗦𝗦𝗢 in ASP.NET Core? This guide shows how to build a central authentication system using 𝗢𝗽𝗲𝗻𝗜𝗱𝗱𝗶𝗰𝘁, a free alternative to Duende Identity.
It includes:
• A working AuthServer and MVC client
• Login and consent pages
• Proper handling of first-time login flows
K6 is both an HTTP load and functional test tool, written in Go and using the goja embedded JavaScript interpreter for test scripting purposes
Ever wondered how your API performs under heavy load?
I just wrote a practical guide on API load testing with k6 – from setup to thresholds and real-world scenarios.
Securing APIs is a critical part of modern application development. Instead of reinventing authentication and authorization, we can rely on industry standards such as OAuth 2.0 and OpenID Connect.
𝗜𝗱𝗲𝗻𝘁𝗶𝘁𝘆 𝗦𝗲𝗿𝘃𝗲𝗿 is a system that manages user login, authentication, and secure access to applications. It helps apps know who the user is and what they are allowed to do, without each app handling logins separately.
𝗗𝘂𝗲𝗻𝗱𝗲 𝗜𝗱𝗲𝗻𝘁𝗶𝘁𝘆𝗦𝗲𝗿𝘃𝗲𝗿 is a highly extensible and standards-compliant framework for .NET Core that helps you issue tokens, handle authentication, and enforce authorization for your APIs and applications.
In this article , we used the 𝗰𝗹𝗶𝗲𝗻𝘁 𝗰𝗿𝗲𝗱𝗲𝗻𝘁𝗶𝗮𝗹𝘀 flow, which works well for 𝗺𝗮𝗰𝗵𝗶𝗻𝗲-𝘁𝗼-𝗺𝗮𝗰𝗵𝗶𝗻𝗲 communication. But in real applications with human users, we need an interactive login experience.
𝗜𝗻 𝘁𝗵𝗲 𝗻𝗲𝘅𝘁 𝗴𝘂𝗶𝗱𝗲, we will discover how to build a 𝗹𝗼𝗴𝗶𝗻 𝗨𝗜 and 𝗶𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗲 redirection to 𝗜𝗱𝗲𝗻𝘁𝗶𝘁𝘆𝗦𝗲𝗿𝘃𝗲𝗿 for scenarios such as .NET Core 𝗠𝗩𝗖 applications, 𝗦𝗶𝗻𝗴𝗹𝗲 𝗣𝗮𝗴𝗲 𝗔𝗽𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻𝘀 (SPAs) like Angular or React, and even native 𝗺𝗼𝗯𝗶𝗹𝗲 or 𝗱𝗲𝘀𝗸𝘁𝗼𝗽 apps.
A cheat sheet for the .NET Command-Line Interface (CLI) provides a quick reference to common commands used for developing, building, running, and publishing .NET applications.
YARP (Yet Another Reverse Proxy) is a highly customizable reverse proxy library for .NET. It's designed to provide a robust, flexible, scalable, secure, and easy to use proxy framework. YARP helps developers create powerful and efficient reverse proxy solutions tailored to their specific needs.
You’ve probably heard the names of architectures like DDD, CQRS, or Microservice many times at work, in interviews, and so on. They’ve basically become the trend these days.
But are these architectures really that good?
Does the three-layer architecture still have a place in the area of clean code, or is it just too basic and trivial?
© vahid arya. All Rights Reserved.