Category
Architectural
Keeping Specs and Shared Understanding Aligned at AI Speed
With AI-assisted engineering, we engineers are moving faster and changes are getting shipped faster. This is also true for my own daily work. But I must say, the work surrounding those changes doesn’t really get smaller. I have always believed that complexity never goes away, it just moves to a different place. Because of this […]
Read MoreFrom AI Conversations to Durable Engineering: What Spec-Driven Development Changed in My Workflow
Over the last couple of months, like probably many developers, I have been using AI coding agents more and more as part of my daily engineering workflow. I would say they are great thinking partners… I can explore an architecture, challenge an idea, ask them to inspect an existing codebase and iterate on a design […]
Read MoreOvercoming 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 MoreBuilding 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 MoreHigh-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 MoreHow 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 MoreImplementation of Choreography-based Saga in .NET Microservices
In today’s technology era, almost all of us talk about microservices and try to develop applications. When we just talk about microservices before get started to implement, everything might seems very clear and easy to implement. But, especially when the topic comes to distributed transaction management, then things start to get complicated. Because we need […]
Read MoreImproving Repeated Access with Cache-Aside Pattern
As a responsible developer, in addition to being able to write clean code, it is also important to ensure that our application runs efficiently. As we know, we must return results as quickly as possible to provide a better experience to customers. Well, one of the most basic performance improvements we can implement quickly is […]
Read MoreSecuring Microservice Communication with Istio
As we can imagine, the technology and needs are rapidly evolving and growing day by day. Because of these rapid changes, organizations are also trying to renew their technology in order to keep themselves up to date. So, the general approach is focused on the microservice architecture to scale both business/organization and technology. Also as […]
Read MoreKubernetes for Production: Some Useful Information
As we know, in recent years kubernetes has become an essential standard on container orchestration topic for our microservice architectures. Although kubernetes solves many of our problems with its default usage, there are also some best practices and applications available that we can use to make our applications more stable, reliable and secure. I have […]
Read MoreSecret Weapon: Specification Pattern
I guess the last time that I needed to implement the specification pattern was one and half year ago. My goal was the encapsulate the relevant domain rules and make them reusable without making the business domain too complex and duplicating the domain information. As many of us know, the specification pattern is not a […]
Read MoreIncreasing Performance and High Availability of Web Apps with Azure Front Door Service
If we are developing a global(multi-region) web application on the cloud and also want the application should have better performance, scalable and highly available, so we need a good application entry point. In this context, Azure Front Door Service, is a web application entry point that Microsoft has been using for a long time in […]
Read MoreGetting Started with Clean Architecture using ASP.NET Core – 02
If you haven’t read the first part of this article, you can reach it from here for better understanding of the subject. In this second part of this article, I will mention about the minimal implementation of the clean architecture concept with .NET Core. As an example, we will develop a simple API which we […]
Read MoreGetting Started with Clean Architecture using ASP.NET Core – 01
As we know, the maintenance operation is always more expensive than building the actual software. Whatever we do, the only thing, that never changes, is maintenance cost, isn’t it? One of the most important things that will affect the cost is to choose software architecture. Based on past my experiences, as a series of two […]
Read MorePlaying with Service Mesh – Linkerd and Azure Kubernetes Service
As we know, Microsoft launched many innovations this year at Barcelona KubeCon. I think one of the great was SMI(Service Mesh Interface). As far as I understand, I can say that for the definition of SMI, it provides “interoperability” topic between service meshes just as AMQP. In essence, it offers a standard interface for service […]
Read MoreKubernetes-based Event Driven Autoscaling with KEDA, RabbitMQ and .NET Core
As you know, these days Microsoft is making a lot of leaps and investments for the open-source world. One of these leaps is a component called KEDA, which is developing in a partnership with Red Hat and it enables us to performs Kubernetes-based Event Driven Autoscaling. Since the announcement of KEDA, I have started to […]
Read More















