Vagrant 1 – Nedir/Neden

Bu yazıda Vagrant teknolojisinin ne işe yaradığını ve ne için kullanmamız gerektiğini işleyeceğiz.

Yazılım projelerinin bağımlılıkları ve karmaşıklıkları her geçen gün artıyor. Bu durum çeşitli problemleri de beraberinde getiriyor. Problemlerin en önemlisi de geliştirme ortamı (work environment).

download


Problem 1:  Yeni başlayan geliştirici

Ekibe yeni dahil olan geliştirici arkadaş için  geliştirme ortamlarının kurulması tam bir işkence. Örneğin, daha önce çalıştığım kurumsal bir firmada geliştirme ortamının kurulumu yaklaşık 2 gün sürmüştü (!). Zaman/kaynak ve motivasyon israfı.

Uygulama kurulumu için bir setup script ya da bir dokümantasyon oluşturabilirsiniz. Fakat bu dosyaların sürekli güncel tutulması gerekir ki bu da bir yazılımcı için gerçekten çok can sıkıcı bir durumdur.

Problem 2: Yeni teknoloji

Her gün onlarca teknoloji araçları ortaya çıkıyor. Yazılımcı bazı durumlarda bu yeni teknolojiyi bilgisayarında test etmek ya da çalıştırmak ister. Fakat yeni deneyeceğimiz bu teknoloji bizim düzgün çalışan geliştirme ortamımızı olumsuz etkileyebilir. Nahoş bir durum.

Problem 3: Çoklu proje

Geliştirdiğimiz birden fazla uygulamayı birbirinden tamamen izole edilmiş bir şekilde ayağa kaldırıp birbiriyle haberleştirmek isteyebiliriz. İzole edilmiş diyorum çünkü uygulamaların local makinada kullandıkları kaynaklar çakışabilir.

Problem 4: … ama lokalimde çalışıyor

Çoğu yazılımcının meslek hayatında çok kere sarfettiği cümle. Yazılımcı olarak bir problemi çözmüş ve proda kodu göndermiş olalım. Bir süre sonra geliştirdiğimiz çözüm prod ortamında  çalışmayabilir. Bunun sebebi ortamların farklılıkları. Prod ile geliştirme ortamları çoğu durumda farklıdır. Ortamlar arasındaki farklılık, problemi doğru bir şekilde gözlemleyip uygun çözüm üretmemize engel olur çoğunlukla.

Yukarıdaki ortamlar üzerine bir kaç problemden bahsettik. Tüm bu problemleri Vagrant ile kolaylıkla çözebiliriz.

vagrant-are-you-still-develop-in-a-nonvirtual-environment-6-638Vagrant Nedir?

Vagrant ; taşınabilir, tek kullanımlık, yeniden üretilebilir ortamlar oluşturmamızı sağlayan,bunun için sanallaştırma (Virtualbox,VMWare vs..) teknolojisinden faydalanan bir sanal makina yöneticisidir.Kolaylıkla yapılandırma teknolojileriyle (Chef,Ansible) konfigure edilebilir.

Uygulamayı bir kere Vagrant’a geçirdikten sonra istediğimiz an, istediğimiz makinada geliştirme ortamımızı çok hızlı bir şekilde oluşturabiliriz. Ortam bağımlılıklarını izole eder. Her yazılımcı klonlanmış prod ortamında kod yazıyor gibi olacak 🙂

say-one-more-time-works-on-my-machine

 

Bir sonraki yazıda Vagrant kurulumu ve Vagrant ile basit bir geliştirme ortamının nasıl kurulacağını göreceğiz.

EOF

Kaynakça :

https://www.vagrantup.com/

Reklamlar

Vagrant 1 – Nedir/Neden” üzerine bir düşünce

  1. Geri bildirim: Ansible Nedir 2 | fütursuz bilgi

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s