Sanallaştırma (“Virtualization”) ve Bulut (“Cloud”) Temel Kavramları

Öncelikle sanallaştırma (“virtualization”) dediğimiz zaman neden bahsediyoruzu çok genel olarak ifade etmek istiyorum. Fiziksel olan bir şeyin yazılım tabanlı bir sürümünü oluşturduğumuz zaman, o şeyi sanal hale getirmiş oluyoruz. Örneğin bir grup sunucuyu düşünelim. Bu donanımı, bit ve “byte” larla ifade edilen bir yazılım şekline dönüştürdüğümüz zaman, bu sunucuları sanallaştırmış oluruz. Aynı mantığı depolama birimleri için de kullanabiliriz. Eğer diskleri, kendilerini ifade eden bir yazılım sürümü şeklinde ifade edebiliyorsak, artık elinizde sanal bir depolama birimi var demektir. Elbette aynı anlayışı diğer tüm bileşenlere de uyarlayabiliriz. Sanal sunucuları, sanal depolama birimlerini ve sanal network’ü bir araya getirdiğimiz zaman, elimizde sanallaştırılmış bir altyapı var demektir.
Peki neden sanallaştırma bu kadar hızlı bir şekilde tüm firmalarda yaygınlaşmaya başladı? Sanallaştırmayı çekici kılan en önemli faydalardan birisi, sağladığı maliyet avantajıdır. Elbette maliyet avantajına ek olarak sunduğu verim ve hız da sanallaştırmanın gelişmesine çok fazla katkı sağlamaktadır. Pek çok firmada sanallaştırma nerdeyse bir IT standartı olmak üzeredir. Sanallaştırma yapısının inşa bloklarından biraz da bahsedelim. Sanal altyapının, başlıca inşa bloğu, sanal makinelerdir (“virtual machine”=VM). Sanal makine nedir? VM, Üzerinde kendi işletim sistemini ve uygulamaları sanki fiziksel bir makineymiş gibi çalıştırabilen izole bir yazılım konteyneridir (“container”). Davranışı fiziksel bir makine gibidir. Kendi sanal ana kartını (“motherboard”), BIOS, seri portlar, CD/DVD sürücüler, CPU, RAM, hard disk ve network arabirim kartları ile birlikte içerir. VM’lerin üzerinde çalışan işletim sistemi, bu sistem sanal mı yoksa fiziksel mi gibi bir farkı göremez. VM, kendisinin gerçek bir bilgisayar olduğunu düşünmesine rağmen, yukarda bahsettiğimiz gibi, VM, tamamen yazılım bileşenlerinden oluşan bir yapıdır. VM sistemleri, x86 donanımlar üzerinde de elbette oluşturabilirsiniz. x86 donanımının üzerinde çalışan hipervizor (“hypervisor”) diye isimlendirdiğimiz ince bir katman sayesinde mevcut donanım yukarı katmanda bir yazılım formuna dönüştürülebilir. Donanım yerine işletim sistemi üzerinde çalışan hipervizörlerde mevcuttur. Her iki durumda da hipervizör sanal makineyi oluşturur ve sanal makinenin ihtiyaç duyduğu tüm donanım kaynağını sağlar.
Özet olarak VM’i esas itibarıyla yazılım bileşenlerinden oluşturulmuş bir bilgisayar gibi düşünebiliriz. Kendisi için gerekli tüm sanal donanıma, üzerinde çalışan işletim sistemine ve elbette üzerinde çalışan uygulamalara sahiptir. Kendine ait dosyaları (“files”) vardır. Bu dosyalar, lokal diskler üzerinde, SAN veya NAS tabanlı bir depolama biriminde tutulabilirler. Bu sayede VM’ler oldukça portatiftir. Yani, bir VM’i bir ortamdan başka bir ortama kolaylıkla taşıyabilirsiniz. Rahatlıkla VM’in klonunu (“clone”) çıkarabilirsiniz. Aynı şekilde VM’in yedeğini, cepte taşınabilen USB flash sürücüden Enterprise seviyedeki bir SAN alanına kadar herhangi bir standart veri depolama birimine alabilirsiniz. Genel olarak, hesaplama gücünüzü (“computing”), network’ü ve depolama birimini sanal hale getirdiğiniz zaman sanal bir altyapıdan bahsedebiliriz. Fiziksel altyapının sanallaştırması beraberinde iki önemli kavramı getirir: soyutlama (“abstraction”) ve havuz mantığı (“pooling”). Hipervizör, altyapının fiziksel bileşenlerini soyutlaştırır ve onları sanal bir yapı şekline getirir. Daha sonra bu yapılar bir havuz mantığıyla bir araya getirilir ve uygulamar ihtiyaç duydukça bu sanal kaynakları kullanır. Sonuç olarak iş ihtiyaçları, işletim sistemi veya donanımsal kaynaklardan bağımsız olarak herhangi bir zamanda, herhangi bir yerde herhangi bir hesaplama cihazı üzerinde sağlanır.
Sanallaştırma yapısından bahsetmişken buluttan (“cloud”) dan bahsetmeden elbette olmaz. Bulutu, sanallaştırılmış IT altyapısı olarak düşünebiliriz. Bu öyle bir yapı sunar ki, ölçeklendirilebilir bir IT altyapısında, IT servislerini yönetmek için gerekli taskların otomasyonunu sağlayabilir ve işlerinizi hızlandıran ve verimli hale getiren pek çok self servisi alma imkanına sahip olursunuz. Self-servis ve otomasyon sayesinde iç ve dış müşterilerinize hızlı ve etkin şekilde ihtiyaç duydukları servisleri kısa zaman içerisinde sağlayabilirsiniz. Bir uygulama geliştiricisinin veritabanına ihtiyaç duyduğunu düşünelim. Bu isteğini bir yazılım üzerinden butonlara tıklayarak yaptığını düşünelim. Bu durum ile bir otomatik satış makinesinden kahvenizi almak için butonlara basmanız arasında bir analoji kurabiliriz. Uygulama geliştiricisinin isteği ve isteği sonrasındaki tüm süreç, bulut tarafından otomotize edilir. Bu sayede ihtiyaç duyulan veritabanı, çok kısa zaman içerisinde (dakikalar) uygulama geliştiriciye sağlanmış olur. Görüldüğü gibi bu durum eski günlerde yaşadığımız süreçlerden çok ama çok farklıdır. Uygulama geliştiricisi, IT ile iletişime geçtikten sonra, IT’nin eski yöntemlerle ilgili isteği yerine getirmesi günler veya eger yeni alım gerekiyorsa haftalar sürmekteydi. Bulut sayesinde, ister yeni bir sanal makine isteği olsun, ister mevcut sanal sistemde bellek, CPU disk alanı ihtiyacı olsun, dakikalar içerisinde bu ihtiyaçlar sağlanabilmektedir.
Birazda bulut türlerinden bahsedelim. Üç farklı bulut türünden bahsedebiliriz: “Private”, “Public” ve “Hybrid”. “Private” buluttan bahsettiğimiz zaman , fiziksel ve sanal olarak tamamen izole bir bulut altyapısını işaret ediyoruz demektir. Bulut ortamını, müşteriler kendi ortamlarında oluşturabilecekleri gibi (“on premises”), bulut ortamını bir servis sağlayıcı üzerinden de alabilirler. Her iki durumda da tüm altyapı, diğer herhangi bir iş için kullanılan yapılardan tamamen izoledir. Bu bulut türü en güvenli bulut türü olarak düşünülebilir. Pek çok güvenlik regülasyonu yerine getirmek zorunda olan firmalar bu bulut türünü tercih edebilir.
“Public” bulut türünde ise, bulut altyapısı fiziksel olarak diğer organizasyonlarla paylaşılmış durumdadır. Müşteri, servis sağlayıcıya “public” bulut servisleri için ödeme yapar ve internet üzerinden bu servislere erişim sağlar. “Public” bulutu en ekonomik bulut türü olarak düşünebiliriz. Buna rağmen, “public” bulut, internet üzerinden erişim yapıldığı, kaynaklar fiziksel olarakta diğer organizasyonlarla paylaşıldığı için, “private” bulut kadar güvenli olmayacaktır. Gelelim “Hybrid” bulut türüne, bu bulut türünde, sanal ortamın bir kısmı, “private” bulut altyapısı (fiziksel ve sanal olarak tamamen izole bir ortam) üzerinde yapılandırılırken, bir kısmı da “public” bulut ( bir servis sağlayıcı tarafından sağlanmakta ve diğer organizasyonlarla paylaşılmakta) üzerinde konumlandırılır. Elbette ideal olarak, iş yükleri ihtiyaç duyuldukça “public” ve “private” bulut arasında taşınabilmelidir. Her iki bulut türünü yönetmek için ortak tek bir araç olmalıdır. Bu sayede tüm işlemler, tek parça halinde tek bir merkezden sanki tek bir bulut türü kullanılıyormuş gibi yapılabilir. “Hybrid” bulutun pek çok avantajı vardır. “Hybrid” bulut sayesinde, özel verilerinizi, misyon kritik iş yükünüzü, güvenlik ihtiyaçlarınızı da karşılayacak şekilde “on premises” tutabilir, aynı zamanda ikinic ve üçüncü katman iş yüklerinizi maliyet avantajı da yakalamak için “public” bulut üzerinde tutabilirsiniz. Bu sayede çok yoğun zaman dilimlerindeki ani kaynak ihtiyaçlarını rahatlıkla “public” bulut üzerinden sağlayabilirsiniz.
Biraz da bulut üzerinden ne tür farklı bulut hizmetleri alabiliriz konusunu konuşalım. IaaS (“Infrastructure as a Service”) olarak isimlendirilen bulut hizmeti türünde, IT organizasyonları sanallaştırılmış altyapıyı hizmetini alırlar. PaaS (“Platform as a Service”) bulut hizmeti türünde, uygulama geliştiriciler kendi programları için
platform hizmetini alırlar SaaS (“Software as a Service”) bulut hizmetinde, tüm uygulamanın başka birileri tarafından ev sahipliği yapılır. İlgili uygulamaya bir web tarayıcı “browser” üzerinden erişim sağlanır. “Google Docs”, “Amazon cloud”, SaaS’a örnek olarak verilebilir. DaaS (“Desktop as a Service”) bulut hizmetinde, sanal desktop altyapısı ”public” bulut üzerinden sağlanır. Bu sayede organizasyonun kendi ortamına VDI ortamını kurmasına gerek kalmaz. DraaS (“Disaster Recovery as a Service”), felaket durumunda servislerin yeniden başlatılması
süreçlerini bir bulut servisi olarak alabilirsiniz. Bu sayede organizasyonlar bir felaket durumunda misyon kritik iş yüklerini bulut üzerinden sağlayabilirler. Organizasyonlar, herhangi bir felaket durumunda verilerine ulaşabilecekleri ikinci bir ortama sahip olmuş olurlar.
Buraya kadar sanallaştırma ve bulut yapısının temel bileşenlerini anlatmaya çalıştım. Daha ilerisine geçebilmek için bu temel kavramları bilmemiz önemli olacaktır. Özet olarak, sanal makinelerin, sanallaştırılımış sunucu, network ve depolama birimi bileşenlerinden şekillendirildiğini gördük. Bulut yapısının temel taşının sanallaştırılmış bir altyapı olduğundan bahsettik. Ama bulut için bir adım daha ileri gittik ve otomasyon ve self-servis hizmetlerini sürece ekledik. Farklı bulut türlerini ve sunulan farklı bulut hizmetlerini genel olarak ifade etmeye çalıştık. Sonraki yazımda her bir bulut türü ve bulut hizmetinin piyasada hangi ürünlerle karşılık bulduğunu anlatıyor olacağım. Eminim ki ilerleyen süreçte müşteri ihtiyaçlarına göre yeni bulut hizmeti türleri de oluşacaktır.
Asiye Yiğit – 22 Temmuz 2016
Kaynakça:
Çok açıklayıcı ve detaylı vmware kaynakları için teşekkürlerimi sunuyorum.