Container düzenlemesi nedir?

Container düzenleme, uygulamaları uygun ölçekte dağıtabilmeniz için ağ oluşturma ve container yönetimini otomatikleştirme sürecidir. Container'lı hâle getirme, bir uygulamanın kodunu herhangi bir altyapı üzerinde çalıştırmak için gereken tüm dosya ve kütüphanelerle paket haline getirir. Mikro hizmet mimarileri, uygulamalar büyüdükçe ve daha karmaşık hâle geldikçe yüzlerce hatta binlerce container'a sahip olabilir. Container düzenleme araçları, tedarik ve zamanlamadan dağıtım ve silmeye kadar tüm yaşam döngülerini otomatikleştirerek container altyapısı yönetimini basitleştirmeyi amaçlar. Kuruluşlar, bakımla ilgili ek işletim yüklerine maruz kalmadan uygun ölçekte container'lı hâle getirme özelliğinden yararlanabilir.

Container düzenlemesi neden gereklidir?

Container'lar, bulut temelli uygulamalar için standart işlem birimi haline geldi. Bulut sağlayıcıları, her türlü işlem iş yükünü çalıştırmak üzere sanal bulut sunucularını sunar ve container tabanlı iş yükleri için mükemmel bir seçimdir. Container'ları çalıştırabilmek için tek gereken şey, sunucunun kendisinin Docker gibi bir container'lı hâle getirme hizmetini çalıştırmasıdır. Docker, yazılımı ve ilişkili kitaplıkları, sistem araçlarını, kodu ve çalışma zamanını bir container'a paketlemeye yarayan açık kaynaklı bir araçtır. Tek bir bulut sunucusunda birkaç container çalıştırmaya ve yönetmeye yarayan hafif bir çözümdür, ancak ölçeklendirme zorlaşır.

Yönetilen container düzenleme platformlarından önce kuruluşlar, birden çok makinede container dağıtımını, zamanlamasını ve silmeyi yönetmek için karmaşık komut dosyaları kullanıyordu. Bu komut dosyalarını korumak, sürüm denetimi gibi zorlukları beraberinde getirdi ve kurulumun ölçeklenmesi zorlaştı. Container düzenleme, manuel yönetimle ilgili zorlukları ortadan kaldırarak bu karmaşıklıkları otomatik duruma getirir ve çözer. 

Container düzenlemesi kullanım örnekleri

Aşağıdakileri yapmanız gerektiğinde container düzenleme araçları gerekli olur:

  • Çeşitli bulut sunucularında container'ları yönetme ve ölçeklendirme. 
  • Birçok farklı container'lı hâle getirilen uygulamayı çalıştırma.
  • Uygulamaların farklı sürümlerini (örneğin CI/CD genelinde test ve üretim) aynı anda çalıştırma.
  • Bir container'ın birden çok yinelenen bulut sunucusunu (replika) çalıştırarak sunucu arızası durumunda uygulama hizmeti sürekliliği sağlama.
  • Birden çok farklı coğrafi bölgede bir uygulamanın birden çok bulut sunucusunu çalıştırma.
  • Bütçeleme amacıyla birden çok bulut sunucusunun kullanımını en üst düzeye çıkarma.
  • Binlerce farklı mikro hizmetten oluşan büyük container'lı hâle getirilen uygulamaları çalıştırma.

Container düzenlemesinin avantajları nelerdir?

Container düzenleme çözümü olmadan karmaşık container mimarilerini yönetmek zor olabilir. Container düzenlemesi, container oluşturma, yapılandırma, zamanlama, dağıtım ve silme işlemlerini yönetir. Ayrıca şunları da destekler:

  • Uygulama yük dengeleme ve trafik yönetimi.
  • Container'lar arasında uygulama hizmet devamlılığı.
  • Container'lı hâle getirme sürecinde güvenlik.
  • Container durumunu izleme.
  • Temel sunucu veya bulut sunucusu kaynaklarından container'ların temin edilmesi.

Aşağıdakiler container düzenlemelerinin diğer avantajlarıdır.

Yerleşik dayanıklılık

Basit container'lı hâle getirme hizmetleri genellikle bir container'ın çevrimdışı olması durumunda yeniden başlamaz. Benzer şekilde, bir container'ın üzerinde çalıştığı makine durursa makine yeniden başlatıldığında container yeniden başlatılmayacaktır. Container düzenleme çözümleri, container'ların otomatik olarak yeniden başlatılmasını veya makine arızası durumunda her zaman birden fazla sürümün çalışmasını sağlayabilir.

Yüksek performans

Container düzenlemesinin en büyük avantajlarından biri, container'lı hâle getirilen uygulamaların ölçeklenebilirliğini, kullanılabilirliğini ve performansını otomatik duruma getirmesidir. Container düzenleme araçlarını talep, ağ kullanılabilirliği ve altyapı kısıtlamalarına göre ölçeklenecek şekilde yapılandırabilirsiniz. Container düzenleme çözümü, container ağı genelinde performansı izleyebilir ve container'ları optimum performans için otomatik olarak yeniden yapılandırabilir.

Kaynak optimizasyonu

Temel sunucuların ve bulut sunucularının çalıştırılması maliyetlidir ve maliyet optimizasyonu için verimli bir şekilde kullanılmalıdır. Container düzenlemesi, kuruluşların kullanılabilir her bir örneğin kullanımını en üst düzeye çıkarmasına ve kaynaklar tükendiğinde istek üzerine bulut sunucuları başlatmasına olanak tanır. Bu, altyapıda maliyet tasarrufunu getirir.

Container düzenlemesi nasıl çalışır?

Container'lar, hemen hemen her makinede çalışmak için ihtiyaç duydukları tüm kitaplıklar ve işlevlerle birlikte gelen bağımsız Linux tabanlı uygulamalar veya mikro hizmetlerdir. Container düzenlemesi, bir grup bulut sunucusu (düğüm olarak da adlandırılır) container'ları yöneterek çalışır. Birbirine bağlı container'ları çalıştıran düğüm grubuna küme denir. 

Container düzenlemesi, ilk olarak kümedeki her düğümde çalışan temel bir container'lı hâle getirme çözümü gerektirir ve bu, genellikle Docker'dır. Düğümler ayrıca düzenleme aracını çalıştırmalıdır. Denetim düzlemine sahip belirlenmiş bir ana düğüm, düzenleme çözümünün denetleyicisidir. Çözümün yöneticisi, container düzenleme aracını yönetmek ve izlemek için ana düğümde bir GUI veya komut satırı denetleyicisi kullanır. 

Oluşturma ve zamanlama

Container düzenleme çözümü, sistemin belirli gerekli durumunu öğrenmek için YAML veya JSON ile yazılmış bir bildirimsel yapılandırma dosyasını okur. Araç, dosyada belirtilen bilgileri kullanarak:

  1. Bir container kayıt defterinden container görüntülerini alır.
  2. Container'ları bireysel gereksinimlerine göre tedarik eder.
  3. Container'lar arasında gerekli ağ bağlantısını belirler. 

Araç daha sonra çoklu container uygulamasını küme genelinde zamanlamalar ve dağıtır. Düğümler ve container'lar arasındaki en iyi uyum, yapılandırma dosyasında belirtmek yerine container düzenleme aracı tarafından belirlenir. Araç, düğümün CPU, bellek gibi kaynak kısıtlamalarının yanı sıra tanımlı container gereksinimlerine göre her bir container'ı çalıştırmak için asıl düğümü seçer. 

Management

Container'lar kümede çalışmaya başladıktan sonra düzenleme aracı, belirtilen performans durumunda kalmasını sağlamak için genel sistem sağlığını yönetir. Aşağıdakileri içerebilir:

  • Container'lar arasında kaynak tahsisi.
  • Container'ları yeni düğümlere dağıtma veya container'ları silme.
  • Uygulamaya giden trafikte yük dengeleme.

Bir container düzenleme çözümü; büyük, karmaşık çok container'lı iş yüklerini ve ortamlarını optimize etmek ve güvence altına almak için container'ların yaşam döngüsünü yönetir. Bir kuruluşun ihtiyaç duyduğu kadar container'lı hâle getirilen uygulamayı yönetebilir. Yüksek erişilebilirlik ve hata toleransı için birden fazla ana düğüm çalıştırmak, daha yüksek organizasyon talepleri altında tipik bir durumdur.

Container düzenlemesinin zorlukları nelerdir?

Aşağıdakiler container düzenlemesiyle ilgili zorluklardan bazılarıdır.

Ek yönetim katmanları

Kubernetes, kuruluşlar için yaygın olarak kullanılan açık kaynaklı bir container düzenleme çözümüdür. Kullanım kolaylığı, platformlar arası kullanılabilirliği ve geliştirici desteği ile bilinir. Bununla birlikte, yine de temel kaynak yönetimine ihtiyaç vardır. Container'lar yerine artık Kubernetes için kaynak sağlama işlemini yönetmeniz gerekir. Bulut temelli container düzenleme araçları, kendi kaynak gereksinimlerini kendileri yönettikleri için daha iyi bir seçimdir. 

Yetersiz eğitim

Doğru araca sahip olmak, optimum container düzenlemesini sağlamak için yeterli değildir. Ayrıca düzenlemeyi doğru bir şekilde işlemek, istenen durumu tanımlamak ve izleme çıktısını anlamak için yetenekli bir araç yöneticisine ihtiyacınız vardır. Karmaşık container ortamlarının başarılı bir yöneticisi olmak için DevOps ve CI/CD süreci, container'lı hâle getirme ve makine mimarisi hakkında derinlemesine bir anlayış gereklidir. Ekibinizde doğru beceri setini oluşturmak için eğitim gerekebilir.

Sürüm oluşturma yapılandırmaları

Bir yazılım uygulaması sürümlüdür. Geliştirme, test ve üretim gibi belirli ortamlar için özel yapılara sahiptir. Aynı şekilde, container düzenleme araçları, sürüm geçmişine sahip birden fazla belgelenmiş yapılandırmayı gerektirir. Bu, dağıtım ve yönetimin yanı sıra hızlı, tekrarlanabilir sağlama işlemlerini gerçekleştirebilecekleri anlamına gelir.

AWS, container düzenleme gereksinimlerinizi nasıl destekleyebilir?

Amazon ECS, kuruluşların AWS'de uygun ölçekte container'lı hâle getirilen uygulamalar oluşturması, dağıtması ve yönetmesi için tam olarak yönetilen bir container düzenleme hizmetidir. Bu hizmet sürümsüzdür ve küme sağlamayı otomatik olarak yönetir. CPU ve bellek gereksinimlerini, ağ ve IAM politikalarını, başlatma tipi ve veri birimlerini belirleme özelliği sayesinde container işletim özelliklerinin denetimini elinizde tutarsınız. API çağrıları ile container özellikli uygulamaları başlatabilir ve durdurabilir, kümenizin tam durumunu sorgulayabilir ve güvenlik grupları, Esnek Yük Dengeleme (ELB), Amazon Esnek Blok Deposu (EBS) birimleri ve AWS Kimlik ve Erişim Yönetimi (IAM) rolleri gibi birçok bilinen AWS özelliğine erişebilirsiniz. 

Container düzenleme için Kubernetes kullananlarda Amazon Esnek Kubernetes Hizmeti (Amazon EKS), AWS Bulut'ta ve şirket içi veri merkezlerinde Kubernetes hizmetleri çalıştırmaya yarayan, yönetilen bir Kubernetes hizmetidir. EKS, şirket içinde AWS Outposts'a, sanal makinelere veya sunuculara entegre araçlar ve dağıtım ile tutarlı, tam olarak desteklenen bir Kubernetes çözümü sunar. Amazon EKS, bulutta container'ları planlama, uygulama erişilebilirliğini yönetme, küme verilerini depolama ve diğer temel görevlerden sorumlu Kubernetes denetim düzlemi düğümlerinin erişilebilirliği ve ölçeklenebilirliğini otomatik olarak yönetir. AWS altyapısının tüm performans, ölçek, güvenilirlik ve erişilebilirliğinin yanı sıra AWS ağ ve güvenlik hizmetleriyle entegrasyonları da kullanabilirsiniz.

Hemen bir hesap oluşturarak AWS'yi kullanmaya başlayın. 

AWS'de Sonraki Adımlar

Ücretsiz bir hesap için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS Yönetim Konsolu'nda oluşturmaya başlayın.

Oturum açın