Sunucusuz bilgi işlem nedir?
İnternette yaptığımız hemen hemen tüm faaliyetlerin yürütülmesinde var olan bir teknoloji var: bulut bilişim. Bulut depolama, bir kuruluş veya şirket tarafından yönetilen bilgilerin, kendisinin dışındaki ve şirketin kendisinin herhangi bir zamanda ve uzaktan erişebileceği sunucularda depolanmasından oluşur. Örneğin bankacılık bilgilerinize eriştiğinizde farkında olmadan bulut bilişim kullanıyorsunuz.
Bulut bilgi işlem, şirketlere yalnızca daha fazla depolama kapasitesi sağlamakla kalmadı, aynı zamanda bilgi işlem gücü de sağladı. Bu senaryoda, son yıllarda yeni bir bilgi işlem paradigması hakkında da konuşulmaya başlandı: serverless computing veya sunucusuz bilgi işlem. Sanıldığının aksine sunucusuz bir mimari değil, bulut sağlayıcının müşterisi sayılabilecek uygulamaları bulutta dağıtmaktan sorumlu yazılım geliştiriciler (Amazon, Google, Salesforce vb.) ile çalışırken sunucuları yapılandırma veya yönetme konusunda endişelenmemeniz gerekir, çünkü bu görevler bulut sağlayıcı tarafından halledilir.
Sunucusuz bilgi işlem nedir?
Sunucusuz bilgi işlemden bahsettiğimizde, gelecekte uygulamaları bulutta dağıtmanın baskın yolu haline gelmesi muhtemel olan yeni bir paradigmadan bahsediyoruz. Uç bilgi işlem için geçerli olmak, yani işlemeyi verilerin üretildiği yere mümkün olduğunca yaklaştırdığımızda.
Sunucusuz bilgi işlemde, uygulama mantığı, görevlerini yerine getirmek için birbirleriyle ve çeşitli bulut hizmetleriyle (örneğin, depolama hizmetleri) iletişim kuran bir dizi küçük, kısa ömürlü, durum bilgisi olmayan işlevlere bölünür. Günümüzün sunucusuz mimarileri genellikle olay odaklıdır. Bu şekilde, çok çeşitli olayların alınması üzerine işlevler yürütülebilir. Bir veritabanına yeni bir veri eklendiğinde, bir e-posta alırken veya bir sensörden yeni bir ölçüm alırken olduğu gibi.
Sunucusuz bilgi işlem modeli, her uygulamanın tükettiği kaynaklar için bir ödeme şekli sunarak kendisini monolitik sistemlerden ve mikro hizmetlerden ayırır. Kullanıcıların tahsis edilen kaynaklar için (uygulamanın tükettiği kaynaklara bakılmaksızın) sabit bir miktar ödediği önceki bulut modelleriyle tamamen fark edilir bir fark. Ayrıca bu ekosistem kurumun ihtiyaçlarına göre geliştirildiğinden büyük bir sermaye harcaması yapmaya da gerek kalmıyor.
2 sunucusuz bilgi işlem modeli
Bu doğrultuda, sunucusuz yöntemin etkinliği sayesinde, bugün iki tür mimariyi ayırt edebiliyoruz: Function as a Service (FaaS) ve Backend as a Services (BaaS).
- BaaS, üçüncü taraf hizmetler ve uygulamalar aracılığıyla arka uç geliştirmeyi otomatikleştiren bir hizmettir. BaaS’nin arkasındaki ana fikir, mobil ve web uygulamalarının geliştirilmesini kolaylaştırmak ve hızlandırmak için yazılım geliştiricilere bir dizi hizmet ve araç (veritabanları, API’ler, dosya depolama vb.) sunmaktır.
- FaaS, yazılım geliştiricilerin bulutta kendi işlevlerini devreye almalarına ve çalıştırmalarına olanak sağlamaya odaklanan bir modeldir – burada işlevler, BaaS’ta sunulanlar gibi ek hizmetleri de kullanabilir. Şu anda, FaaS en baskın sunucusuz model olarak kabul ediliyor.
Sunucusuz bir bilgi işlem modeli uygulamanın avantajları
Sunucusuz bilgi işlemin uygulanması, kullanıcıya çok sayıda avantaj sunar. Bazılarından yazı boyunca zaten bahsettik, diğerleri ise şunlardır:
- Sunucusuz model, yazılım geliştiricilerin tüm altyapı yönetiminin yanı sıra operasyonel görevleri de bulut sağlayıcılara devrederek uygulamaları için kod yazmaya odaklanmalarına olanak tanır.
- Kullandıkça öde modelini izler, yani yalnızca tüketilen kaynaklara göre ücretlendirilir.
- Sıfırdan neredeyse sonsuza kadar talebi karşılamak için kaynakları yukarı ve aşağı sınırsız, hızlı, otomatik ölçeklendirme sunar.
Sunucusuz bilgi işlemin özellikleri
Sunucusuz modelin handikaplarından biri, işlevlerinin çeşitli kaynaklardan etkinleştirilerek saldırı yüzeyini genişletebilmesidir. Bu mimaride çalışan işlevlerin her biri tek bir görevi yerine getirir ve bu nedenle diğer paylaşılan bulut hizmetleriyle etkileşime girmeye zorlanır ve bulutta hangi işlevlere ve hizmetlere erişebileceğinizi belirten güvenlik politikaları olmasına rağmen her bir işleve Böylesine karmaşık bir ortamda güvenlik politikaları, güvenlik saldırılarına kapı açan yapılandırma hatalarına eğilimlidir.
Sunucusuz bilgi işlemin güvenlik sorumluluklarının çoğu bulut sağlayıcılarına aittir. Oysa yazılım geliştiriciler, uygulama düzeyinde güvenliği sağlamaktan sorumludur. Bu nedenle, onlar için, sunucusuz işlevler yazarken, bunlarda düşmanların saldırı başlatmasına neden olabilecek hata – yazılım kusurları – olasılığını azaltmak için en iyi güvenlik uygulamalarını takip etmek hayati önem taşır.
Ancak bu mimari, örneğin sonsuz döngülere neden olmak için ağ bant genişliğini doyurmayı, birçok ağır bilgi işlem eylemini paralel olarak tetiklemeyi veya uygulama kusurlarından yararlanmayı amaçlayan çeşitli Hizmet Reddi (DoS) saldırılarına karşı daha fazla direnç sunar. Yani, sonsuz tekrarlanan bir döngüyü gerçekleştirmeyi içeren bir başarısızlık, çünkü sona erme koşulu hiçbir zaman karşılanmıyor.
Bu teknolojinin 2014 yılında Amazon Web Services etkinliğinde gün ışığına çıkmasına ve çeşitli bulut sağlayıcılarının sunucusuz platformlar dünyasına girmesine rağmen, daha yapılacak çok iş var. Ana zorluklardan biri, bu modelin güvenliğidir. Buluta yönelik saldırıların artan hacmi ve çeşitliliğiyle, güvenlik ve gizliliğin, ele alınmadığı takdirde sunucusuz bilgi işlemin yaygın olarak benimsenmesini engelleyebilecek önemli bir faktör olacağına inanıyoruz.
Şu an için sunucu olmadan bulutta uygulama geliştirme konusunda bir evrimle karşı karşıya olduğumuzu söyleyebiliriz. Hala araştırılacak, öğrenilecek ve uygulanacak çok şey var. Sunucusuz bilgi işlem, hizmet izleme (QoS), ölçeklendirme ve hata toleransı sahipliği ile ilgili tasarım kararlarının bulut sağlayıcısına devredilmesini gerektiren başlı başına bir zorluktur.