Neden OpenStack Kullanmalıyım?

OpenStack Türkiye

Neden OpenStack Kullanmalıyım?

17 Aralık 2017 Genel 0

Son yıllarda tüm dünyada hızlanan bulut teknolojilerini kullanma eğilimi, çok sayıda ticari ürünün yanında bir çok açık kaynak kodlu alternatifin de ortaya çıkmasını sağlamıştır. Bulut platformlarının her geçen gün daha fazla tercih edilmesi Amazon benzeri bir çok bulut servis sağlayıcısının ortaya çıkmasında etkili olmuştur. Bununla birlikte bilişim sektörünün öncü oyuncuları olan telekom operatörleri, barındırma hizmeti veren hosting firmaları, CERN gibi büyük ölçekteki bilimsel araştırma merkezleri, üniversiteler, ciddi büyüklükte veri işleme yapan multimedya firmaları gerek kendi ihtiyaçlarını karşılamak gerekse müşterilerine verdikleri hizmet kalitesini ve çeşitliliğini arttırmak amacıyla bulut altyapılarını tercih etmeye başlamıştır. Ancak beklenildiği üzere ticari ürünler doğası gereği bu kadar çeşitli sektörün kendilerine özel ihtiyaçlarını karşılamada yetersiz kalmıştır. İşte tam bu noktada bir çok sektörden farklı kullanıcıları bir araya getirmek, bu kullanıcıların katkılarını alarak ürün gelişimini hızlandırmak ve ürün çeşitliliğini arttırmak, böylece bulut ortamlarında aranan bir çok ihtiyacı karşılayabilecek bir çözüm üretmek adına açık kaynak kodlu bulut platformu alternatifleri ortaya çıkmış ve kısa sürede çok fazla yol katetmiştir. Gelişen ekosistemin dışında kalmak istemeyen yazılım ve donanım üreticileri de daha çok tercih edilen açık kaynak kodlu bulut çözümleri ile birlikte kendi ürünlerini konumlandırmak için bu çözümlere destek olmuş ve kendi ürünlerinin entegre edilebilmesi için çaba sarfetmişlerdir. Bu sayede dünya genelinde farklı sektörlerden bir çok kullanıcı ile birlikte büyük yazılım ve donanım üreticilerinin de desteğini arkasına alan açık kaynak kodlu çözümler, bilhassa OpenStack hızla gelişerek ticari ürünlerin sunamadığı bir çok serviş ve teknolojiyi de içeren oldukça donanımlı bir bulut yönetim platformu haline gelmiştir.

Sahip oldukları yetenekleri ve kullanım kolaylıkları aynı olmadığı için elbette tüm açık kaynak kodlu bulut çözümleri aynı oranda gelişememiş, yagınlaşamamış ve bir kısmının kullanımı sınırlı kalmıştır. Bu konuda 2015 yılının sonunda bağımsız araştırma şirketi Bitergia tarafından yapılan “The Quantitive State of the Open Cloud” isimli araştırma, daha o dönemde bu konuda tercihin net olarak yapıldığını ve açık kaynak kodlu çözümler içerisinde OpenStack’in diğerlerinden belirgin şekilde ayrıştığını ortaya koymuştur. Araştırmada OpenNebula, Eucalyptus, CloudStack ve OpenStack birbiri ile karşılaştırılmış, herbirinin topluluklarındaki gelişmeler, geliştirici sayıları, destek veren firmalar gibi bir çok konu incelenmiştir. Aşağıda tabloda her bir çözümün kaynak koduna yapılan katkı sayısı, geliştirici sayısı, kapatılan ticket sayısı ve kapatan geliştirici sayıları verilmiştir.

Açık kaynak kodlu bulut çözümlerinin topluluk desteklerinin karşılaştırılması

Tablodan görüleceği üzere OpenStack yanında diğer çözümler topluluk desteği anlamında epey zayıf kalmakta, OpenStack en yakın rakibi CloudStack ile kıyaslandığında yapılan katkı, geliştirici sayısı, kapatılan ticket sayısı ve kapatan geliştirici sayılarında ortalama en az 10 kat daha fazla desteğe sahip olduğu görülmektedir. Bu tabloda verilen değerler 2015 yılı Mart-Eylül ayları arasındaki 6 aylık dilime aittir. Benzer şekilde Temmuz 2014 ile Haziran 2015 arasında ilgili topluluklara destek veren firmalar aşağıdaki grafiklerde verilmiştir.

OpenNebula Firma Desteği

Eucalyptus Firma Desteği

Cloudstack Firma Desteği

OpenStack Firma Desteği

Grafiklerden görüleceği üzere firmaların en fazla destek verdiği platform OpenStack olmuş, alttaki mavi zaman grafiğinde diğer çözümlerde son bir kaç yıldaki ortalama haftalık destek veren firma sayısı 2 ile 5 arasında sınırlı kalırken bu sayı OpenStack son 2 yıldır 50’nin altına inmemiştir. Bu istatistikler bu konudaki tercihin çoktan yapıldığını, sektörün OpenStack çevresinde yoğunlaştığını net bir biçimde ortaya koymaktadır.

OpenStack yukarıda bahsi geçen istatistiklerden de anlaşıldığı gibi dünyanın bir çok yerinden geliştirici ve üretici firmaların desteği ile hızla gelişimini sürdürmektedir. Bu yazının hazırlandığı tarih itibariyle dünya genelinde 84.000 farklı üyesi bulunan, 672 üretici ve firma tarafından desteklenen, 189 farklı ülkede kullanılan OpenStack, 20 milyon satırdan fazla koddan oluşmaktadır. Bugüne kadar 30.000’den fazla farklı geliştirici OpenStack’e katkı sağlamıştır. Hiç bir ticari çözümün herhangi bir ürün için bu kadar geliştirici çalıştırması mümkün değildir. OpenStack gerçek gücünü tüm dünyaya yayılmış kullanıcı kitlesi ve bu ekosistemi destekleyen üretici firmalardan almaktadır.

OpenStack’in tercih edilme nedenleri arasında güçlü topluluk desteğinin yanında aşağıda açıklanan bir çok yeteneği ve özelliği de bulunmaktadır.

  • Açık Kaynak Kodlu Olması: Açık kaynak koldu olması OpenStack’in ücretsiz edinilmesini sağlamakta ve ilk sahip olma maliyetlerini önemli ölçüde düşürmektedir. Aynı zamanda herkesin koda katkı yapmasını sağlamakta, hatta gereği halinde kullanılan ortama özel yamalar yapılmasına imkan vermektedir.
  • Oturmuş altyapı: OpenStack’in ilk sürümü olan Austin 2010 yılında NASA ve Rackspace ortaklığı ile yayınlanmış olup her 6 ayda bir düzenli şekilde yeni sürüm duyurulmaktadır. Sırasıyla Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, Havana, Icehouse, Juno, Kilo, Liberty, Mitaka, Newton ve Ocata sürümleri yayınlanmış ve 2017 ylı sonu itibariyle son olarak Pike sürümünün duyurulması ile 16. sürüm hizmete girmiştir. Arada geçen 7 senede artık çekirdek bileşenler yeterli olgunluğa ulaşmış ve kararlı bir hale gelmiştir. Yeni geliştirilen modüllerin olgunluk ve yaygınlık seviyeleri resmi sitedeki ilgili başlıktan yayınlanmaktadır.
  • Yaygın Hipervizör Desteği: OpenStack bir bulut yönetim platformu olduğu için sanallaştırma katmanında bir çok hipervizör ile çalışabilmektedir. Linux işletim sisteminde native desteklenen KVM en fazla özelliğe sahip hipervizör olmakla birlikte OpenStack altyapısında VMware, Hyper-V, Xen, PowerKVM, Virtuozzo gibi bir çok hipervizör desteklenmektedir. Bu hipervizörlerden bir kaçını aynı anda kullanmak mümkündür. Desteklenen hipervizör listesine resmi sitedeki ilgili başlıktan erişilebilmektedir.
  • Donanım ve Üretici Bağımsız: OpenStack tasarımı gereği herhangi bir donanıma ve üreticiye bağlı kalmayacak şekilde çalışmaktadır. “Commodity hardware” olarak adlandırılan ve diğer cihazlar ile uyumlu çalışan, maliyeti düşük herhangi bir üreticiye ait donanım kullanmayı mümkün kılmaktadır. Bu durum hem maliyetleri düşürmekte, hem de belli bir üreticiye bağlı kalmadan istenilen donanımı seçme imkanı sağlamaktadır.
  • Esnek ve Ölçeklenebilir Altyapı: OpenStack altyapısı istenildiğinde kolayca büyüyebilecek şekilde tasarlanmış olmakla birlikte yatayda büyüyebilen mimarisi sayesinde çok yüksek ölçeklere kadar çıkabilmeye imkan sağlamaktadır. Dünyada 500.000 çekirdek büyüklüğünde OpenStack kullanan altyapılar mevcuttur. Kapasite arttırmak için gerekli çekirdek modülleri doğru mimaride tasarladıktan sonra sisteme sunucu eklemek yeterli olmaktadır. Esnek altyapısı sunucuları istenildiği zaman açıp kaptmata imkan vermekte, otomatik ölçeklendirme sayesinde kaynaklar ihtiyaç halinde belli dönemlerde arttırılıp sonrasında azaltılabilmektedir. Böylece bulut platformlarında sunulan “kullandığın kadar öde” özelliği anlam kazanmaktadır.
  • Yüksek Erişilebilirlik Mekanizmaları: OpenStack platformu tasarımı gereği dağıtık yapıda çalışmakta ve herhangi bir kaynakta meydana gelen problemin diğerlerine etkisi minimuma indirilmektedir. Buna ilaveten sisteme eklenen yüksek erişilebilirlik mekanizmaları ile tek nokta hatalarının önlenmesi OpenStack’in çok kritik ortamlarda bile tercih edilmesine imkan sağlamaktadır. Böylece sunulan hizmetlerin sürekliliği sağlanmakta ve servis kalitesi arttırılabilmektedir.
  • Self Servis Kullanım: OpenStack müşteri tabanlı (tenant-based) profil desteği sayesinde açılan hesaplara istenilen kullanıcıları atayabilmekte ve bu hesaplara hesaplama (işlemci, RAM), depolama, IP adresi gibi kaynaklar bazında kota tanımlayabilmektedir. Böylece hesap sahibi kendi kullanıcısı ile sisteme giriş yapıp sahip olduğu kaynaklar çerçevesinde sistemi self servis kullanabilmektedir.
  • Standartlara Uyumluluk: OpenStack ekosisteminin tüm bileşenleri geliştirilirken tamamen API destekli  geliştirilmektedir. Başka bir deyişle tamamen API tabanlı çalışan OpenStack, kabul görmüş uluslararası standartlara uygun şekilde kullanıma sunulmaktadır. Örneğin sanallaştırma katmanında kullanılan Nova bileşeni Amazon Elastic Cloud için geliştirilen EC2 API ile tamamen uyumludur. Yine nesne depolama çözümü olan Swift ve Ceph destekli nesne depolama çözümleri Amazon tarafından kullanılan ve dünyaca kabul görmüş S3 API ile tamamen uyumludur. Bu tür standartlara uygunluk belli bulut platformları arasında kaynakların taşınmasına imkan sağlamaktadır. Örneğin Amazon API için geliştirilmiş kodlar OpenStack ortamına taşınmak istendiğinde sadece servise erişilen URL adresini değiştirmek vasıtasıyla olduğu gibi kullanılabilmektedir. Bu durum da servis sağlayıcılara olan bağımlılığı en aza indirmektedir.
  • Genel, Özel ve Hibrid Bulut Desteği: OpenStack bünyesindeki bileşenlerdeki belli konfigürasyonları düzenlemek vasıtasıyla genele açık, özel ve hibrid bulut çalıştırmayı mümkün kılmaktadır. Sadece özel servisleri yönetme amaçlı özel bulut kurulabileceği gibi genele açık başka bir servis sağlayıcıdaki servisler eklenerek aynı bulut içerisinde hibrid bir bulut ortamı oluşturmak da mümkündür.
  • Bölge, Hücre, Kullanılabilirlik Bölgeleri Desteği: OpenStack kaynakları daha kolay ve verimli kullanabilmek ve yönetebilmek amacıyla bölge, hücre ve kullanılabilirlik bölgeleri desteği vermektedir. Bölge desteği tüm küresel servis sağlayıcılarda olduğu üzere birden fazla coğrafi bölgede kurulan küme içerisinden istenilen kaynakların nerede çalışacağını seçmeye imkan sağlamaktadır. Örneğin açılacak bir sanal sunucunun birisini küme içerisinde yer alan İstanbul bölgesinden açarken, bir diğerini yine aynı kümedeki Ankara bölgesinden açmak mümkün olmaktadır. Benzer şekilde aynı coğrafi bölgedeki küme içerisinde kaynakları ayırt etmek, yönetimi ve kullanımı kolaylaştırmak adına hücre ve kullanılabilirlik bölgeleri tanımlanabilmektedir. Böylece belli tipteki kaynaklar belli bölgelerde tutularak bu kaynaklara özel tanımlar yapılabilmektedir. Aynı zamanda farklı tipteki donanımlar, örneğin SSD diskli sunucular belli kullanım bölgesinde, SAS diskli sunucular farklı kullanım bölgesinde, Intel ve AMD işlemcili sunucular farklı iki kullanım bölgesinde tutularak talep edilen kaynakların spesifik özellikler ile kullanımına imkan sağlanmaktadır.
  • Kolay Kullanım Ölçümü: Bünyesinde yer alan CloudKitty ve Ceilometer gibi bileşenler OpenStack’in kullanıcı hesabı seviyesinde, sistem seviyesinde, sunucu seviyesinde ne kadar kullanım gerçekleştiğini izlemeye imkan vermekte ve şablon bazlı ücretlendirme modülleri sayesinde parametrik tanımlar ile otomatik ücretlendirme sağlanabilmektedir.
  • Servis Olarak Verilebilen Hizmetler: Bulut platformlarını sanallaştırma platformlarından ayıran en önemli özellikleri platform ve uygulama olarak sağlanan servislerdir. IaaS olarak bilinen altyapı servisi bir nevi sanallaştırma çözümlerinin sağladığı hizmetlere karşılık gelmekte, bulut ortamlarında sağlanan platform servisi PaaS ve yazılım servisi SaaS bulutun gerçek gücünü, kolaylığını, esnekliğini son kullanıcıya yansıtmaktadır. Son kullanıcı için hiç bir kurulum gerekmeden alabileceği servislerin tüm bakım, güncelleme ve sürdürme işlemleri bulut platformunu yöneten servis sağlayıcının sorumluluğunda olmaktadır. Son kullanıcı sadece servisi alarak gerekli tanımları yapmak suretiyle kullanıma hızlıca başlayabilmektedir. Son kullanıcıya pratik bir biçimde bu servisleri sağlayabilme konusu günümüzde oldukça popüler hale gelmiştir. Öyle ki, bir çok uygulama ve platformun servis olarak sağlanması sonucu günümüzde “veri merkezi servisi – datacenter-as-a-service(DCaaS)” kavramı ortaya çıkmış ve bazı servis sağlayıcılar tarafından önerilir  duruma gelmiştir. Hatta bu kavram her şeyin servis olarak önerilmesi olarak bilinen “everything-as-a-service (XaaS)” akımını başlatmıştır. Bir çok hizmeti servis olarak sunabilemk servis sağlayıcıların önemli önceliklerinden birisi olmuştur. OpenStack bünyesinde de bu doğrultuda belli hizmetleri servis olarak verebilmeyi sağlayan bir çok bileşen ortaya çıkmıştır. Bunlardan bazıları ve servisi sağlayan bileşenin ismi aşağıda sıralanmaktadır.
    • Veritabanı Servisi (Database-as-a-service, DBaaS) -> Trove
    • Yük Dengeleme Servisi (Load Balancer-as-a-service, LBaaS) -> Neutron LBaaS, Octavia
    • Sanal Özel Ağ Servisi (Virtual Private Network-as-a-service, VPNaaS) -> Neutron VPNaaS
    • Güvenlik Duvarı Servisi (Firewall-as-a-service, FWaaS) -> Neutron FWaaS
    • Alan Adı Sunucusu Servisi (Domain Name Server-as-a-service, DNSaaS) -> Designate
    • Container Servisi (Container-as-a-service, ContaaS)-> Magnum, Kolla, Kuryr
    • Veri İşleme Servisi (Data Processing-as-a-service, DPaaS) -> Sahara
    • Fiziksel Sunucu Provizyonlama Servisi (Bare Metal Provisioning-as-a-service, BMPaaS) -> Ironic
    • Anahtar Yönetim Servisi (Key Management-as-a-service, KMaaS) -> Barbican
    • İzleme Servisi (Monitor-as-a-service, MonaaS) -> Monasca
    • Uyugulama Verisi Koruma Servisi (Application Data Protection-as-a-service, ADPaaS) -> Karbor
  • Enerji Verimliliği: Bulut platformlarının ortak özelliği sanal sunucu, servis ve uygulamaların konsolide edilerek bir araya toplanması sayesinde yapılan tasarrufa ek olarak OpenStack, sunucuların ihtiyaçlar doğrultusunda eklenmesi ve çıkarılması, belli dönemlerde artan yüklere göre sanal sunucuların otomatik ölçeklendirilmesi, fiziksel sunucularda yükün kontrol edilerek sanal sunucuların kesintiye uğramadan “live migration” özelliği sayesinde taşınarak gereksiz sunucuların geçici olarak kapatılması gibi çevre dostu yöntemlere olanak sağlamaktadır. OpenStack ile çalışan yeşil enerji sertifikalı altyapılar bulunmaktadır.
  • Yaygın Üretici Desteği: Dünyadaki önemli donanım ve yazılım üreticileri her geçen gün daha fazla büyüyen OpenStack ekosistemine dahil olmak ve bu sayede kendi ürünlerinin de alternatifler arasında yer almasını sağlamak üzere çeşitli sürücüler geliştirmekte ve hatta kendi ürünlerine yer açabilmek amacıyla kendileri modüller geliştirmektedir. Bazı modüller bu şekilde ortaya çıkmış ve diğer kullanıcıların katkılarıyla yaygınlaşmıştır. Üreticilerin desteği, OpenStack ile var olan donanımların kullanımına izin vermekte veya özellikle seçilen donanımları OpenStack ortamına entegre etmeye imkan sağlamaktadır.
  • Güvenlik Mekanizmaları: OpenStack dahili güvenlik politikaları (security group) sayesinde sanal sunucu bazında veya politika bazında güvenlik kuralı eklemeye izin vermektedir. Yani oluşturulan politikalara eklenen güvenlik kuralları bir veya birden fazla sunucuya atanabilmektedir. Bunun dışında proje bazında tüm projedeki kaynakların önüne güvenlik duvarı servisi (firewall-as-a-service) tanımlanabilmekte ve tüm trafik daha projeye gelmeden merkezi bir güvenlik duvarında filtrelenebilmektedir.
  • Sertifikasyon: Hızla büyüyen OpenStack ekosisteminde bir çok bileşenin yer alması, bunların doğru şekilde tasarlanıp sisteme eklenmesi, yüksek erişilebilirlik gibi mekanizmaların da eklenmesi ile oldukça karmaşık bir hal almaktadır. OpenStack kurmak bir çok şekilde mümkün olmakla birlikte ihtiyaçlara göre tasarım bile başlı başına bir uzmanlık konusudur. Sistemin kurulumu, işletilmesi ve meydana gelebilecek hatalara veya problemlere müdahale konusu önem kazanmaktadır. Bu konudaki uzmanlığın belgelendirilmesi adına OpenStack Foundation, 2016 yılında bir sertifikasyon programı başlatmış ve yapılan sınavda başarılı olan uzmanlara “Certified OpenStack Administrator” adı altında COA olarak kısaltılan sertifika vermeye başlamıştır. Böylece OpenStack ortamlarını kuracak ve yönetecek uzmanların yeterliliğini ölçen merkezi bir sınav sistemi ortaya çıkmıştır. OpenStack Türkiye, OpenStack Foundation tarafından sertifikalandırılmış uzmanları ile danışmanlık hizmetleri sağlamaktadır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir