Sanal makinelerin çalışma prensiplerinden daha farklı bir sanallaştırma işlemi yaptığı için daha çok yükleme ile daha az yer kaplayan Docker, kaynak tüketimi konusunda sağladığı avantajlar sayesinde bilindik sanal makine yazılımlarından çok daha kullanışlıdır. Günden güne popülerliğini artıran Docker, Amazon ile sağlamış olduğu işbirliğine bağlı olarak birçok ekol tarafından tavsiye ediliyor.

Docker’ın avantajlarını anlamak adına öncelikle sanal makinelerle olan farkını anlamak gerekmektedir. Sanal makine uygulamaları  sunucunuzun donanımını sanallaştırarak sanal bir ortam sağlarken Docker tarafından kullanılan conteiner’lar bir sunucunun işletim sistemini sanallaştırmaktadır. Aradaki farkı şematize etmek adına “sanal makine monitörü” olarak adlandırılan Hypervisor kavramını incelemek faydalı olacaktır. Sanal makine yazılımlarında da Docker yazılımında da şemanın temel kısmında önce sunucu, sonra ise Hypervisor yer almaktadır. Docker’ın farkı, şemanın bu iki adımından sonra ortaya çıkmaktadır. Sanal makineler üçüncü aşamada sanal olarak çalıştırılacak her uygulama için ayrı bir Guest OS kanalı temin ederken Docker bir Guest OS üzerinde kendi yazılımını çalıştırır ve açılması istenen uygulamaları Guest OS üzerinde açılan Docker aracılığıyla kullanıma açar. Bu sistemin doğru işlemesinde Docker düzenleyicisi, “orkestra şefi” olarak bilinen Kubernetes da yer alır.

BlueMark Academy’nin Docker & Kubernetes eğitimleri sayesinde yazılımlarınızı daha kısa sürede test edebilir ve kullanıma hazır hâle getirebilirsiniz. Özellikle farklı sistemlere entegre projelerde yazılım süreçlerinin vazgeçilmezlerinden olan sanallaştırma işlemi konteyner teknolojisi sayesinde çok daha hızlı hâle gelerek sizi bir adım öne taşıyacaktır. BlueMark Academy’nin eğitimleri hakkında daha fazla bilgi sahibi olmak ya da Docker & Kubernetes eğitimlerine kaydolmak için hemen bizimle iletişime geçin!

Docker ve Konteynerler’e Genel Bakış

Docker, “konteynerleştirme” olarak da bilinen ve işletim sistemi derecesinde sanallaştırma sağlayabilme niteliğine sahip olan bir bilgisayar yazılımıdır. Solomon Hykes’ın geliştirdiği Docker’ın ilk sürümü 13 Mart 2013 tarihinde piyasaya sürülmüş ve o zamandan beri yükselerek sürdürdüğü stabilite grafiği sayesinde sanal makine kullanıcılarını kendi safına çekmiştir. Konteynerlerin, sanal makinelerin çalışma mantığından farklı olarak birbirinden izole ve bağımsız hâlde çalışıyor olmaları hız ve pratiklik adına avantaj anlamı taşımaktadır. İmaj (image) adı verilen salt okunur dosya sistemleri ile oluşturulan konteynerler tek bir işletim sistemi çekirdeği üzerinde çalıştıkları için daha hafif bir yapıya sahiptirler.

Docker’ın Sanal Makinelere Üstünlüğü

Docker’ın sanal makinelerle karşılaştırıldığı zaman sağladığı en büyük avantajlardan birisi uygulamaların standart bir zemin üzerinde konumlandırılarak bütün platformda aynı çalışma biçiminin benimsenmesidir. Sanal makine mantığında kurulan her organizasyon sisteminde ayrı ayrı denemeler gerçekleştirmek gerekmektedir. Docker’ın open-source (açık kaynak) kodlu bir yazılım olması da popülaritesi adına önemli dipnotlardan birisi olarak görülmektedir. Son yıllarda artan özgür yazılım furyasına bu şekilde katılım sağlayan Docker, uygulamaları Linux çekirdeği üzerinden çalıştırıyor olması ile de bu tavrını korumaktadır. Ayrıca sanal makinelerin çalışma süreleri dakikalarınızı alırken Docker konteynerleri saniyeler içerisinde çalışarak daha hızlı bir deneyime sahip olmanızı sağlamaktadır.

AWS, Docker Kullanmanızı Öneriyor

Bulut yazılımlarının tekel adreslerinden birisi hâline gelen Amazon Web Services, yüzlerce dev partneriyle birlikte yürüttüğü çalışmalarda Docker kullanımını öneriyor. AWS, hem açık kaynak kodlu hem de ticari Docker versiyonlarını desteklerken aynı zamanda Docker üzerinde çalışan birçok servisi kullanıcının hizmetine sunmaktadır. Örneğin AWS hizmetlerinden Amazon ECS, AWS bulutlarında Docker conteiner’ları çalıştırmak adına piyasaya sürülmüş yüksek performanslı bir conteiner düzenleme hizmeti olarak karşımıza çıkmaktadır. Öte yandan AWS Fargate, altyapı dağılımına ve yönetimine gerek kalmaksızın Docker conteiner’larını çalıştırma imkânı sunmaktadır. Amazon EKS’den Amazon ECR’ye, AWS Batch’ten AWS Copilot’a dek birçok Amazon Web Services hizmeti Docker kullanımı adına kullanıcının hizmetindedir.

Docker ve Kubernetes

Kapsayıcılı uygulamalar, farklı makinelere dağıtılmış birçok kapsayıcıyı içerdiği için bu uygulamaların çalışır biçimde tutulması karmaşık bir iş olarak görülebilir. Docker ile birlikte çalışan Kubernetes bu karmaşanın kontrol altında tutulmasını sağlamaktadır. Kubernetes ile birlikte kullanıcılar, iş yüklerini taşınabilir kılarak zamandan büyük bir tasarruf sağlarken kapsayıcıların zamanlanmasını ve ölçeklendirilmesini sağlayabilmektedir. Kubernetes kapsayıcıların kolayca özelleştirilebilmesini ve daha fazla genişletilebilir uygulama kullanımını sağlayarak son derece avantajlı bir sanal uygulama deneyimi sunar. Kubernetes Docker ile birlikte çalışan düzenleyiciler arasında en çok kullanılanıdır.

BlueMark Academy’nin eğitimleri hakkında daha fazla bilgi sahibi olmak ya da Docker & Kubernetes eğitimlerine kaydolmak için hemen bizimle iletişime geçin!