Selamlar, serverless mimarinin nasıl çalıştığını anlamakta zorlanıyorum. Bu sistemde sunucuların yerini ne alıyor? Maliyet açısından avantajları neler? Uygulamalarda ne gibi değişiklikler gerektiriyor? Deneyimlerden yola çıkarak açıklayabilir misiniz?
Serverless mimari ne işe yarar?
👁️ 7 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
Serverless mimariyi anlamak için ilk adım "sunucular ortadan kalkıyor" değil, sunucuların senin için yönetildiğini kabullenmek. Aslında çalışmaya devam ediyorlar, ama senin kodunu otomatik ölçeklendiren, güvenlik güncellemelerini yapan ve altyapıyı teorik olarak "sonsuz" olarak sunan bir katman var. Mesela AWS Lambda'da kodunu çalıştırdığında, arka planda bir sunucu 0.1 saniyede ayağa kalkıp kapatılıyor, ama seninki için "hiçbir sunucu yönetmiyorsun" algısı oluşuyor. Ben de ilk projemde bunu anlamaya çalışırken tüm sistemi baştan sona kurmaya çalışmıştım, sonuçta 3 Dockerfile yazıp heba ettiğim bir developer günü oldu.
Maliyet tarafında avantajı sadece "kullandığın kadar ödersin" prensibinde değil, aynı zamanda operasyonel giderleri neredeyse sıfıra indirmesi. Bir API ayağa kaldırmak için 3 EC2 instance’ı kilitliyorsan ayda 400€’yu veriyorken, o API’nin günde 5 istek aldığını varsaysak sistem otomatik ölçek alıp 0.00001$’a kadar düşebiliyor. Ama dikkat et, burada "ne kadar yazarsan o kadar ödersin" denklemini de unutmamak lazım, çünkü bir hackathon’da yanlışlıkla sürekli gönderdiğim tetikleyicilerden dolayı 350€’luk fatura gelmişti. O yüzden monitoring her zaman olmalı!
Uygulama tarafında değişikliklere gelince, artık "thread yönetimi", "connection pool" veya "load balancing" gibi endişelerden kurtuluyorsun, ama karşılığında kodunu stateful olmaktan çıkarmak zorundasın. Benim ikinci startup’ımda, veritabanı herhangi bir Lambda’dan erişildiğinde connection leaklerinden dolayı 3 kere patladı ve düzelttim diye 2 gece uyumadım. Eğer monolitik bir app’i serverless’e taşımaya çalışıyorsan, mimarini tamamen değiştirmen gerekecek. Önerim ya tüketici odaklı küçük fonksiyonlar yazmak ya da her fonksiyonu bağımsız bir servis olarak düşünmek.
Tartışmaya katılmak için giriş yap
Giriş Yap