Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Microservices Nedir, Ne Değildir? Independent Deployability ve Information Hiding
Microservice, bir business domain etrafında modellenmiş ve diğerlerine dokunmadan deploy edilebilen service'tir; ölçüt boyut değil, independent deployability ve information hiding'dir. Lewis ve Fowler'ın dokuz özelliği, Newman'ın tanımı, contract ile iç modeli ayırmanın C#'taki karşılığı, SOA farkı ve Bookstore'un service adayları.
Microservice'lerin Bedeli: Ne Zaman Gereksiz, Ne Zaman Kaçınılmaz?
Microservices tek ekipli, ön koşulları (otomatik provisioning, monitoring, hızlı deploy) olmayan bir sistem için gereksizdir; birbirini bekleyen ekipler ve farklı ölçeklenen parçalar ölçülebilir hâle geldiğinde kaçınılmaz olur. Network çağrısının gerçek maliyeti ölçülerek, fallacies of distributed computing, Fowler'ın prerequisite'leri, Prime Video vakasının doğru okunuşu ve Bookstore için bir karar checklist'i.
Service Boundary'lerini Çizmek: Business Capability, Bounded Context ve Coupling Türleri
Service sınırı tablolara ya da entity'lere göre değil, birlikte değişen iş kurallarına göre çizilir: bir service en fazla bir bounded context içerir ve tek bir ekibin sahipliğindedir. Business capability ile subdomain yaklaşımı, Microsoft'un sınır rehberi, Newman'ın domain, pass-through, common ve content coupling türleri, entity service anti-pattern'i ve Customer'ın üç context'teki üç ayrı modeli.