Çeşitli proje ve durumlarda ilk karşımıza çıkan önemli bir sorunun "hangi sunucu işletim sistemini tercih etmeliyim?" olduğunu düşünüyorum. Çünkü en basitinden üzerine kurulacak uygulamanın bağımlılıklarının belirlenmesi, güncelleme süreçlerinin yönetilme süreçleri için ortaya çıkacak cevap oldukça önemli.
Her ne kadar bu soru "konteynır" mimarileriyle birlikte önemini biraz yitirse de sanal makine (VM) kullanımının hala ciddi oranda kullanıldığı alanlarda bu yapı devam etmektedir. Bu yazımda genel olarak konteynır sistemlerle ilgili bir yorum içermemektedir. Bu konu hakkında ayrıca bir yazı yazma düşüncem var.
Elimizde neler var?
Tercih etmeden önce elimizde neler olduğu ve tabi ki sonrasında bu seçeneklerin neler sunduklarına bakmak gerekir. Tabi ki bu yazıyı yazarken yani 2021 yılı sonu ve Türkiye piyasası itibariyle yazdığımı belirtmek isterim. Ve tabi ki GNU/Linux ekosistemindeki dağıtımlardan bahsedeceğiz. Birazdan bahsedeceğim nedenlerle elimizdeki sunucu işletim sistemleri aşağıdaki gibi olduğunu düşünmekteyim:
- CentOS (İleride: AlmaLinux ve RockyLinux)
- Debian
- OracleLinux
- Pardus
- RHEL (RedHat Enterprise Linux)
- Ubuntu
Öncelikle listedeki RHEL, OracleLinux ve Ubuntu dağıtımları sırası ile RedHat (IBM), Oracle ve Canonical tarafından kurumsal olarak desteklenmektedir. Listedeki Pardus bilindiği gibi TÜBİTAK ULAKBİM tarafından geliştirilmekte ve desteklenmektedir. Debian ve CentOS (vs.) ise topluluk tarafından desteklenmekte ve arkadalarında bir firma bulunmayıp birden fazla firma tarafından fonlanarak süreçlerine devam etmekteler.
CentOS parantezinde AlmaLinux ve RockyLinux yazmamın nedenini muhtemelen biliyorsunuzdur. Çok özetle tekrar etmem gerekirse CentOS güncel sürümlerinde CentOS Stream olarak devam ediyor ve RHEL'in güncel paket sistemini değil, ileride yapacağı paketleri kullanmaya başladı. Bu nedenle CentOS topluluğu AlmaLinux ve RockyLinux topluluklarına dağıldı. Hızlı olan AlmaLinux birkaç adım önde gözükse de topluluğun daha büyük kısmı RockyLinux'ta birleşmişti. Tek bir kazanan mı olacak yoksa böyle bir ayrım devam mı edecek, süreci zaman gösterecek.
Tercih Kriterleri
1. Ana Sürüm Duyuru Aralıkları
İşletim sistemleri her x yılda bir yeni sürüm duyurmaktalar. Bu sürümlere direkt olarak geçmek çok sağlıklı olmayacağı gibi sık sürüm duyurusu yapmayan işletim sistemleri için kullandıkları paket ve paket sürümlerinin eskidiği, yeni özellikleri alamadığı ve dolayısıyla tercih etmenin zor olduğu görülebilmektedir.
Bu açıdan baktığımızda;
- CentOS, yaklaşık 5 yılda bir ana sürüm
- Debian, 2 yılda bir kararlı
- Pardus, 2 yılda bir kararlı
- RHEL, yaklaşık 5 yılda bir ana sürüm
- OracleLinux, yaklaşık 5 yılda bir ana sürüm
- Ubuntu, 2 yılda bir LTS (Long Term Support)
Kişisel fikrimce sıklıkla güncellenebilen işletim sistemleri sadece yeni paketleri kullanmak için bakıldığında daha verimli olacaktır. Sadece bu anlamda 2 yerine 5 yılda bir sürüm çıkartan dağıtımlarda yeni bir projeye başlarken çok eski bir dağıtımdan başlamak gerektiği için sonraki süreçteki güncellemede daha zorlanılmaktadır. Ayrıca sıklıkla sürüm güncellenmesi her makineyi güncellememiz gerektiğini düşündürtmemeli. Aradaki ana sürümleri kullanmak yerine 2 yerine 4 yılda bir güncellemelerin yapılması da mümkündür. Ve hatta sonraki bölümde bahsedildiği gibi istenildiği takdirde yaşam ömrü boyunca kullanılabilir.
Dolayısıyla bu kategoride Debian, Pardus ve Ubuntu daha avantajlı olduğunu düşünüyorum.
2. İşletim Sistemi Destek Süreleri
En önemli tercih kriterlerinden birisinin destek süresi olduğunu düşünmekteyim. Bu kavram, bir işletim sistemi sürümü çıktıktan sonra bu sürüme ne kadar süre destek verileceğini belirten önemli bir ifadedir. Destek süresi derken işletim sistemi içindeki programların (paketlerin) güvenlik güncellemelerini alabilme süreci olarak genellenebileceğini belirtmek isterim.
"Destek süresi" kavramını açıklarken birkaç kavramı da bilmek gerekiyor. Bunlardan birisi "End Of Life(EoL)" yani "yaşam ömrü" destek süresinin ne zaman biteceğini, "Extended security maintenance" yani "genişletilmiş güvenlik bakımı" güvenlik güncellemelerini alacak süreyi ifade etmektedir.
Bu açıdan baktığımızda;
- CentOS, 5 yıl yaşam ömrü, 10 yıl genişletilmiş güvenlik bakımına sahiptir.
- Debian, 5 yıl yaşam ömrüne sahiptir.
- Pardus, 4 yıl yaşam ömrüne sahiptir.
- RHEL, 5 yıl yaşam ömrü, 10 yıl genişletilmiş güvenlik bakımına sahiptir.
- OracleLinux, 5 yıl yaşam ömrü, 10 yıl genişletilmiş güvenlik bakımına sahiptir.
- Ubuntu, 5 yıl yaşam ömrü, 10 yıl genişletilmiş güvenlik bakımına sahiptir.
Destek süresi en önemli ve işe yarar kategori olarak ne kadar çok ise o kadar avantajlı olmaktadır. Dolayısıyla bu kategoride RHEL, OracleLinux ve Ubuntu'nun daha avantajlı olduğunu düşünüyorum.
3. Destek geçmişi, eğitim ve bilinirlik
Bu başlık da kurumsal kullanım için oldukça önemli bir konu. Özellikle kariyer olarak Linux Sistem Yöneticisi aramalarında dahi RedHat sistemleri ile Debian tabanlı sistemleri birbirinden ayrılmaktadır.
Kurumsal geçmişten dolayı da RedHat sistem yöneticilerinin bulunması daha kolay olmaktadır. Sadece geçmişten kalma alışkanlık olarak değil, RedHat'in kariyer yol planlaması olmasından dolayı bu sektöre giren insanlar için yükselebilmeyi içermektedir. Güncel olarak RedHat eğitimlerine karşı Linux Foundation'un eğitimleri her iki sistemi de içermesine rağmen yine de kurumsal olarak Redhat tabanlı sistemleri avantajlı kılmakta.
Debian tabanlı sistemlerde de Canonical firmasından dolayı Ubuntu özellikle yazılım geliştiricilerin pazarında özellikle son 10 yılda yer edinmeye başlamıştır. Sunucu kurulum dokümanları konusunda çoğu zaman RedHat sistemlerden daha fazla dokümana ulaşabilme, Debian depolarının genellikle Ubuntu temelli olmasından dolayı diğer Debian tabanlı sistemlere göre artı değer kazandırmaktadır.
Dolayısıyla bu kategoride RedHat, CentOS ve OracleLinux başta olmasına rağmen Ubuntu da diğerlerinden sıyrılıp yükseliş trendinde olduğu görülmektedir.
4. Destek Fiyatlandırması ve Kullanım
Yukarıdaki dağıtımlardan RHEL dışındaki tüm dağıtımların depoları herkesin kullanımına açık olmasına rağmen, RHEL depoları için abonelik yöntemi kullanılmaktadır. Dolayısıyla ücretsiz veya anlaşmasız bir şekilde RHEL deposunu kullanamazsınız. Diğer dağıtımlarda ise buna benzer bir kısıtlama yoktur. Destek kavramları ise tamamen firmaların verdikleri hizmetlere göre değişmektedir.
Dolayısıyla bu kategoride RedHat dışındaki tüm dağıtımların daha avantajlı olduğu görülmektedir.
Sözün Özü
Yukarıda anlatmak istediğim başlıkların özeti yapılmak istenirse kurumsal bir firmanın Ubuntu veya RHEL ile çalışması tercih edilebilecek bir durum olarak görülmektedir.
Ubuntu yerine Debian veya Pardus tercih edilmesini sağlayacak çeşitli maddeler olsa da bu tercih için Debian veya Pardus konusunda deneyimli personel veya firma ile çalışmak gerektiği aşikardır.
RHEL ile başlamak yerine CentOS (artık AlmaLinux ve RockyLinux) ve OracleLinux ile başlamak ise maliyet açısından daha mantıklı olduğunu düşünmekteyim. Dolayısıyla bu dağıtımlarla başlayıp ihtiyaç duyuluyorsa RHEL'e geçmek mantıklı olabilir.
Kişisel olarak sunucu tarafındaki kullanım yorumum sorulursa da, 2021 sonu itibariyle çok tartışılabilir ama Ubuntu olarak görmekteyim. Fakat gerektiği yerlerde diğer dağıtımlarla da çalışıp hibrit bir kullanım da her zaman aklımızda olması gerektiğini düşünmekteyim.
Dixi