Mikro servis dönüşümü üzerine bir sohbette arkadaşım eski yekpare(monolith) sistemimizi eleştirirken; karmaşıklığından, her şeyin iç içe geçmiş olmasından dem vurdu. Bir değişiklik yapmak isteyen nerenin etkileneceğini bilemiyordu. Ama yeni servislerimiz öyle miydi? Satır sayıları azalmıştı. Servisler küçük olduğundan anlamak kolaydı. Ona göre yekpare yapıları yönetmek aşırı disiplin gerektiriyordu. Küçük izole servisler sayesinde yanlış yapmak daha zordu.
Ben mikro servis mimarisine baktığımda; koordinasyon problemleri, veri tutarsızlıkları, minik bir geliştirme için bile bir çok servisi değiştirme, yeni yeni akışlar icat etme ihtiyacı görüyordum. Üstüne bir de yapılabilecek hataların ölçeği artmıştı. Disipline ihtiyaç daha da fazla idi bana göre.
Anladım ki arkadaşım sadece kod ile ilgilendiği için sistem boyutunda oluşan maliyetlerin farkında değildi. Onun için sorumlu olduğu alan – kod – küçülmüştü. Servislerin hepsi farklı repoda olduğu için yapay bir modülerlik hissi oluşmuştu. Geliştirme yapmanın, hata ayıklamanın daha zorlu ve maliyetli hale geldiğini görmüyordu.
Sanırım göz görmeyince gönül katlanıyor 🙂

Leave a comment