REDHAT OPENSHIFT vs. KUBERNETES Karşılaştırması

Hazırlayan: Kerem Çeliker / Software Defined X (SDX) Business Unit

Geleneksel bir Kubernetes Sistemi kullanıldığında aşağıdaki her bir başlık için ayrı ayrı ekiplerin kurulması ve uzmanlaşılması gerekmektedir. Bununla birlikte ekiplerin birbirleri ile iletişimlerini Agile, Scrum ve DevOps kültürü temelinde devam ettirmeleri gerektiği için bir bütün olarak Geleneksel Kubernetes ortamları planlamak, kurgulama ve kurulum ardından yönetiminin devamında birçok zorluğu/riski de bir arada getirdiği bilinmektedir.

  • Raise Service Request - (SLA taleplerinin önceliklendirilmesi)
  • Infrastructure Provisioning (Server HW, VM) - (Container altyapılarının fiziksel ya da sanal olarak hazırlanması)
  • Setting up OS - (Container üzerinde çalışacak işletim sisteminin hazırlanması ve konfigure edilmesi)
  • Setting up Technology Stack - (Container altyapısında çalışacak teknoloji mimarisinin temelinin hazırlanması ve doğru konfigure edilmesi)
  • Capacity Planning & Auto-Scaling - (Container altyapısının kapasite planlamasının yapılması, yönetilmesi ve kaynak gerektiğinde otomatik genişletilmesi)
  • Configuration Management - (Container mimarisi ve uygulamaların konfigurasyon yönetimi)
  • Container Security Management - (Container altyapısı güvenliğinin hazırlanması, kurgulanması ve yönetilmesi)
  • Release Management - (Container üzerinde çalışacak uygulamaların yazılımsal temelde version değişiklerinin hazırlanması ve yönetilmesi)
  • Development - (Container altyapısı temelli yazılım ve uygulama geliştirme ve arge faaliyetlerinin yönetilmesi ve geliştirilmesi)
  • Build - (Yazılım ve uygulamaların kurulumlarının gerçekleştirilmesi)
  • Test - (Yazılım ve uygulama geliştirme sonrası canlı ortama alınmadan önce, test ortamında testlerinin yapılması ve geliştirme sürecinin devam etmesi)
  • Application Deployment - (Uygulamaların kurulması, yönetilmesi ve entegrasyonlarının yapılması)
  • Day2 Operations and Monitoring - (Kurulum sonrası devam eden operasyonların tamamı ve bu operasyonların merkezi olarak izlenmesi süreci)

KUBERNETES

OPENSHIFT

Kubernetes kendi başına sadece Container as a Service (CaaS) altyapısını sağlamaktadır. Fakat Kubernetes açık kaynak yaratıcıları ve topluluk destekleyicilerinin de bildiği ve söylediği gibi, asla kendi başına hazır bir Container Platform değildir. Bu yüzden her bir katmanın ve bileşenin yukarıdaki ana başlıktaki gibi iyi incelenip, test edilip ardından uyumluluklarına göre kurulması ve yönetilmesinin gerektiği bilinmektedir.

Openshift ise tamamen Open-Source ve Kubernetes destekli bir Container Platform'dur. Burada tüm yukarıda saydığımız riskli katmanların oluşturulmasına en baştan gerek olmayıp tüm altyapıyı hazır bir halde kullanıcısına daha 1. günde sunar ve 2. günde yazılım, uygulama vb. yönetim işlerine tamamen odaklanmalarına yardımcı olur.

Red Hat OpenShift Platform (+) Plus

KUBERNETES (Core-Base)

KUBERNETES

OPENSHIFT

Geleneksel Kubernetes ortamında her yıl ortalama 4 yeni versiyon güncellemesi olur, fakat bunları güncellerken mevcut çalışan yapı ve katmanları ile uyumlu olup olmadığı hakkında bir garanti ve bilgi verilmez. Bu durumda her şeyi en baştan kontrol ederek çalışmalarınızı ve güncellemelerinizi "Manuel Kurulum" olarak yapmanız gerekir. Her bir güncelleme için kesinti zamanı ayırmanız gerekmektedir.

Openshift ortamında ise bir platform desteği sunduğu için her yıl 3-4 yeni versiyon güncellemesi çıkarır. Burada tamamen Kubernetes yaratıcıları ile birlikte çalışarak, Openshift Container Platform'a sunduğu her yeni güncellemenin daha önceden kontrolleri ve risk analizi yapılmış şekilde kullanıcısına sunar. Böylece en baştan herhangi bir kontrol ya da ek çalışma yapmadan "Gün İçerisinde" çalışırken bile güncellemelerinizi "Otomatik Kurulum" olarak yapabilirsiniz. Her bir güncelleme kesintisiz olarak yapılmaktadır.

Kubernetes, kendi Docker Registry (kayıt alanlarınızı/havuzlarınızı) oluşturmanıza olanak tanır, ancak entegre bir  şekilde  bunu maalesef yapamazsınız. Herhangi bir arayüz kullanımı sunmaz ve tüm işlemler komut üzerinden ilerler.

OpenShift’te ise Red Hat veya Docker Hub ile kullanabileceğiniz tam bir entegrasyon alanı sağlar. Kayıt alanlarını/havuzlarını bir kümedeki projelere indirebilir ve bunları istediğiniz uygulamalarınızdaki akışlar hakkında bilgi arayabileceğiniz "Arayüz Sunan" bir konsola dönüştürebilirsiniz, kolayca yönetebilirsiniz.

Kubernetes, Container yapısının bağımsız bir çekirdek projesi olması sebebiyle – kendine ait bir “Container by  Virtualization” teknolojisi ile gelmemektedir. Bunun için mevcut yapıyı henüz kurmadan önce tasarlamanız veya eğer kurmuş durumdaysanız Kubernetes Virtualization yapısına döndüremezsiniz. 3. parti uygulamalar ve üreticiler üzerinden Add-on özellik kendisine ekleyerek bu yetkinliği sağlarsınız ve çalışma garantisi yoktur.

Openshift’de ise Red Hat Openshift Virtualization altyapısı ile mimarinizi kurgulamanız ile tek bir arayüzden hem Container Platform yapınızı yönetebilecek hem de sanal sunucularınızı aynı altyapıda kullanabileceksiniz. Bu durumu hem önceden test edilmiş ve çalışma garantisi olan bir altyapıda kurgulamış, deneyimlemiş olacak hem de dışarıda sanal sunucularınız için ek 2. bir altyapı maliyetinden kurtulmuş olacaksınız.

Geleneksel Kubernetes ortamı, resmî bir CI/CD ve Monitoring entegrasyon çözümü sunmaz. Kubernetes ile bir CI/CD ve Monitoring ardışık düzeni oluşturmak için ayrıca uyumluluğunu araştırıp test ettikten sonra kurmanız gerekmektedir ve çalışacağının garanti edilebilmesi için third party araçları entegre etmeniz gerekir.

OpenShift ise CI/CD ve Monitoring hizmeti için kullanabileceğiniz sertifikalı açık kaynak entegrasyon çözümü sunan uygulamalara sahiptir ve çalışma garantisi verir. Hem Container Platform’unda hem de Openshift Virtualization altyapısında kullanılmak üzere tam bir entegrasyon sunar.

Geleneksel Kubernetes altyapısı, sizlere asla bir Storage Çözümü ile beraberinde gelmez. Bu yapıyı taleplerinize göre tasarlayıp, test edip uygun Storage çözümünü ayrı almak zorunda kalırsınız. Aldığınız Storage çözümü içerisinde eğer güncel CSI desteği gelmiyor ise Container Application’larınız ve üzerinde barınacak datalarınız için hem mimari açıdan bir risk hem de maliyet açısından olumsuz tecrübeler yaşamanız olasıdır.

Openshift Platform’unda ise, yeni bir Storage Fiziksel Appliance gereksiniminiz olmaz, Red Hat Openshift Container Storage Operatör’ü ile Day 1’da aynı platform veya dilerseniz farklı bir mimari yapıda da çalışmalarınıza yüksek IOPS ve utilize edilmiş I/O oranları ile okuma ve yazma taleplerinize herhangi bir performans kaybı yaşanmadan devam edersiniz. Örneğin “Apache Kafka veya Hadoop” gibi bir uygulama barındırmak isterseniz bu yapı üzerinde – hem maliyet hem de performans+kolay yönetim açısından büyük avantaj yaşarsınız. 

Geleneksel Kubernetes ortamında çıkabilecek sorunlara ve yapacağını entegrasyonlardaki uyumsuzluklara karşı bir Container Projesi olduğu için Google ve açık kaynak forumları üzerinden sorular sorarak gelecek cevabın doğruluğundan da tam emin olmadan ilerlemeye çalışırsınız. Böyle bir durumda ise bir destek ihtiyacında karşınızda bir muhatap olmadığı için size uygun SLA yoktur ve çözüm sağlayacak kimse olmayacaktır.

Openshift ise, Enterprise kurumsal bir Open-Source Container Platform çözümü olduğu için istediğiniz SLA sürelerinde direkt Kubernetes'i ve Openshift'i birlikte platform haline getiren mühendislerden net, doğru ve hızlı çözümleri alma garantiniz SLA olduğu için vardır.

Kubernetes’in yerel bir network çözümü yoktur, ancak third-party network eklentileri tarafından arayüzler sunar.

OpenShift’te ise bugün herkes tarafından kabul görmüş ve HCI ve tüm yeni nesil Switch yapılarda bile kullanılan OpenVSwitch network çözümü (SDN/OVN) vardır. Dilenirse ayrıca 3 farklı network eklenti paketini de içinde sunarak özelleştirilebilir durumdadır.

Geleneksel Kubernetes ortamında dağıtık bölge ya da bölgelerde Merkezi Kubernetes Yönetim arayüzüne ve altyapısına sahip değildir. Uygulamalarınıza arayüz vasıtasıyla policy’ler yazarak single veya Multi-Cluster altyapılara ilkelerinizi gönderemez ve uygulayamazsınız. DevOps veya SRE Platform ekipleriniz tarafından bile takip edilmesi oldukça zorlaşır veya imkansız hale gelir.

Openshift de ise; Red Hat Advanced Cluster Management for  Kubernetes ürünüyle özel geliştirilmiş Merkezi Cluster Yönetimi, yerleşik güvenlik ilkeleriyle Multi-Cluster veya Hybrid-Cloud Cluster altında çalışan uygulamaları tek bir konsoldan kontrol eder. Uygulamaları merkezi bir noktadan dağıtarak birden çok Cluster’ı yönetir  ve uygun ölçekte birden çok Cluster’da policy ilkelerini zorlayarak Red Hat OpenShift'in değerini dilediğiniz oranda genişletmenize izin verir.

Kubernetes'in ayrı bir giriş sayfası yoktur, authentication and authorization sağlamak için manuel olarak bir bearer token oluşturmanız gerekir. Her bir uygulama ve işlem içine ayrı ayrı token'lar oluşturarak işlemlerinizi yapmanız gerekir. Bunlar sebebiyle yönetim ve ileriki zamanlarda uyumluluk sorunlarıyla birlikte, karmaşıklık durumu ekipler içerisinde fazlasıyla ortaya çıkar.

OpenShift’te ise web console giriş sayfası vardır, kolayca erişilebilir ve hatta bir form aracılığıyla çoğu kaynağı oluşturma ve değiştirme olanağı sağlar. Cluster’i web üzerinden de yönetebilirsiniz, projeleri ve Cluster rollerini görselleştirebilir ve dilediğiniz Open-Source uygulamalara entegre edebilirsiniz.

Geleneksel Kubernetes ortamında, Siber Güvenlik uygulaması katmanı bulunmamaktadır. Container ve Uygulama/Network katmanlarınızın güvenliği tamamen Zero-Day ataklarına daha 1. günde açık olarak gelmektedir. Open-Source bir proje olduğu için size sadece Container Servisi’ni sunar, bunun "alt, orta ve üst katmanlarını" oluşturmak tamamen kullanıcısının sorumluluğundadır. Bu yüzden geleneksel olarak kurulan her bir Kubernetes ortamı herhangi saldırıya ilk günden açık olarak gelmektedir.

(**Maalasef birçoğu doğru dizayn edilmediği için halen çok büyük kurum/kuruluşlarda bu durum sürmektedir.)

Openshift ortamında ise, bir platform olarak kendi Siber Güvenlik çözümü ve katmanı bulunmaktadır. Kubernetes Servisi’ni kapayan DevSecOps altyapısı "tamamen kapalı" bir şekilde daha 1. günde hazır gelmektedir. Herhangi bir güvenlik yazılımı kurmasanız bile ilk kurulum sonrasındaki hali sizi içeriden ve dışarıdan ataklara karşı koruma sağlayacak şekilde hazırlanmıştır. Fakat 0. gün olarak isimlendirdiğimiz birçok Özel ve Devlet kurumunu zorda bırakan günümüz ataklarına karşın Red Hat Openshift StackRox Container Security ürününü de Openshift paketi içerisinde isteğe göre hazır olarak sunmaktadır. Böylece her bir katmanda dilediğiniz izinleri yaratarak (policy) gerektiğinde size uyarı vermesini ya da direkt engellemesini sağlayarak çözümler oluşturabilirsiniz.

***Yukarıda paylaşılan Openshift’e özel karşılaştırma bilgileri ve farklılıklar sadece Kubernetes Projesi temelinde değil, piyasada henüz çok yeni olan ve kendisini bir Container Platform olarak nitelendiren diğer ürünler için de geçerlidir.

Özetle Kubernetes ortamını fabrikadan yeni çıkmış sadece "Demir ve Otomobil Motoru" haline benzetebilirsiniz. Openshift'i ise hazır bir Kubernetes Platform ürünü olduğu için beklentilerinizde olan ve bir araçtan bekleyebileceğiniz tüm ihtiyaçlarınızı bir bütün olarak size sunan ve bunun garantisini de veren full donanımlı bir otomobile benzetebiliriz.

Refereranlar:

https://www.redhat.com/en/topics/containers/red-hat-openshift-kubernetes

https://www.redhat.com/en/topics/cloud-computing/openshift/understanding-enterprise-kubernetes?page=1

https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one

https://www.redhat.com/en/about/press-releases/red-hat-expands-workload-possibilities-across-hybrid-cloud-latest-version-openshift

https://www.redhat.com/en/technologies/cloud-computing/openshift/virtualization?page=1

https://www.redhat.com/en/resources/containers-kubernetes-market-dynamics-analyst-material

SD-WAN’A GİRİŞ 3: Maliyetlerinizi Düşürün!

Hızlı olmak, pek çok konuda fark yaratan bir özellik olarak karşımıza çıkıyor...

Devamını Oku

SD WAN’A GİRİŞ 1: Daha Kolay Bir Ağ Yönetimi

Teknoloji, gündelik hayatımızı kolaylaştırmaya her geçen gün devam ederken kendisine...

Devamını Oku

Red Hat Openshift

Bulut teknolojilerinin en temel bileşenlerinden ‘Container’ların, dağıtım ve yönetimi...

Devamını Oku

Cisco SD-WAN: Yepyeni Bir WAN Deneyimi!

Cloud (bulut) uygulamalarının yaygınlaşması, görsel ve sesli iletişimin iş yaşamının vazgeçilmez...

Devamını Oku

Cloud Collaboration güvenli mi? Cloud mu On premise çözüm mü?

Bulut teknolojileri tabi ki özellikle bazı sektörler için güvenlik...

Devamını Oku

Neden Cisco İş Birliği Çözümleri?

Bugün dünyada bir kurumun tüm gerçek zamanlı iletişim...

Devamını Oku

Kariyer Fırsatları

En ileri teknolojilerle çalışırken,
yeni bakış açıları sunmaya hazır mısınız?

İletişim

Aklınıza takılan her konuda bizimle
iletişime geçebilirsiniz.

Mailiniz başarıyla gönderilmiştir en kısa sürede sizinle iletişime geçilecektir.

Mesajınız ulaştırılamadı! Lütfen daha sonra tekrar deneyin.