Serverless Nedir?

01.08.2018 / Emir Bora Turan

Serverless kelimesi FaaS (Function as a Service) terimine göre daha popüler durumda olmasına karşı bazı noktalarda PaaS içinde Serverless olarak değerlendirilebildiği için ikisini içine alan yapıya Serverless diyebiliriz. Bu konuda Kelsey Hightower’ın paylaştığı durum da referans gösterilebilir.

C:\Users\sinan.tecer\Desktop\DNZo1UwUQAE-9Po.jpg

En küçük yapıdan yukarıya doğru servisleri incelememiz gerekirse, FaaS, PaaS, CaaS, IaaS olarak soldan sağa büyüyecek şekilde tanımlayabiliriz.

Serverless – Sunucu Olmayan, tanımının anlamı aslında, siz sunucu ile hiç uğraşmıyorsunuz sadece kod yazıyorsunuz ve geriye kalan tüm ölçekleme, network veya sunucu tarafında yapılacak tüm işleri biz yapıyoruz. Sunucu hiç düşünülmediği için Sunucusuz olarak tanımlanıyor ama tabi ki Cloud üzerine çalışan bir sunucu üzerine çalışıyor kodlarınız.

Serverless’in odaklandığı nokta, siz altyapı, konteyner, ölçekleme gibi tüm operasyonel işleri bize bırakın ve siz sadece kodunuza/fonksiyonunuzu odaklanın.

Buraya kadar her şey muhteşem görünüyor ancak çok dikkatli kullanılması gereken bir sistem bu sebeple bu işe başlamadan önce fiyat/performans analizlerini çok sıkı yapmak gerekiyor aksi halde test için yaptığınız bazı anlamsız request’ler başınıza büyük fatura olarak ağrı verebilir.

Hangi durumlarda en fazla ihtiyaç duyarız?

Uygulama yönetme aşamaları son derece karmaşık ve birçok operasyonel çalışmalar içeriyor. Dolayısı ile hızlı MVP çıkarmak için, gerçek manada kullandığın kadar ödeme yapmak, sunucuya gönderilen isteklere göre ölçekleme yapmasını sağlamak için kullanılır.

Gerçekten Kullandığın kadar öde

Geleneksel sistemlerde belli istekler aralıklarla kaynaklar artırımına gidilir. Örneğin 1-100 request için 1000MB RAM olsun ama o aralıktaki her request için bu kadar kaynak ayırmış olursunuz. Serverless sisteminde tam manada kullanılan istekler, request sonuç ilişkisi ile cevaplandığı için 1 request için 1 kaynak ve bir cevap 1000 request için x kaynak ve 1000 cevap aynı anda sağlanır ve bu kullanıma göre ücretlendirilirsiniz.

https://cdn-images-1.medium.com/max/1000/1*iLD_uSS8g63bnKye_q85Tg.png

Kaynak: https://www.trek10.com/blog/serverless-framework-for-processes-projects-and-scale/

Serverless fonksiyonları bulut servis sağlayıcıları aracılığı ile sağlanır, AWS Lambda bunlardan en popüler olanı. Azure tarafında Functions ile denemeler yapabilirsiniz.

AWS Lambda
Azure Functions

 

Yazan: Sinan TECER (Eczacıbaşı Bilişim)