OpenStack genellikle “bulut”(cloud) sistemlerinin geleceği olarak adlandırılır. Birlikte OpenStack’in ne olduğuna ve nerelerde kullanılabilceğini inceleyelim.
Nedir bu OpenStack?
Temel anlamıyla, openstack özel ve genel bulut sistemlerinin oluşturulmasını ve yönetilmesini sağlayan bir araçtır. Şuan açık kaynak kodlu olması sebebiyle “topluluk” (community) tarafından geliştirilen OpenStack’in temelleri ilk başta NASA ve Rackspace Hosting tarafından atılmıştır.
Arkasında bulunan şirketlerden anlayabileceğiniz üzre diğer sanal servis ve bulut sistemlerinden üstün ve kompleks bir yapıya sahiptir. Bu sebeple kullanım oranı çok yüksek olmasada büyük şirketler tarafından kullanılmaktadır ve gelişmesine katkı verilmektedir.
OpenStack altyapısını kullanan şirketler ve diğer sanallaştırma altyapılarının kullanım oranı hakkında güncel bilgi aşağıdaki görselde verilmektedir.
OpenStack’in büyük şirketler tarafından neden kullanıldığını anlamak için biraz “Sanallaştırma” altyapılarılarının geçmişine bakmamız gerekiyor.
Gelenekse yöntemlerde bir internet uygulaması geliştiren şirketler uygulamayı özel bir sunucuya dağıtırlardı. Daha sonra uygulama büyüdükçe daha fazla ram,daha fazla cpu ve daha fazla alan gerekeceği için ek paketler almaları gerekiyordu.
Bu sistemlerin yapılandırılması, alan ve performans kaynaklarının optimizasyonunun yapılması uğraştırıcı ve zaman alıcıydı. “Sanallaştırma” kavramı tam bu noktada hayatımızı kolaylaştırdı.
Bir sunucuya “hiper yöneticiler” ekleyerek fiziksel sunucular yerine, sanal sunuculara yük dağıtmak mümkün oldu. Fakat sanal sunucular hayatımıza ilk girdiğinde bile eski fiziksel sunucular şeklinde yönetilmeye çalışıldığı için, sürekli eklenen sanal makinelerin yönetilmesi de gittikçe zorlaşıyordu.
OpenStack çözümü bu noktada karşımıza çıktı. OpenStack tüm hiper yöneticileri ve veri kaynaklarını tek bir çatı altında toplayıp, dağıtılmasını kolaylaştırır daha sonra bu alanların hangi şekilde kullanılacağına siz karar verirsiniz.
Örnek olarak uygulamanız için ayırdığınız alanın bir kısmını farklı amaçlarınız için diğer servislere dağıtıp, birleştirebilirsiniz.
OpenStack’in arayüzü sayesinde tüm bu kaynakları yönetmek oldukça kolay bir hale geldi.
Kısaca bütün sanal makinelerin üstünde bulunan bir katman şeklinde tanımlayabileceğimiz OpenStack, bir arayüz aracılığıyla tüm bu kaynakları yönetmenizi ve yapılandırmanızı sağlar.
OpenStack’in 9 temel bileşeni (API)
OpenStack topluluğu tarafından temel 9 bileşen olarak tanımlanan ve herhangi bir OpenStack sürümüyle beraber gelen 9 adet bileşen vardır.
NOVA (Compute) :
Birincil hesaplama motoru. Ölçeklendirilebilir ve yapılandırılabilir bir düzene sahiptir. Temel yapıyı anlayabilmeniz açısından aşağıdaki görseli sizinle paylaşıyorum.
SWIFT :
Temel depolama sistemi. Optimize edilmiş bir biçimde, yapılandırılmış ve yapılandırılmamış büyük boyutlu verileri depolar ve düzenler.
CINDER :
Kullanıcıların, dosyaların nerede saklandığı bilmese bile ulaşmasını sağlamak amacıyla geliştirilmiş bir arama servisi.
NEUTRON :
OpenStack bileşenlerinin birbiriyle iletişimini sağlayan temel network sistemi.
HORIZON :
Tüm servislerin tek çatı altında yönetilebilmesi için oluşturulmuş grafik arayüzü.
KEYSTONE :
OpenStack üzerindeki tüm kullanıcıların yerlerini ve izinlerini saklayan ayrıca yöneten servis.
GLANCE :
Daha önce oluşturulmuş sanal makine “imajlarını” toplayan, kaydeden ve yöneten bileşen.
CEILOMETER :
Bulut kullanıcılarının fatura hizmetlerini yöneten, izleyen ve raporlandıran servis.
HEAT :
Yapılan bulut tabanlı geliştirmelerinin düzenleme ve başlatma altyapısını düzenleyen sistem.
Özellikle son 10 yılda bulut ve sanallaştırma sistemlerinin kullanımı son derece yaygınlaştı. Bir çok şirket global anlamda OpenStack gibi sistemler sayesinde pazarda rekabet edebilme şansı yakaladı.