Skip to main content
Uncategorized @tr

Konteynerleri Anlamak: Docker Ve Kubernetes

01-KonteynerleriAnlamak

Konteynerler veya kapsayıcılar, karmaşık dijital ürünler geliştiren işletmelerin geliştirme süreçlerine çeviklik ve modernizasyon kazandıran bir yol olarak son yıllarda hızla yükseliyor. Gartner, konteyner teknolojisini kullanan işletmelerin 2022’nin sonuna dek %75’lik bir orana ulaşacağını öngörüyor. Bu kadar hızlı büyüyen bir sektörde farklı çözümler ortaya çıksa da Docker ve Kubernetes adeta endüstri standardına dönüşüyor. Google’ın Türkiye’deki ilk bulut çözüm ortağı Global IT olarak bu yazıda Docker ve Kubernetes’in farklılıklarına odaklanıyoruz. 

Dijitalleşmenin her endüstri ve şirket için elzem olduğu bir çağı yaşarken, işletmelere rekabet avantajı kazandıracak dijital çözümlerin geliştirilme biçimleri de değişiyor. Zira internet ortamında gerçekleştirilen işlemler giderek karmaşıklaşıyor, uygulamalar her geçen gün yeni ve şaşırtıcı özelliklerle kullanıcı deneyimini iyileştiriyor.

Bir e-ticaret sitesinden finansal hizmetler uygulamasına, Netflix gibi bir akış platformundan abonelik modeliyle özel içerikler sunan bir medya kuruluşuna, geliştirilen web uygulamalarında ve mobilde çalıştırılan iş yükleri ağırlaşıyor. Buna karşılık, kullanıcılar dijital çözümlerden her zaman daha fazlasını bekliyor – ki bu da kesintisiz, hızlı ve inovasyona açık geliştirmeyi bir mecburiyete dönüştürüyor. Konteyner teknolojisinin son yılların en çok tercih edilen DevOps yaklaşımı olmasının arkasında da bu talep ve ihtiyaç yatıyor. 

Google’ın Türkiye’deki ilk bulut çözüm ortağı Global IT olarak bu yazıda, bugünün uygulama geliştirme süreçlerinde bir endüstri standardına dönüşen Docker ve Kubernetes çözümlerinin arasındaki farklara odaklanacağız. İki çözüm birbiri yerine kullanılabilir mi, birinin yapamadığını diğeri yapabilir mi gibi soruların yanıtlarını vermeye çalışacağız. Fakat dilerseniz önce endüstrinin büyüme ve bu teknolojilerin benimsenme hızını gösteren birkaç veri paylaşalım. Sonra da bu yazıda anlatılanları kavramayı kolaylaştıracak, kısa tanımlardan oluşan küçük bir sözlük sunalım.

Konteyner yönetimi istatistikleri 2022

• Araştırma ve danışmanlık şirketi Gartner, küresel konteyner yönetimi yazılımı ve hizmetleri için 2024’e kadar güçlü gelir artışı öngörüyor. 2020’de 465,8 milyon dolar olan piyasa değerini 2024’e kadar 944 milyon dolara ulaştırması beklenen konteyner çözümlerinin, 2022’ye kadar küresel kuruluşların %75’inden fazlasının geliştirme süreçlerinde kullanılacağını tahmin ediyor.

• ABD merkezli pazar araştırması şirketi IDC‘ye göre 2023’e kadar son 40 yılda oluşturulan uygulama sayısına eşdeğer, 500 milyondan fazla yeni uygulama oluşturulması bekleniyor. Geliştirilen bu uygulamaların her şirketin dijitalde sunduğu değer önerisinin merkezinde yer alacağını belirten şirket, bu sebeple konteyner bulut sunucularında 2019-2023 arasında yıllık %62 bileşik büyüme bekliyor. 

• Gartner’a göre 2023’e gelindiğinde kurumsal şirketlerin %70’inin en az iki konteyner tabanlı uygulama kullanacağı düşünülüyor.

Konteyner teknolojisi sözlüğü

Bugün birçok geliştirme ekibi çevik yaklaşımlar benimsiyor ve bu durum hızlı yazılım dağıtımına duyulan ihtiyacı beraberinde getiriyor. Bir ürünün veya özelliğin fikir aşamasından uygulamaya geçişi arasındaki sürenin kısalması, dijitalde rekabet avantajının temelinde konumlanıyor. Hal böyle olunca, buna olanak tanıyan konteyner teknolojisine yönelik çözümler de artıyor. Bu alanda en sık kullanılan iki çözüm olan Kubernetes ve Docker karşılaştırmasına geçmeden önce kısa tanımlarla konuyu biraz daha açmaya çalışalım.

• Konteyner nedir? Ayrıntılarını şu yazımızda özetlediğimiz konteynerler, herhangi bir ortamda çalışmak için gerekli tüm öğeleri içeren yazılım paketleridir. Kullanıcıların internet ortamında yaptığı her eylem, küçük ve kolay geliştirilebilir yazılım paketleri olan konteynerler üzerinde çalışarak sonuca dönüşüyor.

Konteynerler, geliştirici ekiplerine kapsamlı iş yüklerini ve uygulama mimarilerini birbirinden bağımsız yapı taşlarına ayırma olanağı sunuyor. Bu sayede tek hata noktaları (single point of failure | SPoF) ve hantal yazılım geliştirme süreçleri ortadan kalkıyor. 

• Konteyner çalışma zamanı nedir? Konteyner motoru (container engine) olarak da bilinen konteyner çalışma zamanı (container runtime) bir işletim sisteminde kapsayıcıları çalıştırabilen bir yazılım bileşenidir. Konteynerler, çalışmak için konteyner çalışma zamanlarına ihtiyaç duyuyor. 

• Kubernetes nedir? Kubernetes, konteynerli iş yüklerini ve hizmetleri yönetmek için geliştirilmiş, taşınabilir, genişletilebilir, açık kaynaklı bir platformdur. Kubernetes, konteyner yönetimi için tasarlanmış bir çözüm olarak, hızla büyüyen bir ekosistem tarafından kullanılıyor.

• Docker nedir? Docker, uygulama geliştirmek, dağıtmak ve çalıştırmak için geliştirilmiş açık bir platformdur. Docker, yazılımların hızlı bir şekilde dağıtılmasını olanaklı kılmak için uygulamaları altyapılardan ayırmaya yarar. Bir uygulamayı konteynerlerde yalıtılmış bir ortamda paketleme ve çalıştırma yeteneği sağlayan bir çözümdür. 

İhtiyaç duyacağımız kısa bilgileri ve endüstrinin büyüklüğüne dair verileri öğrendikten sonra, Docker ve Kubernetes arasındaki temel farkılık ve benzerliklere geçebiliriz.

Docker ve Kubernetes arasındaki farklılıklar nelerdir? 

Docker ve Kubernetes arasındaki temel fark şudur: Docker, konteynerler oluşturmanıza ve çalıştırmanıza yardımcı olurken, Kubernetes bu konteynerleri yönetmek için tasarlanmıştır. 

• Docker ve Kubernetes rakip değildir, birbirini tamamlayan iki teknolojidir.

• Docker, konteynerler oluşturmak ve paylaşmak, konteynerleri hem küçük hem de büyük ölçekte çalıştırmak için bir dizi araç sağlar.

• Kubernetes, bir sunucu kümesinde çalışan konteyner tabanlı uygulamaları yöneten bir araçtır. 

• Docker’ı Kubernetes olmadan, Kubernetes’i de Docker olmadan kullanabilirsiniz. 

İki uygulama arasındaki temel farkları anlamak için “Docker ve Kubernetes ile neler yapılır?”sorusuna yanıt vermeye çalışalım.

Docker ve Kubernetes ile neler yapılabilir? 

Docker imajları olarak da adlandırılan konteyner imajları oluşturabilirsiniz. Konteyner tabanlı uygulamalarınızı dağıtabilirsiniz. Oluşturduğunuz konteynerleri Docker Engine aracılığıyla çalıştırabilirsiniz.Veri tabanları veya web uygulamaları gibi üçüncü parti konteyner tabanlı uygulamaları dağıtabilirsiniz.Konteynerleri çalışma arkadaşlarınızla paylaşabilirsiniz.

Farklı konteynerleri bir mikro hizmet mimarisine bağlayabilir, uygulamalarınız arasında bağlantı kurabilirsiniz. Docker Hub’la konteynerlerinizi internette paylaşabilirsiniz.Mevcut konteynerleri durdurarak veya güncellenmiş yazılarla yenilerini başlatarak uygulamaları güncelleyebilir, yükseltebilirsiniz. Docker Compose ile çoklu konteyner uygulamaları çalıştırabilirsiniz. Uygulamalarınızın bellek ve CPU kullanımı gibi metriklerinizi ölçebilirsiniz. 

Docker Kubernetes

Şimdiye kadar anlattıklarımız, Docker’ın konteyner yönetimi olanağı sunmadığını gösterse de, Docker Swarm moduyla bu işlem de gerçekleştirilebiliyor. Anlaşılacağı üzere, Kubernetes tek bir çözümken, Docker farklı fonksiyonları içinde barındıran bir çözüm ailesi olarak öne çıkıyor. Aradaki farklar hâlâ net değilse, aşağıdaki biçimde özetleyelim:

• Docker, dizüstü bilgisayarınızda veya bir grup sunucuda konteyner oluşturmak ve çalıştırmak için bir dizi araç sunar.

• Docker Swarm, Docker’ın bir sunucu kümesindeki konteynerleri yönetmek için sunduğu araçtır. 

• Kubernetes, sunucularda veya bulutta konteynerleri dağıtmak ve yönetmek için bir araçtır.

Docker ve Kubernetes: Önce hangisini öğrenmeliyim? 

Kubernetes ile çalışmayı planlıyorsanız, önce Docker’ı kullanmaya alışmanız gerektiğini söyleyebiliriz. Docker’ı kullanmak size bir konteyner imajının nasıl oluşturulacağı ve konteynerlerin nasıl çalıştırılacağı konularında temel sağlar. Başka bir deyişle, konteynerleri yönetebilmek için, önce nasıl oluşturulduğunu öğrenmeniz gerekir ki bu durumda başvuracağınız ilk araç Docker’dır.

Docker terminolojisine ve kullanımına aşina olduğunuzda, Kubernetes tarafında karşınıza çıkacak yenilikleri birbirine daha kolay bağlayabilirsiniz. Docker’la oluşturduğunuz konteyner kümelerinizi kendi bilgisayarınızda çalıştırabilir ya da Kubernetes veya Docker Swarm aracılığıyla farklı sunucularda çalıştırır, yönetir ve düzenleyebilirsiniz.

Global IT ile konteyner teknolojisinin avantajlarını keşfedin

Google’ın Türkiye’deki ilk bulut çözüm ortağı olan Global IT, Google’ın Cloud’da sunduğu tüm çözüm portföyünü erişilebilir kılıyor. Bu sayede dijital uygulamalar geliştiren her işletme endüstri standardına dönüşen konteyner teknolojisinin avantajlarından yararlanabiliyor. İşletmelere uygulama geliştirme süreçlerini çevik, ölçeklenebilir ve hızlı hale getiren, tamamen bulutta çalışan Google çözümlerini ulaştıran Global IT, e-ticaretin modernizasyonu, altyapı modernizasyonu, felaket kurtarma, veri bulutu çözümleri, yapay zeka, uygulama modernizasyonu gibi hizmetleriyle 15 yıldır 3.300’ü aşkın başarılı projeye imza atan bir Google Cloud Partner’i olarak konumlanıyor. 

Aralarında Modanisa, Hepsiburada, Scorp, Kütahya Porselen, Vivense, AloTech, N11 gibi Türkiye’nin en önemli markalarının bulunduğu müşteriler, Global IT’nin uygulama geliştirme ve bulut teknolojilerindeki deneyimine güveniyor. İşletmelerin dijital dönüşümünü hızlandıran Google Cloud Platformu’na geçişi altyapı ve uygulama bazında destekleyen Global IT, yönetim süreçlerinde de görev alıyor. 

Google Cloud teknolojilerine ve dijital dönüşüme ilişkin, işletmeniz için neler yapabileceğimizi keşfetmek isterseniz ihtiyaçlarınızı görüşmek için bizimle aşağıdaki formdan iletişim kurabilirsiniz.

Bir yorum bırakın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.