Merhaba!


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)




OpenStack Deployments

Development?




git clone https://github.com/openstack-dev/devstack.git cd devstack
./stack.sh

Multi Node Deployment


Highly Available Deployment


OpenStack Distributions



Rackspace Private Cloud
Piston
StackOPS

OpenStack Provisioning