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 More

From 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 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

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

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

Implementation 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 More

Improving 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 More

Securing 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 More

Kubernetes 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 More

Secret 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 More

Increasing 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 More

Getting 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 More

Getting 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 More

Playing 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 More

Kubernetes-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