Trendyol benzeri pazaryeri sitesi aşağı yukarı ne kadar mal olur arkadaşlar, teşekkürler.
Trendyol, 1000'den fazla farklı programlama diliyle (Java, C#, Go, Python, PHP, Rust ve diğerleri) yazılmış mikro servislerden oluşan, 150+ state yönetimi ve sayısız iş akışını (workflow) takip eden bir sistemdir. Durum yönetimi ve iş akışlarını bir kenara bırakalım; buradaki çoğunluğun servisler arası "subscription (pub-sub)" nedir bildiğini sanmıyorum.
Böylesine çok çeşitli fonksiyonlara sahip, binlerce model barındıran bu tür uygulamalar monolitik olarak oluşturulamaz. Auth protokollerini, yetkilendirmeleri ve ileri düzey önbellek mimarisini bir kenara koyarsak, farz edelim ki sadece public fonksiyonlar için inatçı ve kararlı bir ekip monolitik mimariyle bu yola çıktı. Bu durumda, Trendyol'un anlık oturum sayısının onda birine dahi ulaşmak için Kubernetes'te yüzlerce sunucunun orkestre edilmesi gerekecektir. Her dakika zarar eden bu yarım kalmış sistemin kullanıldığı bir işin sürdürülebilirliği ne olabilir?
Mikro servislere tekrar dönelim. Trendyol'da geliştirme aşamasında mümkün olduğunca pair programming tercih edilir. Biz bu şekilde çalışmayalım ve bu sayede developer sayısını yarıya düşürelim. Son durumda, minimum 200 developer ile iş veren tarafında aşırı iyimser bir bakış açısıyla ve gerçekte imkansız olan bir maaşla hesap yapalım ve 50.000 TL diyelim. Tam performansla (haftada 45 saat) her geliştirme ve testin sorunsuz geçtiğini, her story için milestone ve deadline'ın tutturulduğunu varsayarak imkansızı olmuş gibi kabul edip her mikro servisi 50 saatte çıkardığımızı düşünelim. 1000 servis x 50 saat = 50.000 saatlik geliştirme süresini 200 geliştiriciye dağıtalım. 50.000 saat / 200 geliştirici = geliştirici başına 250 saat düşer. Aylık 180 saat çalışmayla 250 saat / 180 saat = 1,38 ay boyunca 200 geliştiricinin çalışması gerektiği ortaya çıkar. 50.000 TL maaş x 200 developer x 1,38 ay = 13.800.000 TL.
Her işimizin mümkün olan en iyi şekilde yolunda gitmesini ve 200 senior seviye geliştiricinin yüksek motivasyonla 50.000 TL maaşla çalışmasını sağlasak bile minimum 13.800.000 TL'lik bir maliyete ulaşıyoruz (daha az developer ile daha uzun zamanda da bitirebilirsiniz, fiyat sadece enflasyon çerçevesinde artacaktır. Sonucta development süresi her durumda 50.000 saattir). Ki bence bu gereksinimleri ve akışı sağlamak için peygamber olma şartı var.
Trendyol gibi yeri geldiğinde yıllık 50 milyon dolar zarar bütçesi çıkaran şirketlerle rekabete, Türk milyarderler dahil kimsenin şu dönemde girmeyeceğini düşünüyorum. Önerim, sektörel pazar yerlerine yönelmektir. Bu hesabı kabaca ve saçma görünse de, 17 farklı ana pazar yeri kategorisinden yola çıkarak 13.800.000 TL / 17 = 811.764,70 TL ile çok daha düşük rekabet, odaklı arama optimizasyonu, özel eğitilmiş modelle sektörel yapay zeka desteği ve daha birkaç "özel çalışma" ile imkansız olanı mümkün olan bir duruma güncelleyebilirsiniz.