Moby? hmm Moby nedir?


Herkese Selamlar,

17-20 Nisan tarihleri arasında düzenlenen DockerCon 17 AUSTIN konferansında bizleri şaşırtan ve merak uyandıran önemli yeni gelişmeler sahne oldu. Onlardan birisi de Moby projesi olmaktadır. Bu yazıda Moby projesiyle ilgili bildiklerimi sizlere anlatmaya çalışacağım.

Moby anonsunda yaşadığım ufak bir kesiti de sizlerle öncesinde paylaşmak istiyorum. Konferansın 2.günü başladığında bildirimler de twitter kanalına düşmeye başlıyordu. Moby projesini Solomon Hykes anons ettiğinde GitHub’daki Docker deposuna bakarak projede ne gibi değişikliklerin yapıldığına dair bilgi almak istiyordum. Fakat o da ne? Docker organizasyonunun içerisinde Docker projesi yok!, arıyorum yok arkadaş, haydaa, neler oluyor diyerek zamanında fork ettiğim Docker deposuna yöneldim ve Docker organizasyonu içerisinde aradığım Docker, bir Moby organizasyonu içerisinde Moby ismiyle bulunduğunu gördüm. Anons yapıldığı gibi Docker deposu Moby organizasyonuna yeni bir ad ile transfer edilmiş meğerse. (Bu gelişmeden 2 ay öncesinde Docker’a katkı sağlayan belli bir grup ile görüşüldüğünü söylüyor Solomon fakat kaynak kodlarına dokunmayan ama sürekli takipte kalan ara kullanıcıları düşünemediklerini o yüzden bu geçişi iyi bir şekilde açıklayamadıklarını da ekliyor kendisi. — yazı sonunda paylaştığım podcast’te bunları açıklıyor Solomon — ) Bu gelişme için ayrıca bir PR (pull request) hazırlandığını gördüm ve nedir ne değildir hakkında okudukça işi kavrama sürecine girilmiş oldu. Tabi bu esnada konferansta sunum devam ediyor + bununla ilgili hızlıca bir blog paylaşımı da yapılmıştı. Bu bilgi bombardımanlarıyla Moby ve Docker platformunun geleceğini de az çok hangi boyuta geldiğini gösterir nitelikteydi. Unutmadan, yorumların, tartışmaların ve bilgilerin havalarda uçuştuğu o meşhur PR’nin bağlantısını sizinle paylaşıyorum: #moby/moby/pull/32691. Docker deposu transfer edildiğinden bulunmuyor ama erişmek istediğimizde direkt Moby projesine yönlendirme işlemi yapılmaktadır.

Evet, gelelim Moby projesinin çıkışına; Docker aracının doğmasıyla birlikte (şuraya docker’ın ilk kez görücüye çıktığı The future of Linux Containers sunumunu da bırakayım), Docker bu 4 yıl içerisinde çok fazla evrimleşmeye ve yeni fonksiyonelliklere sahip olmaya başlamıştı. Sürekli gelen (alt) özelliklerle Docker projesi kendi içinde monolithic bir yapıya bürünme yolunda ilerliyordu. Docker Inc., bu monolithic yapıya bir dur demek amacıyla yeni açık kaynak projeleri paylaşmaya başlamıştı. Bunlardan bazıları runC, containerd, SwarmKit ve VPNKit olmaktadır. Bağımsızlığını ilan eden bileşenler ayrı projeler ve ayrı organizasyonlarda bakımı ve versiyonlamaları ile karşımıza çıkıyorlar (swarmkit hariç şu an için). Bu projeleri Docker kendi içinde kullanıyor ama diğer önemli bir amaç ise bu bileşenleri farklı şirketler de kullanabiliyor olmasıdır. Docker Inc, bunu bir adım daha öteye taşıyarak Docker içerisindeki esas modülü diğer bileşenlerden ayrıştırmak ve daha modüler hale getirmek üzere yeni açık kaynak bir proje duyurdu. Bu yeni ana modülün ismi Moby olarak karşımıza çıkmıştır. Artık ne kadar bağımsız proje niteliği taşıyan bileşen varsa hepsi farklı organizasyonlara dağıtılarak kendilerine has bakımı ve sürüm politikalarına gidilmesi isteniyor. Moby’den çıkartılan bileşenler Moby projesinin bir parçası olmaya devam edecektir. Ayrışma işlemi hala Moby içerisinde sürüyor, onlara yer bulunana kadar moby organizasyonunun içerisinde tutulmaya devam edileceği söylenmekte.

Solomon Hykes yanlış anlaşılmaları önlemek amacıyla twitter hesabından Moby projesinin ve ona ait bağımsız projeleri açıklayan bir görsel de paylaşmıştı:

Resim konuyu çok daha güzel tasvir ediyor aslında. 3 aşamada, containerd, linuxkit, runc vb ile Moby içerisinde birliştirilerek Docker CE, bunun üzerine data center, universal control plane vb ürünler ile Docker EE meydana geliyor artık. Moby projesi ve bağımsız moby’ye ait olan/olacak kütüphaneler üzerine kurularak Docker CE (community edition) ve Docker EE (enterprise edition) ürünleri oluşmaktadır. Moby bir entegrasyon projesi haline geliyor. Docker haricindeki diğer şirketler Moby kullanarak kendi Docker benzeri ürünlerini çıkartabilecekler. Farklı kütüphaneler geliştirerek moby üzerinden hepsinin birleştirimi yapabilir hale gelecekler. Bunların dışında, Docker aracı tarafında bir şey değişmediğini görüyoruz. Son kullanıcı Docker CE ve Docker EE sürümlerini kullanmaya devam ediyor. Docker client (docker cli) yerini başka bir araca bırakmıyor. Moby projesine has yeni bir moby client geliyor. moby cli ile birlikte çıkarılması istenen ürünün birleştirimi sağlanıyor. Docker Inc, Mart 2017 tarihinde sürüm yayınlama politikasını değiştirerek YIL/AY dayalı yaklaşıma geçmişti. Docker CE Edge ve Stable sürümlerinde herhangi bir değişiklik olmamaktadır. Aynı şekilde Docker EE sürümününde de değişikliğe gidilmemiştir. Kısaca Docker ürünleri Moby ile oluşturulan ürünler olmaya başlamıştır. Fedora, RHEL & CentOS üçlüsünden esinlenilerek de bu yaklaşımın daha uygun ve uyumlu olacağını savunuyorlar. Docker CE ürününü CentOS, Docker EE ürününü RHEL ve Moby projesini de Fedora benzetmesi yapılmaktadır.

Moby’ye ait bildiğim ilk Moby Summit 19 Haziran 2017 tarihinde gerçekleşiyor.

Solomon Hykes Docker, Moby ve Container’lar hakkında konuştuğu 1 saatlik podcast’i dinleyebilirsiniz: https://changelog.com/gotime/47

Umarım genel çerçevede konuyu anlatabilmişimdir sizlere. Bir sonraki yazıda görüşmek üzere.

Diğer Kaynaklar:

No Comments

Sorry, the comment form is closed at this time.