Image Image Image Image Image Image Image Image Image Image

GBA | 26 August 2019

Scroll to top

Top

Yorum Yok

Sunucusuz uygulamalar dünyasına hoşgeldiniz

Sunucusuz uygulamalar dünyasına hoşgeldiniz

Uygulamalar geliştirilir ve sunucular üzerinden kullanıcılara servis edilir. Bu bilindik geleneksel yaklaşım, geliştirici firmaların ne kadar sunucu, depolama ve veri tabanı gücüne ihtiyaçları olacağını önceden öngörmelerini zorunlu kılıyor. Ancak bu şekilde uygulamanın sunulması için ihtiyaç duyulan donanım ve yazılım sağlanabiliyor.

Tüm bu öngörme ve karşılama sürecinin olmadığını hayal edin. Kulağa ütopik geliyor, öyle değil mi? Artık değil! Yeni bir yaklaşım, sunucusuz uygulama hayalini gerçeğe dönüşyürüyor.

Amazon Web Servisleri’nin (AWS) geliştirdiği Lambda Servisi, devasa uygulamaları depolamak yerine, tepki etki-tepki düzeneklerine sahip uygulamalar kurmanızı ve yalnızca tetiklenen aksiyonun harcadığı bilgi işlem gücü kadar ödemenizi mümkün kılıyor. İstediğiniz kadar tetikleyiciye (başlatıcı) ayrı ayrı ya da birlikte sahip olabiliyorsunuz ve şartlar sağlandığında bu tetikleyiciler programlanan işlemleri devreye sokuyor. Buradaki tetikleme anlayışının IFTTT benzeri bir tetikleyici-aksiyon sistemi olduğunu belirtmekte fayda var.

Lambda, milisaniyeler ile ölçülen tepki sürelerine sahip ve geliştiricilerin genel geliştirme eforlarını da düşürüyor. En basit anlatımla, bir kod yazıp, bu kodun hangi şartlarda (tetikleyici) devreye gireceğini belirlemek yeterli.

Tetikleyiciler kullanıcının akıllı telefonundan bir dosya upload etmesi, bir internet sitesinde ‘Satın Al’ tuşuna tıklaması ve hatta içerisinde insan etkileşimini barındırmayan makineden makineye iletişimler gibi eylemler olabilir. Buradaki ana fikir, Lambda’nın geliştirinin hayal gücüyle mümkün kıldığı tüm eylemleri tetikleyici konumuna koyabilmesi. Dahası, geliştiriciler aşina oldukları programlama dillerini kullanarak tetikleyiciler oluşturabiliyor ve Amazon da birçok hazır kodu liste halinde onlara sunuyor.

Nesnelerin internetinde sensörler sürekli yeni verileri uygulamalara aktarabildiklerinden tetikleyiciler her salisede uyarılabilirler. Örneğin akıllı termostat evin ısısını sürekli olarak aktarırken, yalnızca oda sıcaklığı belli bir değerin altına düştüğünde gönderilen veriye tetikleyici özelliği kazandırılabilir.

Yeni cesur dünya

Teknik olarak hiçbir uygulama sunucusuz çalışamaz. Yazılımı sunmayı mümkün kılan bir donanımın altta çalışması gerekir. Amazon’un Lambda ile yaptığı ise geliştiricilerin programlamayı bir nevi otomasyona bağlamalarına olanak tanımak ve sunucu, depolama ve veritabanı alanındaki karmaşıklıkla AWS’nin ilgilenmesini sağlamak.

Lambda’nın ortaya koyduğu yeni yaklaşım ezber bozan cinsten. Herkesin bu yeni yaklaşımı kavradığından emin olmak isteyen AWS’nin ürün stratejilerinden sorumlu genel müdürü Matt Wood, açıklamasında sistemi Amazon S3 veya Dropbox gibi depolama servislerine benzetiyor. Bir dosyayı çevrimiçi depolama servisine gönderdiğinizde onu kaydettiğinizi bilir ve arkanıza bakmazsınız. Bunun için ‘sunucu kurmam ve depolama alanı yaratmam gerek’ demezsiniz. Çünkü bulut depolama servisi bunu sizin için halleder. AWS Lambda da geliştiriciler için sunucu, veritabanı ve depolama alanındaki anahtar teknolojileri hallediyor.

Battery Ventures’ın teknoloji yatırımcılarından Adrian Cockcroft, Lambda için ‘kulağa basit geliyor fakat en teknik insanlar için bile anlaması zor’ diyor ve bunu insanların alıştığı anlayışı yıkmasına bağlıyor: “Lambda çoğu insanın kafasını karıştırdı ama birçok insan da sunucusuz uygulama fikrini düşünüyordu. Makineleri ölçekliyorsunuz, bu sayede görünmez olmalarını sağlıyorsunuz. Çok uygun maliyetli bir mimari.”

Cockcroft, bu yaklaşımın uygulamaları daha güvenli kılmak gibi bir avantajı olduğunu da söylüyor. Eğer siber korsanlar bir tetiğe ulaşırsa, bu yapbozun yalnızca bir parçası olacağından tüm sistemi ele geçirmeleri bir hayli zor görünüyor.

Ağır kaldırma işi Lambda’nın

AWS’den Wood’a göre Lambda iki senaryoda ideal şekilde çalışıyor. İlk senaryo, işlemler nadir gerçekleştiği ve sunucu maliyetinin anlamsız olduğu durumları kapsıyor.

İkinci senaryo ise geliştirilen karmaşık ve büyük uygulamanın seri bir şekilde ölçeklenme ihtiyacı duyduğu ve statik bir altyapının kurulmasının zor olduğu durumlara işaret ediyor. Örneğin sensörlerden gelen hava durumu bilgileri uygulamaya ulaştığı gibi birçok tetikleyici devreye giriyor. Lambda bu noktada, istenildiğinde her milisaniyede bir tetikleyicileri devreye sokabilme olanağı sunuyor.

Lambda’yı ikinci senaryo gereği kullanan kurumlardan birisi MLB (Amerika Ulusal Beyzbol Ligi). Lig her atışı, her vuruşu ve her koşuyu tetikleyiciler olarak kullanıyor. Bu sayede maçlardaki hareketleri gerçek zamanlı olarak veriye dönüştürebiliyorlar. Lambda da bu veri akışı için gerekli olan altyapıyı lig için sağlıyor. Her yıl ligin oynanmadığı 6 aylık süreçte ise MLB Amazon’a herhangi bir ödeme yapmıyor.

Lambda heyecan verici yeni bir yaklaşım fakat sihirli bir değnek değil. Onu en basit anlatımla, geleneksel sunuculara ihtiyaç duymayan geliştiriciler için programlarını sunmanın yeni ve kolay yöntemler sunan bir araç olarak tanımlayabiliriz.

Wood ise Lambda’yı kendi sözleriyle şöyle özetliyor: “Lambda geliştiricilerin perde arkasındaki ağır işleri kafalarına takmadan uygulama geliştirmeye odaklan

Yorum Bırak