Openstack Nedir?/ Openstack Servisleri Ne İşe Yarar?

Betül Nur Demirhan
Turk Telekom Bulut Teknolojileri
5 min readJul 18, 2023

Herkese merhaba,

Openstack hakkındaki yazı serimin ilkinde Openstack’ten ve Openstack servislerinden genel hatlarıyla bahsedeceğim.

Öncelikle Openstack nedir, ne için kullanılır bununla başlayalım:

OpenStack; bulut bilişim altyapıları için açık kaynaklı bir yazılımdır. Farklı bileşenleri sayesinde bir çok başlığı tek bir çatı altında toplar. Bunlara hesaplama, ağ, depolama ve diğer bulut kaynaklarının yönetimini örnek verebiliriz. Özel veya hibrit bulut altyapıları oluşturmak isteyen kuruluşlar ölçeklenebilir ve esnek bir şekilde bu kaynakları kullanabilirler.

OpenStack, özellikle yüksek performans, güvenilirlik ve özelleştirilebilirlik gibi özellikleri sayesinde, birçok kuruluş tarafından tercih edilen bir IaaS (Infrastructure as a Service) yani altyapı olarak hizmet aracıdır.

Openstack servislerinin ve bileşenlerinin ilişkilendirilmiş haritası aşağıdaki gibidir:

Openstack’in ne olduğundan bahsettiğimize göre şimdi Openstack servislerinden ve hangi amaçlarla kullanıldıklarından bahsedelim.

İlk olarak;

1) Web Frontend/ Horizon

OpenStack Dashboard’unun diğer bir adıdır ve kullanıcılara bir web arayüzü üzerinden OpenStack platformuna erişme imkanı sağlar. Bu arayüz, kullanıcılara iş yüklerini yönetme, kullanıcı hesaplarını yönetme, sunucuların durumunu izleme ve diğer OpenStack kaynaklarını yönetme gibi işlevleri gerçekleştirme imkanı verir. Horizon aynı zamanda, OpenStack platformunda bulunan diğer bileşenlerle de etkileşime girerek kullanıcılara daha kapsamlı bir yönetim deneyimi sunar.

Bir diğer bileşenimiz;

2) EC2API Proxies

OpenStack platformundaki bileşenler arasındaki iletişimi koordine etmek için kullanılan bir bileşendir. OpenStack’teki bileşenler arasındaki iletişimi optimize ederek, API trafiğini kontrol eder ve dağıtır.

3) Workload Provisioning

Kullanıcıların kaynaklarını kolay bir şekilde talep etmelerini sağlar ve ihtiyaçlarına göre hızlı bir şekilde çalışabilmelerini sağlar.

Bunun da çeşitli bileşenleri vardır:

a. Magnum: Magnum, OpenStack’in konteyner yönetim sistemi bileşenidir. Kullanıcılar Docker, Kubernetes ve Mesos gibi konteyner çözümlerinin oluşturulması, yönetilmesi ve ölçeklendirilmesi için Magnum’u kullanabilirler.

b. Trove: Trove, OpenStack’un veritabanı hizmeti bileşenidir. Trove, kullanıcılar için veritabanı sunucusu oluşturmayı ve yönetmeyi kolaylaştırır.

c. Sahara: Sahara, OpenStack’un büyük veri çözümleri için bir bileşenidir. Hadoop, Spark ve Storm gibi büyük veri çözümlerinin oluşturulması, yönetimi ve ölçeklendirilmesi için kullanılır.

4) Application Lifecycle

Uygulama geliştirme sürecinin her aşamasını destekleyip otomatikleştiren ‘Uygulama Yaşam Döngüsü’ bileşenleri:

a. Murano: OpenStack’ta uygulama yaşam döngüsü yönetimi için bir yazılım kataloğu ve uygulama dağıtım hizmetidir.

b. Solum: OpenStack’ta uygulama geliştirme platformu olarak kullanılır ve geliştiricilerin uygulama kodunu oluşturmasına, derlemesine ve dağıtmasına olanak tanır.

c. Masakari: OpenStack’ta yüksek kullanılabilirlik ve felaket kurtarma için bir hizmettir ve uygulama yaşam döngüsü boyunca, donanım ve yazılım arızalarına karşı yüksek kullanılabilirlik sağlar.

d. Freezer: Openstack’ta kullanılan bir yedekleme ve geri yükleme aracıdır. Freezer, sanal ve fiziksel makine yedeklemeleri yapabilir, veritabanları, dosya sistemleri, uygulamalar ve OpenStack nesneleri gibi birçok farklı kaynağı yedekleyebilir. Yedeklemeleri alınan veriler, dosya sistemi veya nesne depolama gibi çeşitli hedeflerde depolanabilir ve istenildiğinde geri yüklenebilir. Ayrıca Freezer, otomatik planlama ve yürütme gibi bir dizi özellik sunar ve yedeklemelerin durumunu izleyebilir.

5) Orchestration

Karmaşık bulut kaynaklarının otomatik olarak dağıtılması, yapılandırılması ve yönetilmesini sağlayan bir özelliktir. Bileşenleri şunlardır:

a. Heat: OpenStack’ta bulunan bir Orchestration motorudur. Şablon tabanlı yaklaşımı kullanarak, birden fazla kaynak arasındaki ilişkileri tanımlayarak ve uygulayarak uygulama dağıtımlarını otomatikleştirir.

b. Senlin: OpenStack’un otomatik ölçeklendirme hizmetidir. Bu, uygulama ölçeklendirme ihtiyacı olduğunda kaynakların otomatik olarak eklenmesi veya çıkarılması anlamına gelir.

c. Mistral: OpenStack’ta bulunan bir iş akışı yöneticisidir. İş akışları oluşturmak için tanımlayıcı bir dil olan YAML kullanır ve bu iş akışları, birden fazla servisi birleştirerek tek bir işlemi gerçekleştirebilir.

d. Zaqar: OpenStack’ta bulunan bir mesajlaşma servisidir. Uygulamalar arasında asenkron mesajlaşma sağlar. Bu, dağıtılmış uygulamalarda, uygulama bileşenleri arasındaki iletişimi kolaylaştırmak için kullanılabilir.

e. Aodh: OpenStack’ta bulunan bir olay altyapısı hizmetidir. Bu bileşen, çeşitli OpenStack bileşenlerinden gelen olaylar için alarm oluşturmanıza olanak tanır. Örneğin, bir sunucu kaynak tüketim limitini aştığında, Aodh bu durumu algılayabilir ve ilgili eylemi gerçekleştirebilir.

f. Blazar: OpenStack’ta bulunan bir kaynak yönetimi hizmetidir. Bu bileşen, belirli kaynakların kullanımını kontrol etmek için bir arayüz sağlar. Örneğin, bir veritabanı sunucusunun kullanımını kontrol etmek için Blazar kullanılabilir.

Bir diğer servis;

6) Storage

OpenStack Storage, kullanıcılara esnek, ölçeklenebilir ve güvenli bir depolama\yedekleme çözümü sağlamasının yanı sıra farklı depolama teknolojilerini destekleyerek çeşitli kullanım senaryolarına uyum sağlar. Bileşenleri şu şekildedir:

a. Swift: OpenStack’ta bulunan bir nesne depolama sistemidir. Bu bileşen, büyük veri dosyalarını depolamak için kullanılır ve uygulamalar arasında veri paylaşımı yapmak için kullanılabilir. Swift, verileri yüksek ölçeklenebilirlik, dayanıklılık ve düşük maliyetli depolama sağlayacak şekilde yönetir.

b. Cinder: OpenStack’ta bulunan bir blok depolama hizmetidir. Bu bileşen, sanal makineler ve diğer uygulamalar için blok depolama sağlar. Cinder, sanal diskleri, sanal makineleri ve diğer blok cihazlarını yönetir.

c. Manila: OpenStack’ta bulunan bir paylaşılan dosya sistemi hizmetidir. Bu bileşen, uygulamaların birbirleriyle paylaşılan dosyalara erişmesini sağlar. Manila, uygulamaların dosyaları buluta yüklemelerine, bulutta saklamalarına ve bulutta paylaşmalarına olanak tanır.

Bir diğeri;

7) Compute

Kullanıcılara sanal makinelerin oluşturulması, yönetilmesi ve ölçeklendirilmesi için bir hizmet sunan Compute’nin bileşenleri olan:

a. Nova: OpenStack’un hesaplama (compute) bileşenidir. Bu bileşen, kullanıcıların sanal makineler (VM) oluşturmasına, başlatmasına, durdurmasına ve yönetmesine olanak tanır. Nova, VM’leri farklı bilgisayar düğümlerine dağıtarak ölçeklenebilir ve yüksek kullanılabilirlik sağlar.

b. Zun: OpenStack’ta bulunan bir konteyner hizmetidir. Zun, kullanıcıların konteynerleri (Docker, Kubernetes vb.) oluşturmasına ve yönetmesine olanak tanır. Nova’dan farklı olarak, Zun sadece konteynerlerin oluşturulması ve yönetimi ile ilgilenir.

Kullanıcılar için ağ kaynaklarının oluşturulması, yapılandırılması ve yönetilmesi servisi olan Networking’e gelecek olursak;

8) Networking

Farklı sanal ağları ve alt ağları tanımlayarak ağ segmentasyonunu sağlar.

a. Neutron: OpenStack’un ağ (network) bileşenidir. Bu bileşen, kullanıcıların sanal ağlar, alt ağlar, yönlendirme kuralları, güvenlik duvarı kuralları vb. oluşturmasına ve yönetmesine olanak tanır.

b. Octavia: OpenStack’ta bulunan bir yük dengeleyici (load balancer) hizmetidir. Octavia, yük dengeleyici hizmetleri sağlayarak uygulamaların yüksek kullanılabilirliği ve ölçeklenebilirliği için tasarlanmıştır.

c. Designate: OpenStack’ta bulunan bir DNS yönetim hizmetidir. Designate, kullanıcıların DNS kayıtlarını oluşturmasına, yönetmesine ve sorgulamasına olanak tanır.

9) Hardware Lifecycle

Donanımın yaşam döngüsü boyunca geçirdiği aşamaları kapsayan bir kavramdır. Bileşenleri:

a. Ironic: OpenStack’ta bulunan bir donanım yönetim hizmetidir. Bu bileşen, kullanıcıların fiziksel sunucuları yönetmesine olanak tanır. Ironic, bare-metal sunucularının otomatik olarak dağıtılmasını, yönetilmesini ve ölçeklendirilmesini sağlar.

b. Cyborg: OpenStack’ta bulunan bir akseleratör* yönetim hizmetidir. Bu bileşen, farklı akseleratör türlerini (GPU, FPGA, NIC vb.) OpenStack bulutuna entegre etmek için tasarlanmıştır. Cyborg, akseleratörlerin otomatik olarak yönetilmesini ve uygulama performansını artırmak için kullanılmasını sağlar.

[*Akseleratör; bilgi işlem sistemlerinin performansını artırmak için tasarlanmış donanım veya yazılım bileşenidir.]

10) Shared Services

OpenStack platformunda birden fazla projenin paylaştığı ortak hizmetleri sağlar:

a. Keystone: OpenStack bileşenleri arasındaki kimlik doğrulama ve yetkilendirme hizmetlerini sağlar. Kullanıcıların, hizmetlerin ve rollerin yönetimi için bir API sağlar.

b. Placement: OpenStack Compute (Nova) bileşeninin kaynak yönetimini yapar. Fiziksel kaynakları (CPU, bellek, depolama vb.) keşfeder ve bu kaynakları OpenStack Compute (Nova) bileşeni tarafından kullanılabilir hale getirir.

c. Glance: OpenStack Image Service’de kullanılan bir bileşendir. Sanal makineler, disk görüntüleri ve diğer kaynakların depolanması ve yönetimi için bir arayüz sağlar.

d. Barbican: OpenStack bileşenleri arasında kullanılan gizli bilgilerin (örneğin şifreler, sertifikalar vb.) depolanması, yönetimi ve korunması için bir arayüz sağlar.

Tüm bu Openstack servisleri ve servislerin sağladığı olanakların bilgisinden sonra ihtiyacımız olan servis ve bileşenleri seçip projelerimizde kullanabiliriz.

Bir sonraki yazımızda ise Openstack servislerinden Freezer’ı detaylı şekilde ele alacağız.

Sonraki yazıda görüşmek üzere. :)

.

.

[ -Kaynak: https://www.openstack.org/software/ ]

--

--