Skip to main content
search

Containerization uygulamalarının en popülerlerinden biri olan Docker, büyük bir hızla Virtual Machine (VM)’lerin yerine almaya başlıyor. Nedeni ise oldukça bariz: Konteyner’lerin VM’lere kıyasla çok hızlı ve taşınabilir olmaları.

Klasik olarak bir VM imajı üzerinde uygulama sunucularınızı ayağa kaldırdığınızda alt tarafta bu yapının çalışması için hem Host, hem de Guest işletim sistemi seviyesinde komutların işlenmesi gerekir. Bu da özetle, uzun süredir deneyimlediğimiz VM tabanlı uygulamalarda performans sorunlarına neden olur.

Konteyner’lerin Sağladığı Avantajlar Neler?

Docker’ın Containerization teknolojisi Host işletim sisteminde bağımsız şekilde Konteyner yapılarının çalışmasına olanak sağlıyor. Böylece, Guest işletim sistemlerine bu anlamda duyulan ihtiyaç ortadan kalkıyor, ayrıca performans ve izolasyon gibi konularda önemli avantajlar elde edilebiliyor.

devops

Uygulamalar için sağladığı performans iyileştirmelerine ek olarak, devreye alımda da büyük bir hızlanma söz konusu. Konteyner’ler sayesinde çok daha fazla test ortamının kısa süreler içerisinde oluşturulması mümkün. Hatta önceden hazırlanan imajlar sayesinde bu ortamlar birkaç adımda yaratılabiliyor. Hâl böyle olunca Developer ve Tester’ların ihtiyaç duyduğu ölçeklenebilir ortamların hazırlanması çok daha kolay bir şekilde gerçekleştiriliyor.

Bir diğer avantajı ise, Infrastructure-as-Code yaklaşımı ile konfigürasyonun hataya daha az açık hâle gelmesi ve tekrarlanabilirliğin artması. Bu sayede herhangi sorunla karşılaşıldığında, SVN, GIT, TFS gibi Repository’ler ile kaynak kod için yapılan versiyonlama benzeri (aslında tamamlayıcı) bir yaklaşım ile istenilen konfigürasyona dönülmesi mümkün oluyor. Bu sayede, örneğin canlıda karşılaşılan hataların Test ve UAT ortamlarında tüm komponentleri ile tekrar oluşturulabilmesinin önü açılıyor.

Test Mühendisliği Uygulamaları

Docker gibi yeni nesil DevOps teknolojileri test dünyasını dolaylı olarak etkiliyor gibi görünseler de aslında kökten değiştirme potansiyeline sahipler. Bu değişikliği ilk aşamada Test Otomasyonu ve Performans Testi gibi alanlarda hissetmekteyiz.

Performans Testleri özelinde, özellikle büyük miktarlarda yük yaratılması için çok sayıda Agent’ın kurulumunda bu teknolojiler ile işler bir hayli kolaylaşıyor. Ayrıca AWS gibi Container-as-a-Service gibi bir hizmetin kullanılması durumunda, kurulum maliyetleri çok daha aşağılara inmekte.

Bir diğer alan olan Test Otomasyonunda ise, Docker testlerin paralel koşumu için bulunmaz bir ortam sağlamakta. Aynı anda, tek bir cihaz üzerinde birçok farklı versiyonda testlerinizi koşmanız mümkün olabiliyor.

Docker ile ilgili daha fazla bilgi için: https://docs.docker.com/engine/getstarted/

Berk Dülger
Consultant – Keytorc

Close Menu