Category
.NET
Useful Information for Windows Containers
As we can imagine, trying to migrate existing applications to the cloud environment with the lift & shift approach due to time and cost reasons, is sometimes not as easy as we think. Especially if we want to host and manage the existing applications, that we have developed with .NET Framework, as containerized in environments […]
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 MoreMigrate Existing .NET Applications to Azure Kubernetes Service
In today’s technology era, we all know how important it is to host applications in the cloud environment especially for large-scale companies. According to many survey data, both public and private cloud usage ratio have increased considerably, especially in the last two years. There are several main reasons to transition to the cloud, some of […]
Read MoreI Joined Microsoft MVP Family in 2019-2020 Developer Technologies
Hi all, I am honored and excited to announce that I joined the Microsoft MVP family in Developer Technologies field on April 1, 2019. I would like to thank everyone for their support.
Read MoreResiliency Patterns in Microservice Architecture
Obviously, I was planning to write an article on this topic. After my last blackfriday experience, I decided to write something about on this topic. Yes, the topic is the importance of resilience and fault tolerance in microservice architecture and how can we provide them. The story In my previous articles, I have always mentioned […]
Read MoreBuilding Loosely Coupled and Scalable RESTful Services using Orleans
These days, I’m working on Orleans and Actor-based systems as I mentioned in my post titled “Overview of Orleans“. In this article, I will try to explain how we can build loosely coupled and scalable RESTful services using Orleans as a middle-tier. In addition to the practicality that we have gained from Orleans, it […]
Read MoreMicrosoft Orleans ile Distributed Virtual Actor Model’e Giriş
Merhaba arkadaşlar. Bu makale konumda straightforward bir şekilde concurrency problemlerini düşünmeden, distributed bir şekilde high-scale application’lar geliştirebilmemize olanak sağlayan Orleans project konusuna giriş yapmak istiyorum. Nedir Bu Orleans Project? Yukarıda da bahsettiğim gibi, concurrency problemlerini düşünmeden high-scale, distributed cloud-based uygulamalar geliştirebilmemiz için Microsoft’un 2014 yılında duyurmuş olduğu bir framework/platform’dur. Orleans, concurrency ve high-scale gibi problemleri […]
Read MoreMicroservice Mimarilerinde Consul ile Service Discovery
Merhaba arkadaşlar. Tekrardan microservice mimarilerine dayanan bir konu ile karşınızdayım. Bu konu kapsamında ise, “Service Discovery nedir?”, “Ne zaman ihtiyaç duyarız?” gibi kavramlardan bahsedip, bu işlemleri Consul ile nasıl gerçekleştirebileceğimize değinmeye çalışacağım. Service Discovery Nedir? Microservice’ler ile alakalı diğer makalelerimde de bahsettiğim gibi, bizlere kattığı artıların yanında bazı challenge’ları da beraberlerinde getirdiklerinden bahsetmiştik. Bu challenge’lardan belki de […]
Read MoreC# Loki ile Service Bazlı Distributed Locking
Merhaba arkadaşlar. Bu makale konumda sizlere Trendyol.com çatısı altında geliştirip, bazı uygulamalarımızda kullandığımız Loki kütüphanesinden bahsetmek istiyorum. Loki Nedir? Loki’yi kısaca tanımlamak gerekirse: Distributed sistemler üzerinde kolay bir şekilde lock işlemlerini handle etmeye yarayan bir library’dir. Loki’yi biraz daha açmak gerekirse eğer, shared bir resource üzerinden işlem yapan uygulamalarımız var ise ve bu uygulamalarımızı performans ve network split problemlerinden dolayı […]
Read MoreMicroservice Mimarilerinde Consumer Driven Contracts Testing Nedir? ve C# ile Implementasyon
Merhaba arkadaşlar. Yine microservice mimarilerine yönelik bir konu ile karşınızdayım. Sizlerde biliyorsunuz ki son dönemlerde neredeyse tüm ilgi alanımı, microservice mimarileri ve MQ(Message Queue) tabanlı sistemlere yoğunlaştırdım. Bu sistemler her ne kadar bir çok derdimizi çözseler bile, asla kusursuz bir şey olmadığı gibi beraberlerinde getirdiği bazı ek maliyetler de bulunmaktadır. Microservice mimarilerine geçilmesinde, belki en önemli […]
Read MoreMassTransit Saga State Machine ile Model Workflow’u Oluşturmak
Merhaba arkadaşlar. Bir süredir gerek yoğun iş temposu gerekse de sosyal hayatımdaki bazı yoğunluklardan dolayı, yeni bir makale yazmaya fırsat bulamamıştım. Sizlerde fark ederseniz bir süredir makale konularımı microservice ve messaging yapıları üzerine yoğunlaştırdım. Bu makale içeriğinde ise geliştiriyor olduğumuz microservice ve messaging yapılarında, long-running business process işlemlerinde consistency’i MassTransit Saga State Machine implementasyonu ile nasıl […]
Read MoreApache Kafka Serisi 02 – Docker Üzerine Kurulumu ve C# ile Giriş
Merhaba arkadaşlar. Bir önceki Apache Kafka Serisi 01 – Apache Kafka’ya Giriş makalesinde, Apache Kafka’nın ne olduğuna dair kabaca bir giriş yapmış ve terminolojisinden bahsetmiştik. Bu makale kapsamında ise aşağıdaki konulara değineceğiz: Zookeeper nedir Docker üzerine zookeeper kurulumu Docker üzerine kafka kurulumu C# client’ı ile kafka üzerinde örnek Kurulum işlemine başlamak için Docker Quickstart Terminal’i açalım ve aşağıdaki komut satırını […]
Read MoreLoglama Yapılarında Correlation ID ile Traceability’i Sağlamak
Merhaba arkadaşlar. Bu makale konusunda sizlerle uygulamalarımızda Correlation ID aracılığı ile consistent bir şekilde nasıl log’lama işlemlerini gerçekleştirebiliriz konusunu ele almaya çalışacağım. Çoğu zaman geliştirmekte olduğumuz uygulamalarda, arkaplanda neyin olup bittiğini anlayabilmek için genelde çeşitli log’lama işlemlerini gerçekleştiririz. Özellikle büyümekte ve büyük çapta olan projelerde, monolithic architecture’ların yerine distributed architecture’ların tercih edilmesiyle beraber, distributed dünya sağlamış olduğu bir çok faydanın yanında business […]
Read MoreDocker Üzerine Cassandra Kurulumu ve .Net ile Giriş
Merhaba arkadaşlar. Bir önceki makalemde bir süredir Messaging yapıları üzerinde çalıştığımdan bahsetmiştim sizlere. Yine aynı şekilde bazı ihtiyaç ve kararlardan dolayı, NoSQL olarak Apache dünyasından Cassandra kullanmamız gerekti. Bu makalemde ise sizlere biraz geç de olsa Docker üzerinde Cassandra kurulumundan bahsedip, .Net üzerinde bir örnek gerçekleştireceğim. Nedir bu Apache Cassandra? Geliştirilmesine ilk olarak Facebook tarafından başlanıp sonrasında ise open-source […]
Read MoreAsp.Net Web API’da Cross-Site Request Forgery (CSRF) Saldırı Güvenliği
Merhaba arkadaşlar. Gelen sorular üzerine bu yazımda sizlerle Asp.Net Web API’da Cross-Site Request Forgery(CSRF) saldırılarına karşı güvenliği nasıl ele alabiliriz’i küçük çapta anlatmaya çalışacağım. Zaten bir çoğumuzun Asp.Net MVC‘den AntiForgeryToken ile aşina olduğu bir konu olabilir. AntiForgeryToken implementasyonunu Web API bacağında ise custom olarak kendimiz gerçekleştireceğiz. Dilerseniz öncelikle CSRF hakkındaki bilgimizi biraz güncelleyelim. CSRF atağı saldırgan tarafından son kullanıcının kullandığı […]
Read More










