Bulut Bilişim konulu konuşmalarda söze ilk olarak neyle başlanıyor dersiniz? Bulut’un tarifiyle. Ve herkes bir oradan bir buradan başka tarifler bulup, bir de biz bulutu şöyle anlıyoruz diye kendi tarifini koyuyor ortaya.
Bu demek oluyor ki “bulut”, önce adı verilmiş sonra oluşması ve yolda şekillenmesi istenmiş bir sektör cikleti.
Şu an öyle bir süreçteyiz. Herkes elinde ne varsa adına bulut deyip tekrar markalıyor. Migros CIO’su beyefendinin de dediği gibi alelade ürünlerin fiyatını da bulutlara doğru uçuruyor. Bazıları bulut’u, fiyatı uçurmak olarak anlıyor ki bu da mantıklı.
Peki bizce bulut nedir?
Şaka şaka. Yeni bir bulut tanımı yapıp, internete bu zulmü yapmayacağız. Fırçamızla büyük resmin bazı noktalarına dokunarak, bu yazıdaki yolculuğumuzu şekillendireceğiz.
Bulut ve IT Operasyonu
Bulut Bilişim’in odaklandığı en kritik alan, IT’nin operasyonel yükü. Evinizdeki bilgisayarların bile istikrarlı bir şekilde size computing (bilişim) hizmeti vermesi ne kadar meşakkatlidir bilirsiniz. Bir de bunu koca bir müessese için düşünün. Web sitesi, spesifik yazılımlar, veri tabanları, veri ambarları, yedekler, e-mail sunucusu, anlık iletişim, yüksek erişilebilirlik… hepsi sizden “işlem gücü” isteyen aç kurtlar. Bu işlem gücünü istikrarlı ve güvenilir biçimde sağlamak, ayrıca müessesenin büyümesine paralel olarak da büyütmek, bir IT operasyonunun boynunun borcu. Zaten işletmelerdeki bu departmanın olma gerekliliği de bu.
Bulut, IT operasyon ekiplerini optimize etmek için büyük iddialarla çıkıyor karşımıza. Buradaki optimizasyon, operasyon ekiplerinin küçülmesi ve farklı bir şekilde uzmanlaşması anlamına geliyor.
Size enerjisine karışmadığınız, kablosunu söküp takmadığınız, fanının sesini duymadığınız, kapısını kilitlemekle uğraşmadığınız, kiralık hatla beslemediğiniz yeni bir “işlem gücü” vaat ediyor bulut. Uzaklarda bir yerde bilgisayarlardan oluşan münbit bir tarla var ve siz ofisinizde hasat sürüyorsunuz. İstiare yapmıyoruz aslında. Büyük sağlayıcıların veri merkezleri, aynen bizim Anadolu’daki tarlalar gibi geniş düzlüklere inşa ediliyor.

İşin her yerindeki sihirli kelime: verimlilik. Sizin kendi müesseseniz için yapacağınız “işlem gücü” yatırımını normalde bir başka müessese de aynı şekilde yapıyor. Herkes kendi IT altyapısını kurdukça, ortaya inanılmaz bir altyapı faturası çıkıyor. Gelin görün ki bu altyapı, sürekli kullanılmıyor. Belki yapılan yatırımın %40’ı bilemediniz %50’si kullanılıyor. Gündüz kullanılıyor, gece kullanılmıyor. Hafta sonu hiç kullanılmıyor belki.
Biraz garip ama yaptığınız altyapı yatırımı, “yatırım” lafıyla pek örtüşecek bir şekilde kavun gibi yatıyor. Sonra tanıtım filmlerinizde yanıp sönen sunucu ışıkları göstermekten çekinmiyorsunuz. Halbuki o yanıp sönen sunucu ışıkları, çoğunlukla beyhude yere yanıp sönüyor?
Bulut size verimlilik teklifini şöyle yapıyor: Sen bu kadar kavuna yatırım yapma. Bende tahmin edemeyeceğin seviyede “işlem gücü” var. Senin ihtiyacına göre, ihtiyaç duyduğun zamanda, seni bekletmeden - anında (burası çok önemli), ekonomik bir şekilde “işlem gücü”nü ayağına getiririm.
Bu teklifi değerlendirip, karara bağlayacak mevki pek tabî IT operasyon olmayacak.
Yazının rotasını konu başlığına çevirirsek… IT operasyonundaki iş gücünün, kabiliyetleri arasına mutlaka bulut sağlayıcılarla çalışmayı, bulut platformlarını yönetmeyi - tüketmeyi koyması gerekiyor. Çok yakın bir gelecekte Türkiye’de, “AWS Uzmanı” gibi garip pozisyonlara eleman arandığını duyarsanız, şaşırmayın.
Bulut ve Yazılım Geliştirme
Biz geliştiriciler, bu dönüşümden nasıl etkileneceğiz acaba? Bir hasar olacak mı? Olacaksa hasarın şiddeti ne olacak?
Bir kere şunu bilmemiz gerekiyor. Yazılımcının buluta terfi etmesi için “servis”e terfi etmesi gerekiyor. Yani yazılımcı, tüm yazdığını servis yönelimli modelle yazmalı ki bulut terfisine aday olsun. Daha servis aşamasına gelmemiş bir yazılımcı için, buluta geçişten söz edemeyiz. (Dünyanın bir numaralı bulut bilişim sağlayıcısı Amazon Web Services - AWS’nin adındaki “web servisleri” tesadüf mü sizce?)
Tekrar gelelim verimlilik kavramına. Eğer yazılım geliştirici ya da halk arasındaki tabiriyle “coder”, yazılımına esneyebilen (elastic) ve ölçeklenebilen (scalable) bir mimari kazandırabilmelidir ki buluttak işlem gücünü verimli kullanabilsin. İlk başlığımızdaki IT altyapısının verimli kullanılması, yazılan uygulamanın da buna uygun olmasıyla bir anlam kazanıyor. İlginç değil mi?
Şöyle basitçe örnekleyelim. Yoğun işlem gücü gündüz tüketilen bir işletmede, uygulamanın gece çok az kullanıldığını düşünelim. Eğer uygulama, iki katmanlı, yalın bir mimaride ise, gece de gündüz de mecburen neredeyse aynı “işlem gücü”nü ayakta tutmanız gerekecek. Tüm işlemciler, asker gibi dikilecekler gecenin bir yarısı. Peki uygulama, biraz daha sofistike bir biçimde, orta katmanı coşturarak tasarlansaydı ne olurdu? Orta katmandaki işlem gücünü, mesai saatinden sonra güm diye daraltırdık. Ön yüz katmanına da yük dengeleme yaptıysak, onları da azaltırdık. Ayrıca arama, raporlama gibi yoğun işlem gücü tüketecek veri hazırlıkları için de gece belli bir saatte gerekli altyapıyı açar kapatırdık. Orta katmanımızda, hafıza üzerinde çalışan ön bellekleme yapıları kullanarak fiziksel veri katmanımızdaki disk I/O ve işlem gücü maliyetini de düşürürdük.
Tüm bunların hepsi IT operasyoncusunun değil, yazılım geliştiricinin yapacağı şeyler. Yazılım geliştiricinin bulutlu havalara göre uygulama tasarlayabilmesi, geliştirebilmesi, yaşatabilmesi her zamankinden daha önemli hâle geliyor.
Facebook, Twitter veya Tumblr gibi bir uygulama yazmıyor olsanız bile, lokal intranette kullanılacak basit bir iş uygulaması yazıyor olsanız bile… mimarinizi buluta uygun oluşturmalısınız. Uygulamanız her düzeyde bir LEGO parçası olmalı.
Ne yapalım?
- Bulut dönüşümünü çoktan tamamlamış tanınmış projelerin mimarilerini incelemek, ilham almak çok önemli. Çünkü Amerika, keşfedilmekten bıktı.
- Güçlü bir orta katman kurmayı öğrenmeliyiz. Artık veri katmanındaki gövde gösterisinin sonu geldi. Çünkü NoSQL, orta katmanı da veri katmanını da önemli ölçüde rahat ettiriyor.
- Her bir iş için, o işi en iyi yapan teknolojiye, dile veya platforma fırsat vermeliyiz. Özellikle sabit bir “stack”e angaje olmamalıyız. Yani “ben her işimi Microsoft ile görürüm” ya da “ben Java’dan gayrısına çöp derim” gibi bir yola girmeyip, işi ehline devretmeliyiz. Karma ama akıllıca tasarlanmış bir teknoloji yumağından sonra, elinizi öpmek için sıraya girilecektir, şaşırmayın.
Bu iş yazılımcı için de kolay değil. Hatta yazılımcı için daha zor. Ama kolay olan şey ne biliyor musunuz? Motivasyonumuz.
Çünkü bizim ırkımız, yani yazılımcı ırkı, işine kendi kendine en hızlı motive olabilen, müstesna bir ırk.
…
Yolculuğumuzun son durağına geldik. Toparlayalım.
Bizim için şimdiki zaman, bulut nedir zamanı değil. Biz IT insanları, her zaman vatandaşın daha ilerisinde olmalıyız ki vatandaşa kullanacakları ürünü sunabilelim. Bizim için şimdiki zaman, bulut tecrübeleri oluşturma zamanı.
O nedenle IT etkinliklerinde milletin birbirine bulut masalları anlatmayı bırakıp, gerçeğe, geç kaldığımız yere odaklanmasını ve üreteceğimiz noktaya nasıl geleceklerini tartışmalarını temenni ediyoruz.
IT insanları için “bulut nedir” mevzusu kapanmıştır. O “bulut”un içindeyiz artık.