Dünya lideri telekom şirketleri ve komünikasyon hizmet sağlayıcıları 2019’un ortalarından beri ciddi bir dönüşüm sürecinden geçiyorlar. Software Defined Networking (SDN) (Yazılım tanımlı ağ teknolojisi) ve Network Functions Virtualization (NFV) (Ağ işlevleri sanallaştırması) kullanmaya başlayan bu sektör liderlerinin hedefi tabii ki ağ hizmetlerini daha agile hale getirmek ve eş zamanlı olarak giderlerini azaltmak. Bu acil dönüşümün önemli bir parçası da Docker gibi containers teknolojileri ve microservices mimarileri tarafından desteklenmekte. (Hatırlatalım, Docker tüm dünyada en yaygın olarak tercih edilen konteyner teknolojisi.) Cloud-native uygulamaları desteklemek için zorunlu bir evrim geçiren NFV, 5G’ye hazırlanan Telekom sektörü için de imperatif hale geldi – ne de olsa 5G temelini en başından beri cloud-native şekilde atmıştı.
Bugün artık container’lar sadece çekirdek ağları (core networks) veya yazılım geliştirme süreçlerini desteklemek için kullanılmıyor. Container’lar, düşük gecikme süresi, esneklik ve taşınabilirlik gereksinimlerinin son derece önemli olduğu telekom sektörü için de oldukça vazgeçilmez hale geldi. Örnek vermek gerekirse, operatörler, container’a yüklenmiş (yani containerized olmuş) uygulamaları çalıştırabilmek ve yönetebilmek zorundalar.
Özellikle telekom şirketlerinin yoğun container kullanımını ve bu kullanımın beraberinde getirdiği karmaşık gereksinimleri göz önünde bulundurduğumuzda, yük dengeleme, izleme, yük devretme ve ölçeklenebilirlik gibi husuların, container’ların tek tek yönetilmesini imkansızlaştırdığı bir tabloyla karşılaşıyoruz. En ufak bir aksaklığın, telekom firmasının tüm müşteri ve abonelerini etkileyecek olması da cabası. Bu sebeplerdendir ki, containerlar artık Kubernetes (k8s) gibi Container Orchestration Engine’ler tarafından yönetiliyor. Hali hazırda dünya lideri olanların yanı sıra, büyümekte olan telekom şirketleri de, el birliğiyle Kubernet’e geçişi finansal olarak destekliyorlar, bunu yaparken de aslında container-orchestration sistemlerine rehberlik ediyorlar.
Kubernetes Nedir?
İlginç bir bilgiyle başlayalım. Kubernetes, adını Yunanca “dümenci” kelimesinden alıyor, logosu da bu nedenle bir dümen. Bu arada, bazı kaynaklarda Kubernetes’den kısaca k8s olarak bahsedildiğini görebilirsiniz. Bu kısaltmanın nedeni de baştaki K ve sondaki S harfleri arasında 8 harf bulunması.
Yukarıda da bahsettiğimiz gibi, Kubernetes, açık kaynaklı bir konteyner kümeleme sistemidir. Container haline getirilmiş uygulamaları deploy etmek, ölçeklendirmek ve yönetmek, Kubernetlerin görevi. İlk başta Google tarafından GO dilinde tasarlanmış olan bu sistem, şimdilerde Cloud Native Computing Foundation (CNCF) desteğiyle büyümeye devam ediyor.
Kubernetes, container’ları yalın donanım sunucularda ve sanal makinalarda yönetebiliyor. Bu sayede de Kubernetes hem özel bulutlarda hem de Amazon Web Services, Microsoft Azure ve Google Cloud Platform gibi genel bulutlarda kullanılabiliyor.
Telekom sektörüne gelince, dünya liderleri, operasyonel ve gelişimsel verimliliği arttırmak için, cloud-native teknolojilerin yanı sıra Kubernetes’e ciddi önem veriyorlar. Aslında, çoğunlukla bu şirketlerin Kubernetes’i, virtual machine’leri, container’ları ve yalın donanımları içinde bulunduran hybrid ortamın bir parçası olarak görevlendirmek niyetinde olduğunu söyleyebiliriz. Ayrıca bazı operatörler, şirket içinde kullanacakları uygulamaları microservices üzerinden üretmeye niyetlendiler ve bu işi yürütecek ekiplerine de container’lar sağlamak durumunda kaldılar.
Kubernetes Neden Tercih Ediliyor?
Kubernetes’i çok avantajlı yapan özelliklerinin başında kendi kendini iyileştirmesi geliyor. Başarısız olan containerları yeniden başlatmak ya da alternatifiyle değiştirmek ve kullanıcı testlerini geçemeyen containerları ortadan kaldırmak Kubernetes’in kullanıcıya en iyi çalışan sistemi sunmak için sağladığı bir hizmet. Dolayısıyla sistemi kontrol etmekle görevli ekibin iş yükü azalırken, çok daha agile bir çalışma ortamı sağlanabiliyor. Fakat Kubernetes’in kendi kendini kontrol etmesi demek, kullanıcılara özelleştirme hakkı tanımadığı anlamına da gelmiyor. Mesela kaynakların yönetimi konusunda, kullanıcıyı CPU ve RAM kaynaklarını her bir containerda ne kadar kullanacağını belirlemeye yönlendiriyor. Ayrıca, yerel depolar, genel bulut sağlayıcıları gibi kullanıcı tarafından seçilecek bir depolama sisteminin otomatik olarak monte edilmesine olanak sağlar.
Özetlemek gerekirse, Kubernetes, altyapı seçeneklerini çoğaltırken, sistemi çok daha agile bir hale getiriyor. BT kontrolü de ciddi oranla artmış oluyor çünkü kubernetes tüm containerları, VM’leri ve yalın donanımları tek bir platformda buluşturabiliyor. Containerlaştırılan uygulamalar, birden fazla bulutta çok hızlı ve otomatik şekilde düzenlenebiliyor.
Geçtiğimiz Kasım ayında gerçekleşen Red Hat Forum’da, Turkcell’in Telco Cloud & Broadband Services Manager’ı Aykut Demirkol’un konuşmasına katılmıştık. Turkcell’in Telko Bulut yolculuğunu ve gelecek planlarını anlatan Demirkol’un da odak noktasında containers teknolojileri yer alıyordu. Konuşmasında 5G’yle beraber tüm sektörün virtual machine’lerden containers teknolojilerine kayacağını açıklayan Demirkol, her başarılı firma gibi Turkcell’in de yazılımlarını en güncel teknolojilerle yazmak istediğini ve cloud-native yazılımları güncellemektense Red Hat Kubernetes tarafına kaydıklarını belirtti.
Eğer sizin firmanız da bu dönüşüm sürecinden geçiyorsa, Containers & Kubernetes Cloud Academy kaynaklarıyla sunduğumuz eğitimlerle rakiplerinizin önüne geçebilirsiniz. Eğitimlerimize göz atmak ve Kubernetes teknolojileri hakkında daha fazla bilgi edinmek için Containers & Kubernetes Academy sayfamızı inceleyebilirsiniz.