Category

.NET

Runtime Governance for AI Agents: Policy-as-Code with OPA

In my previous article, I tried to show how we can build a simple but practical AI Agent using Microsoft Agent Framework (MAF) with deterministic routing and intelligent search. I also mentioned that I kept things simple on purpose and that in a production scenario there are other concerns that need to be addressed. Building the agent itself is really […]

Read More

Building an AI Agent in .NET: Deterministic Routing and Intelligent Search with Microsoft Agent Framework

Nowadays wherever I look, everyone talks about AI coding agents, agentic systems or LLM powered applications and so on. It has been almost a year that I have been working on different domains where we integrate LLMs into our applications, as well as getting my hands dirtier by integrating AI assisted coding practices into our […]

Read More

DevEx Series 02: From Catalog to Copilots. Boosting Backstage with MCP Server

In the first part of this DevEx series, I tried to explain Platform Engineering and DevEx and showed how Backstage can help make an organization’s assets discoverable while creating golden paths that enable developer self-service without chaos. The goal is to increase developer productivity. In this second part, I will dive deeper into Backstage’s catalog […]

Read More

DevEx Series 01: Creating Golden Paths with Backstage, Developer Self-Service Without Losing Control

As an architect involved in platform engineering and DevEx transformation within a large-scale organization for the past few years, I’ve seen firsthand how developer experience directly shapes not just the speed and quality of software delivery, but also how effectively teams can adopt governance, security, and compliance practices as enablers rather than blockers. I can […]

Read More

Overcoming Event Size Limits with the Conditional Claim-Check Pattern in Event-Driven Architectures

In today’s technological age, we typically build our application solutions on event-driven architecture in order to make them as scalable, resilient, and flexible as possible. While event-driven architecture sounds good, it also brings along many complexities and limitations. In my previous articles, I also tried to touch on topics such as the best practices we […]

Read More

Delegating Identity & Access Management to Azure AD B2C and Integrating with .NET

As we know, when developing a product, taking advantage of as many different cloud solutions as possible not only saves time and complexity but also allows us to minimize various administrative costs. Nowadays many of us are developing cloud-native applications or migrating to the cloud. During this time, we try to benefit from different solutions […]

Read More

How to Order Events in Microservices by Using Azure Service Bus (FIFO Consumers)

Sometimes there are some scenarios that we can’t avoid or have to implement even though we know their complexity or drawbacks. I think, having a need to process some events/messages that are relevant to each other in a certain order (that they are published) in a distributed environment is also one of them. For example, […]

Read More

Providing Atomicity for Eventual Consistency with Outbox Pattern in .NET Microservices

As we know, adapting to microservice architecture has many benefits, but unfortunately, it also has some challenging points. Especially on the data consistency side. For example, in the monolithic world, we can use ACID database transactions to easily perform multiple operations in a consistent way. However, in the microservice world, as transactions need to be […]

Read More

Building Microservices by Using Dapr and .NET with Minimum Effort – 02 (Azure Container Apps)

In the previous article, we talked about the Dapr project, its benefits and developed two sample microservice with .NET 6 as self-hosted mode in the local environment. (If you haven’t read the first article, you can find it here.) Within the scope of this article, we will perform the deployments on Azure Container Apps by […]

Read More

Some Awesome News of .NET 7

As we know, .NET Conf 2022 took place between 8-10 November. During the conf, exciting news and performance improvements around .NET 7 and C# 11 were mentioned. In this release, especially some topics got focused which support us to develop more “fast”, “lightweight” and easier “cloud-native” applications. In this article, I will try to mention […]

Read More

Building Microservices by Using Dapr and .NET with Minimum Effort – 01

As we know, technology and our habits are constantly changing day by day. Especially after the pandemic, the trend towards digitalization and technology has increased considerably. Due to these changes, we as developers, also pay attention that the applications we develop are portable and scalable as much as possible in order to adapt to these […]

Read More

Getting Memory Dump of .NET Applications (Windows&Linux Containers) on Kubernetes

As we know, the best way to debug our applications that crash or hang due to memory leaks or unknown reasons is to analyze the dump files. At least that’s how my experience has been so far. As developers, at least we need to be able to analyze dumps to roughly understand why our applications […]

Read More

Building OCR Workflow on Azure By Using Azure Function, Logic Apps and Computer Vision API

I think we are all aware of the importance of digital transformation and the benefits that we can achieve with it. As we know, many organizations are also taking different steps towards digital transformation. However, as we can imagine sometimes we may also encounter different difficulties in these transformation processes. For example sometimes there are […]

Read More

Working with Persistent Volumes by Using Azure Files in Azure Kubernetes Service

Applications that we develop as cloud-native sometimes may have to deal with data related operations such as accessing, storing or sharing a data between applications. As we know, our applications that we host on Kubernetes as containerized are ephemeral and stateless by nature. In other words, if we don’t use a persistent storage solution, any […]

Read More

High-Performance, Stream-Based Communication Between Services with NET 5 and gRPC

Due to the needs of today’s technology age, we are trying to develop our applications using microservice architecture that met the scale demands. Also about the communication between distributed services, we are performing it with REST (HTTP JSON) approach at many points. In this article, I will try to mention how we can perform high-performance […]

Read More

How Should My Event Be Designed? Some Thoughts on Event-Based Systems

As we know, software development doesn’t end easily especially in today’s world. In addition to developing the software, it is one of our biggest problems and responsibilities to ensure that it works properly and consistently. As we can imagine, from time to time those kinds of needs lead us to microservice architectures, event-based systems and […]

Read More