backen'i hangi dille yazdığının bir önemi yok. programlama diline aşık olma. nerede ne gerekiyorsa onu kullan. applikasyonu aynı anda kullanacak kişi sayısına göre bir veritabanıı ve sunucu gücü seçmen gerekir tabii. ama bugünlerde sunucu değişimleri eskisi gibi değil, kolay yapılabiliyor. hosting firmaları shared hosting veriyor. buna dikkat et. mesela benim aptal bir hosting firmasında çalışan bir borsa programım var. IIS pool arada resetleniyor ve herşeyi kaybediyorum. eğer iş yükün ağırsa sanal sunucuları veya fiziksel bunucuları deneyebilirsin. ama mobil tarafa geçince veya benim gibi hızlı veri akışları ile uğraşıyorsan bazı değişiklikleri yapman ve farklı teknolojileri düşünmende fayda var derim ben. mesela ben mysql ile hiç mutlu olamadım. mssql bana inanılmaz bir güven verdi. mssql ile rahatlıkla diyebiliyorum ki, "bir sorun varsa bendedir". ama bunda daha önemlisi benim işim için mssql'in ve shared hosting'in hızı yetmedi. o sebeple redis ve benzeri nosql tipleeri ile karma bir yapı kurdum. benzer şekilde hangfire ile baklememi gerektirmeyen işleri çalıştırıp unutarah büyük performans kazandım. Adı üstünde fire-and-forget büyük avamtaj sağlıyor.

Verileri istediğin yerde tutarsın. hatta ben bir ara uygulamayı bir sunucuda, veri tabanını bir başka sunucuda ve redis sunucuyu da başka bir makinada tuttum. bunlar arasında kendine uygun bir haberleşme standardı belirle yeter. json çok moda. kolay da aynı zamanda. ama xml kullansan da kıyamet kopmaz. ben zamanında (evet yaşlıyım biraz)daha ortada webservice gibi şeyler yokkken bu işi yapan metodları kendim geliştirmiştim. neticede çalışıyorsa sorun yoktur. Ama backup çok önemli.

Belki paylaşabileceğim en önemli tecrübe haberleşme olayını bir subdomain altından yapman olur. Bu sayede gelecekte eğer işyükü artarsa yeni bir sunucuda barındırılan yeni bir subdomain ile altyapıyı kimseye belli etmeden değiştirebilirsin. yeni bir sunucuya taşınman gerektiğinde orada bir subdomain altında kurulumu yapıp test ettikten sonra dns yönlendirmesi ile eski uygulama çalışırken yenisine geçebilirsin.

Beni en çok sıkıntıya sokan bizdeki upload hızının düşük tutulması. ben yurtdışında da çalıştım. orada insanlar bizdeki sorunları yaşamıyor. yavaş bağlantılar yüzünden yedekten dönmenin zaman alacağını gözönüne almalısın. başına olmadık dertler açıyor.

Bunlar iyi bir planlama ile baştan yapmazsan sonradan çalışan sistemde değiştirmen gerekir. ama yine de her sorunu ve büyümeyi önceden görmek zor. ben bir kısmını planlayabildim ama kullanıcı sayısı kontrolsüz artınca eklemeler ve değişiklikler bayağı zorladı. büyük projelere geçmek her zaman dertli oluyor. tecrübe edindikten sonra o kadar dert etmiyorsun.

Ama altından kalkarsın. dert etme...