
Openstack ile Kendi Özel Bulutunuzu Kurun!
Spektrum

Kaynak: http://cloudblueprint.wordpress.com/cloud-taxonomy/
IaaS ( Infrastructure as a Service )
Providers: Amazon EC2, Rackspace, Google, Joyent, HP Cloud, Microsoft Azure
PaaS ( Platform as a Service )
Amazon, Heroku, Google, Microsoft Azure
SaaS ( Software as a Service )
Salesforce, Google, Cisco, Symantec, Dropbox
OpenStack ne değildir?
-
Hypervisor değil
-
Tek bir açık kaynak kodlu proje değil
-
Veri depolama platformu/ünitesi hiç değil
-
Ağ sanallaştırması yapamıyor-du
- Yarıda kalmış bir proje değil ( ekim 2013 son sürüm )
Peki, OpenStack nedir?
- Bulut bilişim teknolojilerinin(hesaplama, veri depolama, ağ vb.) bütünleşik olarak sunulduğu bir altyapı.
- Geleneksel hypervisor'leri(KVM, Xen, ESXi, Hyper-V, Docker vb.) destekliyor.
- Temmuz 2010'da ilk kararlı sürümü NASA ve Rackspace kurumlarının ortak çalışmasıyla çıkıyor.
- Python ve Django kullanılıyor.
- Apache 2.0 lisansı ile sunuluyor.
- OpenStack Foundation tarafından destekleniyor.
- Servislerinin tamamı RESTful API sağlıyor.
Neden OpenStack?
-
Profesyonel iş dünyası Amazon ve VMware alternatifini arıyor.
- Cloud doğası gereği açıktır, açık olmalıdır.
- Hızlı geliştiriliyor.
- Temel mimari oldukça etkileyici.
- ~2K geliştirici, ~12K destekleyici, 56 ülke, 2K destekleyen şirket, OpenStack Foundation.
- Geliştirme süreçlerinde şeffaf ve açık bir yönetim biçimi bulunuyor, geribildirimlere önem veriliyor.
- Ölçeklendirmeye müsait ve oldukça basit.
- Public, Private, Hybrid modellerde çalışabilir durumda.
Rakip Karşılaştırması
-
Tamamen ücretsiz!
- Tamamen açık kaynak kodlu projelerden oluşuyor.
- Geniş destekleyici kitlesi
- Tam anlamıyla orkestrasyon yapılabiliyor.
- Otomatik ölçeklendirme ve büyüme senaryoları başarılı.
- Compute, Storage, Networking tarafında destek çok fazla.
- Private Cloud piyasasını kızıştırıyor.
- Standartları belirlemede önemli bir proje.
- Amazon web servisleri ile tam uyumludur.
- vs. vs.
Dezavantajlar
- Kurumsal özellikleri henüz yeterli değil.
- Kurulumu ve konfigürasyonu zor olabiliyor.
- Kurulum işlemleri zaman alabiliyor.
- Yedekli olmayan mimarilerde yarı yolda bırakabilir.
- Doğrudan kurumsal destek yok. ( Sadece distribution yapan firmalarda mevcut )
- Sürekli güncellenen yazılımın doğasından gelen güncel kalma endişesi ve uyum problemleri.
- Donanım üreticileri henüz OpenStack Ready veya Fully Supported olayına girmediler.
- Türkiye'de uygulama ve destek veren kurum bulmak zor.
Gerçek Dünya'da OpenStack
Rackspace Cloud ( Tüm servis ve müşteriler )
NASA ( Nebula )
CERN ( 3400 Fiziksel Node, 3 Cloud, 60K Core, 2015'te 300K Core )
Cisco ( Önemli bir üye, Webex )
Intel ( Windows uygulamalarının ölçeklendirilmesi )
HP Cloud ( Tüm servis ve müşteriler )
DreamHost ( IaaS altyapısı )
RedHat ( Fully Supported)
DELL ( OpenStack tabanlı projeler )
PayPal ( 117 milyon üyenin büyük bir çoğunluğu OpenStack üzerinde )
AT&T ( Large scale projeler )
OpenStack'te neler dönüyor?
OpenStack'te neler dönüyor?
Kaynak: http://ken.pepple.info/
OpenStack IaaS Bileşenleri
-
Compute ( Nova )
-
Networking ( ex-Quantum, Neutron )
-
Identity Service ( Keystone )
-
Image Service ( Glance )
- Object Storage ( Swift )
- Block Storage ( Cinder )
- Dashboard ( Horizon )
- Orchestration ( Heat )
- Metering ( Ceilometer )
Compute ( Nova )
- Hypervisor ile doğrudan konuşan servistir.
- Kullanıcıdan gelen instance taleplerini hypervisor'e iletir.
- KVM, XEN, ESXi, LXC, Docker gibi birçok hypervisor'u destekler.
- Instance için gerekli CPU, Memory, Disk, Network tanımlamalarını gerçekleştirir.
- Dağıtık ve asenkron çalışır.
- Canlı sanal instance yönetimini(oluştur, başlat, durdur, yedekle vb.) gerçekleştirir.
- Asenkron ve dağıtık çalışır.
Networking ( Neutron )
- Instance'a kendisinin yönettiği DHCP servisinden IP tahsis eder.
- Open vSwitch veya Linux Bridge yönetimini yapar.
- Floating(Public) IP tanımlaması yapar.
- Farklı VLAN'lar arası trafik geçişini ve routing işlemlerini yapar. L2 ve L3 subnet tanımlaması yapar.
- Kullanıcıdan gelen IP ve filtreleme isteklerini gerçekleştirir.
- Birçok üreticinin desteklediği SDN'i(*) destekler. Bu sayede network cihazları aptallaşabilir.
- Büyük ölçekli, yedekli ve multi tenant yapıda Cloud kurmaya imkan tanır.
- LBaaS, FWaaS, VPNaaS gibi ekstra özellik ve fonksiyonalite sağlar.
*: (Software-defined Networking)
Identity Service ( Keystone )
- Merkezi olarak kullanıcı ve sistem politikalarını denetler.
- Kullanıcı ve sistemler arasında kullanıcı yönetimi, izin yönetimi, erişim yönetimi ( RBAC ) yapar.
- RESTful API üzerinden gelen doğrulama isteklerini karşılar.
- Varsayılan kurulumda kullanıcılar MySQL üzerinde tutulur, ancak LDAP, SSO gibi gelişmiş doğrulama protokollerini de destekler.
- Instance'lara erişmek için kullanılan PEM dosyalarını yönetir.
Image Service ( Glance )
- Instance üzerinde disk(raw, wmdk, qcow2, vdi, vhd vb.) ve sunucu imaj(iso, tar) yönetimini gerçekleştirir.
- Canlı olarak instance kopyasını alabilir, geriye yükleyebilir, klonlayabilir.
- Arka planda OpenStack'in Object Storage servisini kullanarak ilgili disk ve imajları yetkilendirebilir.
- Yönetici veya kullanıcılar disk şablonu oluşturabilir, yeniden kullanabilir.
- Sınırsız sayıda yedek alabilir, programlanabilir.
Object Storage(Swift)
- Kullanıcıların herhangi bir instance kurmasına gerek duymaksızın Object Storage görevini üstlenebilir.
- Büyük ölçekli, yedekli, ölçeklenebilir durumdadır.
- Petabyte'larca objeyi handle edebilir.
- Geleneksel filesystem yapısına sahip değildir.
- Dağıtık veri depolama sistemi sağlar. İmaj, disk, fotoğraf, statik içerik, yedek veya arşiv gibi dosyaları tutabilir.
- Merkezi bir beyin veya kontrol noktası yoktur. Bu nedenle dağıtık, ölçeklenebilir, dayanıklı ve yedekli durumdadır.
- Obje ve dosyalar Cloud'a dahil olan sunucuların farklı disk veya disk gruplarına yazılır.
- Replikasyon ve bütünlüğü sağlar.
- Storage kümeleri kolaylıkla yatayda büyüyebilir. Erişilemeyen küme elemanlarının yerine farklı elemanlara trafik gönderilir.
Block Storage(Cinder)
- Sistemde varolan veya yeni açılmak üzere olan instance'lara ekstra disk sağlar.
- Eklenen disk instance'a hot-swap olarak bağlanır. Kullanıcı ilgili disk veya grubunu anında kullanmaya başlayabilir.
- Kullanıcılar arayüz üzerinden disk oluşturma, kaldırma gibi işlemleri gerçekleştirir.
- Bilinen bir çok Unified Storage marka ve modelini destekler.
- Blok depolama performansa ihtiyaç duyan servisler(Database vb.) için ideal bir RAW disk alanı sağlar.
- Kullanıcı instance üzerinden istediği filesystem formatında diski kullanabilir.
- Veritabanı gibi anlık verileri tutan blok depolama birimlerini güvenli bir şekilde yedekleyebilir, canlı olarak restore edebilir.
- Instance'a tahsis edilen RAW alan herhangi bir disk grubu veya fiziksel veri depolama ünitesi üzerinden verilebilir.
- Ceph gibi yazılımsal düzeydeki Blok depolama protokollerini de varsayılan olarak destekler.
Dashboard ( Horizon )
- Kısaca OpenStack içerisinde yer alan tüm aktif bileşenlerin yönetimini yapar.
- Django ile geliştirilmiştir.
- Kullanıcıdan gelen istekleri ilgili bileşenin servisine çağrı yaparak, asenkron bir şekilde gerçekleştirir.
- Arka planda MySQL, RESTful Services, Memcached, RabbitMQ gibi teknolojileri kullanır.
- Multi tenant olan mimarilerde farklı arayüz seçenekleri ve kullanıcı limitlemesi yapar.
- Arayüzden API yönetimi, kullanıcı yönetimi ve tamamen Amazon EC2 desteği sağlanır.
Orchestration (Heat)
- Uygulama geliştiricilerinin veya sistem uzmanlarının kullanabileceği template-driven engine olarak görev alan bileşendir.
- Otomatik büyüme, ölçeklendirme için çalışır.
- Template bazlı çalışır.
OpenStack 3rd PaaS Components
Savanna (Hadoop Madreduce as a Service)
Trove (Database as a Service)
Development?
git clone https://github.com/openstack-dev/devstack.git cd devstack
./stack.sh
Highly Available Deployment
OpenStack Distributions
Rackspace Private Cloud
Piston
StackOPS