Ana içeriğe geç
Bulut & Altyapı

Node.js altyapısını Go ile yeniden yazarak AWS faturasını yüzde 94 düşürdü

Öne çıkanlar

  • Bellek tüketimi Node.js üzerinde 1,4 GB seviyesindeyken Go uygulamasında 48 MB düzeyine indi.
  • Aylık AWS altyapı gideri 4 bin 287 avrodan 252 avroya gerileyerek yüzde 94 azaldı.
  • Dağıtım süreçleri 15 MB boyutundaki tek ikili dosya sayesinde yedi dakikadan 23 saniyeye düştü.

Bir yazılımcı, ayda yaklaşık 4 bin 287 avroya ulaşan AWS altyapı maliyetini düşürmek amacıyla Node.js tabanlı arka yüz sistemini 72 saat içinde Go dilinde baştan yazdı. Yoğun saatlerde dakikada yaklaşık 2 bin istek alan servis, daha önce mikroservis mimarisi gerekçesiyle sekiz adet EC2 t3.large sunucusu üzerinde çalışıyordu. Kapasitenin büyük kısmının gün boyu boşta kalması ve kontrolsüz büyüyen npm bağımlılıkları sistemin maliyetini artırdı.

Yeniden yazım sürecinde Express.js yerine benzer sözdizimine sahip Fiber çatısı tercih edildi. Bellek tüketimi sunucu başına 1,4 GB seviyesinden 48 MB düzeyine geriledi. Derleme çıktısı olarak tek bir 15 MB ikili dosya elde edilmesi sayesinde dağıtım süresi yedi dakikadan 23 saniyeye indi. Uygulama ortalama yanıt süresi ise 180 milisaniyeden 45 milisaniyeye kadar geriledi.

Yapısal sadeleşmeyle birlikte yük dengeleyici ve yedek NAT Gateway bileşenleri devreden çıkarıldı, mimari tek bir t4g.micro ARM sunucusuna taşındı. Log saklama sürelerinin de sınırlandırılmasıyla aylık bulut faturası 252 avroya gerileyerek yüzde 94 oranında azaldı. Sonraki dönemde yapılan ek optimizasyonlarla aylık harcama 187 avroya kadar düştü.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.