AWS Serverless Framework?

Atakan Savaş
3 min readNov 23, 2020

Hellö. Serverless Framework, guncel bir framework olup yazilimciya guzel bir hiz ve ceviklik sagliyor. Bu yazida, framework hakkinda biraz detay ve sonuc konularini ele alacagim. O vakit once gereklilikler, ardindan detaylar ile baslayayim.

Bilinmesi gerekenler

AWS? Servis? Lambda?

Aws cloud servisleri, cevik kod yazilimina yonelik cozumler sunan servisler. Icerisinde hosting cozumleri, Image Processing, db cozumleri gibi cok fazla oge iceriyor. Buyuk bir derya deniz, ogrenmek isteyenlere kolayliklar diliyorum. Daha guzel detay icin kendi sitesinden baslamak suretiyle, guzel dersler ile calismaya devam edilebilir.

Yurt disinda cok populer olmasina ragmen, yurt icinde buyuk firmalarin da cloud konusuna verdikleri onem son zamanlarda artmaya basladi.

Serverless yazilim nedir?

Bir kod calistirma teknigi denilebilir. Container sisteminin getirdigi kolayliklarin en guzeli belki de. Bu makalede de konu hakkinda detayli bilgilere ulasabilirsiniz. Bu baslik icin ozetle;

Serverless kavramının kelime anlamı itibari ile yanıltıcı olduğu açık. Serverless yerine kullanılan bir diğer terim ise FaaS yani Functions as a Service.

Bu sistemin cikmasinin sebebi temel olarak, yazilimcinin kod disinda baska bir konuya odaklanmamasini saglamak. Normal sartlar altinda yazilmis bir projeyi host etmek isterseniz temel olarak asagidaki maddelere yer yer ihtiyac duyuyorsunuz;

  • Secilen yazilim dilinin calisabilecegi bir isletim sistemi
  • Sunucunun bakimlari
  • Scale konusu
  • 50$’a makine kiraladiktan sonra, CPU degerini %20 de kullanip maliyeti dusunmek
  • vs vs vs

Serverless Framework Nedir?

“zero-friction serverless development”
“easily build apps that auto-scale on low cost, next-gen cloud infrastructure.”

Serverless Framework, acik kaynak kodlu, nodejs ile yazilmis bir web framework’udur. AWS servislerinde calistirmak uzere gelistirilmistir ve yazilimcinin cok daha cevik olmasini saglamaktadir. Guncel olarak AWS disinda Azure, Google Cloud gibi diger cloud cozumlerinin de entegrasyonlari var ve stabil hale getirilmesi icin calisiliyor.

Bir serverless projesi sadece ufak bir fonksiyon da olabilir, bir backend servisi (Rest Api) de olabilir veya komple bir SSR ile calisan React projesi de olabilir. Su an destekledigi diller arasinda sadece Javascript(Nodejs, Reactjs vs) ve Phyton dilleri mevcut. Forumlarinda bu dilleri genisletmek icin calistiklarini da paylasmislardi.

Icerisinde hali hazirda bir cok proje sablonu mevcut. Bu yaziyi yazdigim zamanki sablonlari soyle bir listeyeyim;

Nasil calisir?

Serverless demek, Functions as a Service demektir diye bir not paylastim yukarida. Bu container teknolojisi ile yazilimcilarin hayatlarina girmis bir kavram. En basit haliyle, yazilimin nasil bir ortamda calismasi gerektigini bir konfigurasyon dosyasi haline getirip, isin geri kalanini bu teknolojiye birakmak demektir.

Ortalama bir konfigurasyon dosyasi bu sekilde olusuyor. Solda bulunan dosya, yazilimin calismasi icin gerekli olan temel ayarlari iceriyor;

  • 1. Bolum
    org, app, service parametleri serverless dashboard uzerinden veya kendi cli ile eklenen projenin bilgileri icindir.
  • provider
    yazilimin calisacagi container bilgilerinin temellerini icerir. Runtime bilgileri, region bilgileri gibi degerleri icerir.
  • functions
    projenin ayaga kalkerken hangi dosyayi kullanacaginin bilgileri icerir.
  • custom
    container icin verilebilecek custom ayarlar icin.

Entegrasyonlar

  • CI / CD entegrasyonu mevcut. CI icin ben github projesini bagladim. Burada bir detay mevcut, organizasyon veya gizli repolar icin ucretli uyelik olmak gerekiyor. Su an fiyati aylik 20$ (2020 Kasim).
  • AWS entegrasyonu mevcut. Dashboard uzerinden gerekli izinler verilirse, sizin yerinize ApiGateway ve lambda ayarlarini halledip, size calisan bir environment linki olusturuyor.

Son olarak

Serverless framework’u ile detayli calismalarim devam ediyor. Usenmez isem baska makaleler ile buralari hareketlendirmek istiyorum. Ama simdilik, batsin bu dunya.

--

--