“Cloud Computing” / Bulut Programlama Nasıl Çalışır

NEWS: CloudCamp is going to be in Istanbul/Turkey http://cloudcampturkey.wordpress.com/

Cloud computing/Bulut Programlama dinamik olarak ölçeklenebilir ve çoğu kez sanallaştırılmış kaynakların servis olarak internet üzerinden sunulmasıdır.(1) Cloud/Bulut kelimesi Internet için mecazi anlamda kullanılmış ve bir bilgisayar network diyagramında internetin tarifi ve gizlendiği kompleks altyapının soyut şekli baz alınmıştır.(2)

Cloud computing/Bulut Programlama network üzerinden bilgisayarınızdaki dosyalara ulaşmanızı sağlar.  Bu gerçekten kullanışlı, ama karşılığında nelerden vazgeçmelisiniz? 

­Diyelim ki büyük bir şirkette yönetici olarak çalışıyorsunuz. Sorumluluğunuzun belirli bir kısmı tüm çalışanlarınızın işlerini yapabilecek doğru donanım ve yazılıma sahip olduğundan emin olmaktır. Herkese bir bilgisayar almak yeterli olmayacaktır, çalışanlarınız için gerekli olan yazılım ya da yazılım lisanları almanız gerekecektir. Ne zaman yeni biri işe başlasa, elinizdeki yazılımın tüm kullanıcıları da kapsadığından emin olmak için yazılım ya da lisansını almanız gerekecektir.
null
Tipik bir “Cloud computing”/Bulut Programlama sistemi­

Yakında, sizin gibi bir yöneticiye alternatif olacaktır. Her bilgisayara yazılım takımı yüklemek yerine, tek bir uygulama yüklemeniz yeterli olacaktır. Bu uygulama kullanıcıların işleri için gerekli tüm yazılımları barındıran Web-tabanlı servise oturum açmalarını sağlayacaktır.  Farklı şirketlerin sahip olduğu uzak makineler e-postadan kelime işleme, kompleks veri analiz yazılımlarına kadar her şeyi çalıştırabilecektir. Bu “cloud computing”/bulut programlama olarak adlandırılır ve tüm bilgisayar endüstrisini değiştirecek güce sahiptir.

Bir bulut gibi yalnız hesapladım

Bulut programlama, bilgisayar biliminin yeni gelişen bir alanı olmasına rağmen bu fikir birkaç senedir bilinmektedir. Bulut Programlama denmesinin sebebi veri ve uygulamaların Web sunucuları “bulut” unda var olmasıdır.

“Cloud computing”/Bulut Programlama sisteminde iş yükü değişimi önemlidir. Uygulamaları çalıştırmak için yerel makineler artık ağır işleri yapmak zorunda değiller. Yerine bilgisayar network’ ünden oluşmuş bulut bu ağır işleri üstlenir. Kullanıcı tarafında donanım ve yazılım sayısının azalmasını sağlar. Kullanıcı bilgisayarının ihtiyacı olan Bulut Programlama sisteminin Web tarayıcı kadar basit olan arayüz yazılımını çalıştırmaktır, geri kalanı “Cloud computing”/Bulut Programlama halleder.

Bir şekilde, hali hazırda Bulut Programlama kullanıyor olma şansınız var. Eğer web tabanlı e-posta servis sağlayıcıdan bir e-posta hesabınız varsa- Hotmail, Yahoo! Mail yada Gmail gibi- Bulut Programlama deneyiminiz var demektir. Bilgisayarınızda bir e-posta yazılımı kullanmak yerine, web e-posta hesabınıza uzaktan bağlanırsınız. Yazılım ve depolama kendi bilgisayarınızda değil, bilgisayar bulutundaki servisler üzerindedir.

Cloud Computing/Bulut Programlama Mimarisi

“Cloud computing”/Bulut Programlama sistemden bahsederken, ön uç ve arka uç olarak 2 kısma ayırmak faydalı olacaktır. Birbirlerine network üzerinden, genellikle internet üzerinden bağlıdırlar. Ön uç kullanıcı bilgisayarı ya da kullanıcının gördüğüdür.Arka uç ise sistemin “bulut”  kısmıdır.

Ön uç, kullanıcı bilgisayarını (ya da bilgisayar network’ ünü) ve Bulut programlama sistemine erişimi sağlayacak uygulamayı kapsar. Tüm bulut programlama sistemleri aynı kullanıcı arayüzüne sahip değillerdir. Web tabanlı e-posta yazılımları gibi servisler Internet Explorer veya Firefox gibi web tarayıcılara eğilimlidirler. Diğer sistemler kendine has yazılımlarla kullanıcılarına network bağlantısı sağlarlar.

Sanal olarak sunuldunuz

Çoğunlukla sunucular tam kapasite çalışmazlar. Bu kullanılmayan işlemci gücünün israfı demektir. Fiziksel bir sunucuyu hepsi ayrı bir işletim sisteminde çalışan birkaç sunucu olduğuna inandırmak, kandırmak mümkündür. Bu teknik sunucu sanallaştırması olarak adlandırılır. Sunucu sanallaştırma ferdi sunucuların randımanını artırırken daha fazla fiziksel makine ihtiyacını azaltır.

Sistemin arka ucu, bilgisayar servisleri “bulut” unu oluşturan sunucular ve veri depolama sistemleri gibi çeşitli bilgisayarlardan oluşur. Teoride, bilgisayarlar bulut sistemi veri işlemeden tutun video oyunlarına kadar düşünebileceğiniz her türlü yazılımı içerirler. Genellikle, her yazılımın kendine ayrılmış sunucusu vardır.

Bir merkez sunucu sistemi yönetir, kullanıcı isteklerini ve trafiği izleyerek her şeyin düzgün çalışmasını sağlar. Bu sunucu kurallara – protocols – uyar ve özel bir yazılımı – middleware – kullanır. Middleware network üzerindeki bilgisayarların birbirleriyle iletişimini sağlar.

Cloud computing/Bulut programlama kullanan şirketin çok fazla kullanıcısı varsa, bir o kadar depolama ihtiyacı olacaktır. Bazı şirketler için yüzlerce dijital depolama aygıtına ihtiyaç vardır. Cloud computing/Bulut programlama sistemleri tüm kullanıcı bilgilerini saklamak için gerekli olan depolama aygıtlarının en az iki katı kadarına ihtiyacı vardır. Çünkü bu aygıtlar bilgisayarlar gibi arasıra bozulurlar. Bulut programlama sistemleri kullanıcıların bilgilerinin bir kopyasını başka bir aygıtta saklarlar. Kopyalar merkez sunucunun backup makinelerine ulaşıp verileri çekmesini sağlar, yoksa ulaşılmazlar. Backup olarak verinin kopyalanmasına yedeklilik – redundancy denir.

Grids/Klavuzlar, Bulutlar ve Utilities/ Hizmet programları, bunlar nedir!

Bulut programlama grid computing/Klavuz programlama ve utility computing/Hizmet programları ile yakından bağlantılıdır. Grid computing sisteminde, network’e bağlanmış bilgisayarlar network üzerindeki tüm bilgisayarlardaki kaynaklara ulaşıp kullanabilirler. Bulut programlama sistemlerinde, bu sadece arka uç için geçerlidir. Utility computing ise bir şirketin diğer şirkete veri depolama veya bilgisayar uygulamalarına ulaşmak için para ödediği bir iş modelidir.

Bu fikir genellikle aşağıdakilerin kombinasyonu olarak düşünülür:

  • Altyapının servis olarak sunulması (infrastructure as a service (IaaS) )
  • Platformun servis olarak sunulması (platform as a service (PaaS) )
  • Yazılımın servis olarak sunulması (software as a service (SaaS) )
  • Yakındaki diğeri (ca. 2007–2009)(3)(4) Internet tabanlı teknolojiler kullanıcıların ihtiyaçlarını yazılımsal karşılamak durumundadırlar. Cloud computing servisleri çoğu kez alışılmış web tarayıcı ile ulaşılabilen çevrim içi olan işle ilgili yazılımların ve verilerin sunucularda saklanmasını sağlar.

Bulut Programlama Uygulamaları

null
“Cloud computing”/Bulut Programlama uygulamaları hakikaten sınırsızdır. Doğru “middleware” yazılımıyla bulut sistemi tüm programları normal bilgisayarın çalıştırdığı gibi çalıştırabilir. İmkan dahilinde, sosyal kelime işlem yazılımdan özel bir firma için yazılmış özel bilgisayar yazılımına kadar her şey bilgisayar bulut sisteminde çalışabilir.

Bulut sisteminde kim kimdir

Bulut sistemiyle ilgili araştırma yapan bazı şirketler bilgisayar endüstrisinde büyük isimlerdir. Microsoft, IBM ve Google milyonlarca doları araştırma için harcıyorlar.

Neden yazılımları çalıştırmak ve veri depolamak için başka bilgisayar sistemine güvenmek istesinler? İşte size birkaç sebep:

  • Kullanıcılar istedikleri yazılıma ve verilere istedikleri zaman ulaşabilirler. “cloud computing” /bulut programlama sistemine bağlanmak için internete bağlı herhangi bir bilgisayarı kullanabilirler. Veri kullanıcının bilgisayarındaki ya da şirketin iç network’ ünde bir diskle sınırlı değildir.
  • Donanım maliyetlerini düşürür. “Cloud computing”/Bulut programlama sistemleri kullanıcı tarafında ileri donanım ihtiyacını ortadan kaldırır. Hafızası yüksek hızlı bilgisayar alma ihtiyacınız yoktur, çünkü bulut sistemi bu ihtiyaçları sizin için karşılar. Tam tersine ucuz bir terminal alabilirsiniz. Bu terminal, bir monitör, klavye ve mouse gibi giriş birimleri ve bulut sistemine bağlanmayı sağlayan middleware yazılımlarını çalıştırmak için gerekli işlem gücü yeterlidir. Büyük sabit disk ihtiyacınız olmayacaktır, çünkü tüm bilgilerinizi uzaktaki bilgisayarda depolayacaksınız.
  • Şirketler hedeflerine ulaşmak için bilgisayarlarında doğru yazılımın çalıştığına emin olmak isterler. Bulut Programlama sistemleri bu organizasyonlara şirket genelinde bilgisayar yazılımlarına erişim sağlarlar. Şirketler her çalışanları için bir takım yazılım ya da yazılım lisansları almak zorunda değillerdir. Tam tersine, şirket “cloud computer” sistemini uygulayan bir başka şirkete ölçülü ücret ödeyebilir.
  • Sunucular ve dijital depolama cihazları yer tutarlar. Bazı şirketler yerleri olmadığı için sunucuları ve veritabanları için fiziksel alan kiralarlar. Bulut programlama bu şirketlere ön uçtaki fiziksel alan ihtiyacını gidererek, başkasının donanımları üzerinde verileri saklama opsiyonu sunar.
  • Şirketler bilişim desteği konusunda tasarruf ederler. Uyumlu donanım teoride heterojen makinelerden ve işletim sistemlerinden oluşmuş bir network’ ten daha az problem çıkarır. 
  • Eğer  “cloud computing”/Bulut programlama sisteminin arka ucu grid computing/kılavuz programlama sistemiyse, kullanıcı tüm network’ ün işletim gücünü kullanma avantajını yakalar.  Sıklıkla, bilim adamları ve araştırmacılar tek bir bilgisayarın çözmek için senelerce uğraşacağı kompleks hesaplamalarla uğraşırlar. Grid computing sisteminde, kullanıcı hesaplamayı çözülmek üzere buluta yollar. Bulut sistemi arka uçtaki tüm erişilebilir bilgisayarların işlem gücünden faydalanarak hesaplamayı önemli ölçüde hızlandırır. 

Eskiden olduğu gibi

Cloud computing/Bulut programlama ev bilgisayarlarını basit terminal arayüzüne çevirebilir. Bir bakıma bu geriye doğru bir adımdır. Başlangıçta bilgisayarlar değiştirilemez, donanımla bütünleşik kullanıcı terminalleriydi. Her terminalin bir monitörü ve klavyesi vardı, ama sadece anabilgisayara bağlanmaya yararlardı. Terminal üzerinde veri saklama imkanı yoktu.

Bulut programlama Kaygıları

Cloud Computers/Bulut bilgisayarları ve Bulut programlama uygulamalarının 2 karakteristik özellikle çalıştığını fark ettim. Esnektirler ve istenildikleri anda ulaşılabilir durumdadırlar. Esneklik istek anında ya da otomatik olarak kapasiteyi düşürebilmek ya da yükseltebilmektir. Yüksek erişimli olmak açık olarak; bir yazılım ya da donamım öğesinin kaybı anında uçtan uca sistem mimarisinin çökmemesi ya da söz konusu servisin devre dışı kalmaması, kalitesinin düşmemesidir. Esneklik ve erişebilirlikle ilgili problemler çözmesi zor problemlerdir.  Günümüzde hiç kimse bu problemleri tam olarak çözememektedir.

Bulut programlama ile ilgili belki de en büyük kaygılar Security/Güvenlik ve Privacy/Gizlilik  tir. Önemli verilerin başka bir şirket tarafından idare edilmesi fikri bile bazı yöneticileri endişelendirmektedir. Şirket yöneticileri Bulut Programlama sisteminin avantajlarını kullanmakta tereddüt edebilirler, çünkü kendi şirketlerine ait bilgileri kilitleyemez, kilit altında tutamazlar.

Bu posizyonun karşı görüşü ise, Cloud Computing/Bulut programlama servisi veren şirketler itibarları ile sağ kalabilirler. Bu, bu şirketlere sağlam güvenlik önlemlerine sahip olma fayda sağlar. Yoksa, servis tüm kullanıcılarını kaybeder. Müşterilerinin verilerini korumak için gerekli en ileri teknikleri kullanmaları kendi yararlarına olacaktır.

Gizlilik ise diğer konudur. Eğer bir müşteri herhangi bir yerden verilerine ve yazılımlarına bağlanabiliyorsa, müşterinin gizliliğinin ihlal edilmesi muhtemeldir. Cloud computing/Bulut programlama şirketleri müşterilerinin gizliliğini koruma yollarını bulma ihtiyacındadırlar. Bir yol, kullanıcı isimleri ve şifreler gibi kimlik doğrulama/authentication tekniklerini kullanmaktır. Diğer yol ise, her kullanıcının işinin gerektirdiği verilere ve yazılımlara ulaşmasını sağlayacak kimlik doğrulama/ authorization  formatı oluşturmaktır.

Özel gözler sizi izliyor

Cloud computing/Bulut programlama şirketlerinin başını ağdırtacak birkaç standart hacker hileleri vardır. Bunlardan bir tanesi klavye tuşlarını kaydeden key logging programlarıdır. Eğer bir hacker kurbanının bilgisayarına bir key logging programı yüklemeyi başarırsa, kaydedilmiş olan tuş bilgilerini inceleyerek kullanıcı isimlerini ve şifreleri elde edebilir. Tabi ki, kullanıcının bilgisayarı uygun bir terminalse bu yazılımı kurmak mümkündür.

Bulut programlama ile ilgili bazı sorular psikolojik sorulardır. Cloud computing/Bulut programlama servisi kullanan kullanıcılar veya şirketler verinin sahibi midirler? Depolama alanı sağlayan Bulut programlama sistemi mi sahibidir? Bir bulut programlama şirketinin kullanıcının verisine ulaşmasını engellemesi mümkün müdür? Çeşitli şirketler, avukatlık ofisleri bunlar ve bunlara benzer cloud computing tabiatıyla ilgili soruları tartışmaktadırlar.

Bulut programlama diğer sektörleri nasıl etkileyecek? Bilgisayar bakım ve tamir işlerinin Bulut programlamadan nasıl etkileneceği konusunda büyük kaygılar mevcut. Eğer şirketler, Cloud computing/Bulut programlama servislerinden faydalanma yolu seçerlerse, daha az bilişim ihtiyaçları olacaktır. Bazı sektör uzmanları bilişim işlerine olan ihtiyacın cloud computing sisteminin arka ucuna kayacağını söylüyorlar.

Otonom Bilgisayar sistemleri

Bilgisayar bilimleri camiasının bir diğer araştırma konusu ise autonomic computing dir. Bir otonom bilgisayar sistemi kendini yönetir ki bu sistemin kendisini gözlemlemesi ve çıkacak problemleri önlemesi ya da çıkan problemleri kendisinin çözmesi demektir. Şu an, otonom bilişim teoridir. Ama, eğer otonom bilgisayarlar gerçeğe dönüşürlerse, bakım işlerine ihtiyaç kalmayacaktır.

Ülkemiz de Cloud Computing/Bulut programlama konusunda gerekli atılımları yapmada geç kalmamalıdır. Yerel yazılım şirketlerinin, yerel sektördeki bilgi birikimini göz önüne alarak, ekonomideki daralmayı da görerek diğer sektörlere destek amaçlı Cloud Computing/Bulut programlama servisleri verebilmek üzere gerekli altyapıyı kurmaları gerektiğine inanıyorum.

**********************************************************************************

Jonathan Strickland ‘ın http://communication.howstuffworks.com/cloud-computing1.htm web sayfasındaki yazısının tercümesidir.  Ayrıca, http://www.productionscale.com/home/2008/8/21/cloud-computing-back-down-to-earth.html, http://en.wikipedia.org/wiki/Cloud_computing adreslerinden faydalanılmıştır.

  1. ^ André B. Bondi, ‘Characteristics of scalability and their impact on performance’, Proceedings of the 2nd international workshop on Software and performance, Ottawa, Ontario, Canada, 2000, ISBN 1-58113-195-X, pages 195 – 203
  2. ^ a b The Internet Cloud
  3. ^ Williams, John M.; Chris Sears (2008-12-31). “Who Coined the Phrase Cloud Computing?” (in English). http://www.johnmwillis.com/cloud-computing/who-coined-the-phrase-cloud-computing/. Retrieved on 2009-03-03. 
  4. ^ Anita Campbell (2008-08-31). “Cloud Computing – Get Used to the Term” (in English). The App Gap. http://www.theappgap.com/cloud-computing-get-used-to-the-term.html. Retrieved on 2009-03-03.
Advertisements

1 Comment

  1. These new age workstations don’t websotre anything on the hard drive, they just come in contact with the data and applications which are already . Anyone might have a qualified IT source right at your hands and fingers.


Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • PayDeg

    PayDeg
  • Roll Out Cloud

    Roll Out Cloud