Merhaba;

COVID-19 salgınının tüm dünyayı etkilediği bu günlerin en kısa zamanda geçmesi dileğiyle yazıma başlamak istiyorum. Tekrar sağlıklı, huzur dolu, mutlu günlerimizin tüm insanlık için  tez vakitte gelmesini istiyorum.

Bugün size “OpenStack Platform”dan bahsediyor olacağım.

Ben daha öncesinden “OpenStack”in geçmişini bilmediğim için benim çok ilgimi çekti. Bu bilgiyi size de aktarmak istiyorum. NASA, yüksek çözünürlüğe sahip imajlarını depolamak için Google, Microsoft veya Amazon’a ihtiyaç duymadan kendi çözümünü oluşturmak istiyor. NASA ve bu projede çalışan zeki bir ekip, NASA Nebula olarak isimlendirdikleri dağıtık hesaplama ortamını  (“Distributed Computing Environment”) oluşturuyorlar.  Bu çalışma ve emeğin en kritik bileşeni, Nova olarak isimlendiriliyor. NASA, işleme gücü ortamı sağlayan Nova için katkıda bulurken, Rackspace, depolama kapasitesi sağlayan Swift için katkı sağlıyor. Nova, Amazon EC2’ya benzerken; Swift, Amazon S3’ benzer bir yapı olarak ortaya çıkıyor. NASA, Rackspace ve özgür düşünen bir grup zeki insan sayesinde, Nova, Temmuz 2010’da “OpenStack” ismiyle yeni serüvenine başlıyor. 3 yıl içinde, OpenStack, 200’den fazla firmanın ilgisini çekiyor. https://www.openstack.org/foundation/companies sayfasından platin ve altın sponsor bilgilerine ulaşabilirsiniz. https://www.openstack.org/user-stories sayfasından OpenStack kullanıcılarının etkileyici hikayelerini okuyabilirsiniz. Bu hikayelerin kahramanlarında kimler yok ki? Walmart, CERN, T-Mobile, Oath/Yahoo, American Airlines ve elbette daha pek çoğu…

“OpenStack”,  ölçeklenebilir güçlü bir bulut işletim sistemi yapısı (IaaS) oluşturmak için pek çok açık kaynak teknolojisinden oluşan bir platformdur. Proje listesine https://github.com/openstack adresinden ulaşabilirsiniz. OpenStack, açık kaynak olmasının yanında, nerdeyse tamamen Phyton diliyle yazılmış, modüler, dağıtık, konfigüre edilebilir, özelleştirilebilir, entegre edilebilir, güçlü, ölçeklenebilir bir IaaS platform’udur.

“OpenStack”’in güçlü bir IaaS ortamı sağlayacak şekilde pek çok teknolojiden oluştuğunu ifade etmiştim. Bu servisler nelerdir? Identity Service (Keystone), Compute Service (Nova), Image Service (Glance), Dashboard (Horizon), Object Storage (Swift), Block Storage (Cinder), Network Service (Neutron), Orchestration Service (Heat), Metering Service (Celiometer).

No alt text provided for this image

OpenStack platformunu daha iyi anlayabilmemiz için bazı ana terimlerin ne anlama geldiğini öğrenmemiz gerekiyor. “User”, “credentials”, “authentication”, “token”, “tenant”, “service”, “endpoint”, “role”.

“User”: OpenStack bulut servislerini kullanan kişi, sistem veya servisin dijital ifadesidir.

“Credentials”: Kullanıcının kimliğini doğrulayan veridir. Örneğin, kullanıcı ismi ve şifresi, kullanıcı ismi ve API anahtarı veya “identity” servisi tarafından sağlanan kimlik doğrulama “token”ı olabilir.

“Authentication”: Kullanıcının kimliğini doğrulama sürecidir.

“Token”: Kimlik doğrulama sürecinde kullanıcı “token” alır. “Token”, alfa-sayısal metin dizisidir. OpenStack API ve kaynaklarına erişmek için kullanılır. “Token” iptal edilebilir ve sınırlı bir zaman için geçerlidir.

“Tenant”:  Kaynakları gruplamak veya izole etmek için kullanılan konteynerdir. Kimlik nesnelerini de gruplamak veya izole etmek için kullanılır.

“Service”: Nova, Swift, Glance gibi OpenStack servisleridir. Kullanıcıların kaynaklara erişebilmeleri ve operasyon yapabilmeleri için bir veya birden fazla uç nokta sağlar. “Keystone” kurulumundan sonra, komutlar çalıştırılarak bu servisler, “keystone”a kayıt edilir.

“Endpoint”: Servise erişim yapabilmeniz için network üzerinden ulaşılabilir bir adresdir. Genellikle bir URL adresidir.

“Role”: Belirli operasyonları yapmak için tanımlanan haklar ve imtiyazlarla oluşturulan “kişilik”tir.

Şekil 1’de OpenStack’in genel mimarisini görebiliriz. Internet’i kullanarak, CLI, bulut Yönetim araçları, GUI araçları vasıtasıyla OpenStack servislerine ulaşabilirsiniz.

No alt text provided for this image

Şekil 1. OpenStack genel mimarisi.

OpenStack’i anlamak için oluşturacağımız tipik bir PoC ortamı hangi bileşenlerden oluşur? Şekil 2. bize basit bir PoC ortamı için bileşenleri göstermektedir. Elbette üretim ortamınız için detaylı ölçeklendirme çalışması yapılması gerekmektedir. Şekil 2’de gösterilen bileşenleri, ürünleri öğrenmek için kendi ortamınızda kuracağınız basit bir PoC yapısı olarak düşünün.

No alt text provided for this image

Şekil 2. Basit bir PoC ortamı için OpenStack kurulumu bileşenleri.

Şekil 3’de “node”lar üzerinde servislerin ne şekilde dağıtabileceğini görebiliriz.

No alt text provided for this image

Şekil 3. Servislerin “node”lar üzerinde dağılımı.

OpenStack ile ilgili yazacağım ikinci bölümde kurulum yaparak servislerin her birini daha detaylı olarak inceleyeceğiz.

Yararlandığım Kaynaklar:

Udemy Training: OpenStack: Public & Hybrid IaaS Cloud with OpenStack – Manuj Aggarwal

https://www.slideshare.net/sliderakrup/openstack-introduction-dr-dobbs-conference-bangalore-12-042014