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


OpenStack ile Kendi Özel Bulutunuzu Kurun!

By Halid Altuner

OpenStack ile Kendi Özel Bulutunuzu Kurun!

OpenStack ile Kendi Özel Bulutunuzu Kurun!

  • 13,290