‫Şimdi hala merak ediyor olabilirsiniz Docker'ın bazı temel özelliklerini öğrendikten
‫sonra, Docker'ın neden var olması gerekiyor?
‫Açıkçası, biz yazılım paketliyoruz Onlarca yıldır sunuculara yazılım dağıtan tonlarca
‫başka paket yöneticisiyle birlikte.
‫O zaman konuşalım.
‫Bu video şu konulara odaklanacak.
‫Etrafta üç şey var.
‫Neden Docker ve neden şimdi?
‫Ve o zamanlar ‫yaratıldı, sürtüşme oldu.
‫Gitmemize engel olan şeyler vardı. yazılım yaşam döngüsünün bir sonraki hız ve kullanım kolaylığı seviyesine, özellikle
‫Yaptığımız tüm yazılımları paketleme, dağıtma ve çalıştırma
‫etrafında.
‫Ve sanırım üç kişilik listeleri seviyorum.
‫Yani bu ana izolasyon listesi, ortamlar ve hız, konuşmak istediğim
‫bu üç alan üç genel neden hakkında.
‫Sanki konteynerlerin kendileri ‫ve bugün neden bu kadar popüler olduklarını açıklıyor.
‫ilk olarak izolasyon sorununu ele alalım.
‫Ve eğer başa dönersek Kariyerimin ilk yıllarında,
‫doksanlı yıllarda, hangi sunucuların eskiden konteynerler vardı.
‫Daha da geriye gidersek ‫2013, Docker oluşturulmadan önce.
‫Ve iki binli yılların başından bahsediyoruz. Doksanlı yıllarda,
‫ana bilgisayardan PC'ye geçtiğimizde, bu tipik bir yönetici gibi görünecektir.
‫Şirket başına birkaç sunucum vardı.
‫Biliyorsun, biz, biz gerçekten mümkün olmazdı ‫Kişi başına yüz sunucuyu yönetmek için.
‫Tekrar söylüyorum, bu 2000 yılıydı.
‫Ve bu yüzden bunları alacağız ‫çok pahalı, büyük sunucular.
‫Hepsini tüketmenin nadir olduğunu ‫kaynaklarını tek bir uygulama ile kullanabilirler.
‫O zaman bütün Bu uygulamaların hepsi aynı sunucuda bir araya
‫getirilmiş.
‫Ve sunucu kırılgan hale geldi.
‫Yönetmek zorlaştı çünkü bir uygulama için bir şeyi değiştirmeniz gerekirken başka bir uygulama farklı
‫bir şeye ihtiyaç duyar.
‫Ve sonra onları yönetmek zorunda kalacaksın farklı Python sürümleri
‫veya farklı Apache sürümleriniz farklı Sunucular, her şeyi dengelemek için.
‫Aynı zamanda, siz de Her sunucuya daha fazla şey
‫koydum ama hiçbir şey izole olmadı.
‫Yani tüm bu uygulamalar ‫aynı dosya sistemini paylaşıyor.
‫Genellikle birden fazla olamazlar. çok karmaşık hackleme
‫olmadan bu uygulamanın sürümleri.
‫Ve bu büyük bir sorundu.
‫Sonra sanal makineler geldi.
‫Sanal makineler gerçekten popüler olduğunda, hatta buluttan önce, tüm uygulamalarımızı
‫soyutlayabildik ve Hepsi aynı büyük ana bilgisayarda bulunan daha küçük VM'lere
‫daha az uygulama yerleştirmek.
‫Yani şöyle görünebilir ve biz tüm bunları yönetmenin
‫bir yolu olarak Chef veya Puppet ile başlayabilir artan sayıda sunucu.
‫Aslında, o kadar çok sunucumuz olurdu ki 2010'ların başında, Dockers'ın kuruluşundan önce,
‫çok zor bir hale gelmeye başlamıştı. hepsini aynı anda yönetmek için tek bir yöneticiydiniz, belki
‫de yönetmeye çalışıyordunuz Düzinelerce, hatta yüzlerce sunucu.
‫Bulut olsa bile, bize yardımcı oluyor ‫makineleri daha hızlı yıkıyor.
‫Çok fazlaydı, idare edilmesi gereken çok şey vardı, Birçoğumuz için çok fazla oldu ve bulut, bence
‫bunu yaptı daha iyi, ama aynı zamanda daha da kötü, çünkü çok daha fazlasını üretmeyi
‫çok daha kolay hale getirdi.
‫Peki Docker bu konuda nasıl yardımcı olabilir?
‫azaltmamıza nasıl yardımcı olabilir? izolasyonunu sağlarken yönetilmesi gereken
‫altyapı miktarı İşler kırılganlaşmasın veya yönetilmesi zor hale gelmesin diye
‫iş yükümüzü nasıl azaltabiliriz?
‫Eğer bu bizim 20 yıllık düzenimiz olsaydı önce, tüm bu sanal makineleri gereksiz
‫sayılarla dağıtmak yerine işletim sistemlerinde, konteynerlerin yaptığı şey bize
‫sanal makine gibi bir izolasyon sağlamaktır.
‫Tam olarak aynı değil, ama biz sadece Şimdilik bunun bir izolasyon katmanı olduğunu ve kendi IP'lerini
‫aldıklarını savunuyorlar. adreslerini, kendi dosya sistemlerini ve
‫kendi işlem alanlarını alırlar.
‫Ve bu yüzden neredeyse bir tam gibi görünüyor VM, ancak tüm farklı işletim sistemlerine
‫ihtiyacınız yok, bu yüzden işletim sistemi sayımızı azaltmak.
‫Fiziksel konak sayımız.
‫Artık sanal makine kullanmanıza gerek yok ‫izolasyon katmanı olarak.
‫Ve bunun yerine şöyle görünebilir SSH kullanmak yerine
‫Docker CLI kullanırsınız. Ya da eğer Kubernetes, Kubernetes CLI'yı
‫kullanabilirsiniz ve uygulamalarınızın tümü kendi konteynerlerinde izole edilmiştir.
‫Bu size aşağıdakiler de dahil olmak üzere birçok avantaj sağlar Aynı uygulamanın birden fazla sürümünü
‫aynı sistemde herhangi bir çakışma olmadan çalıştırmak.
‫Sırada çevre sorunu var.
‫Ve açıkçası biz dönüyorduk bahsettiğim gibi tonlarca OSS var,
‫ancak farklı türlerin sayısı ortamların sayısı da artıyordu.
‫Benim makinemde çalıştığını hiç duydun mu?
‫Bir nevi meşhur oldu ‫Jeff Atwood tarafından bir şaka olarak.
‫Stack Overflow'un kurucularından biri ‫meşhur blog yazısını okudum.
‫Ama bu benim makine fikrimde çalışıyor biraz iğneleyiciydi, ama şakası
‫şuydu: genellikle geliştiricinin işi uygulamanın doğru çalıştığından emin olmak için.
‫Ama tüm ortamlara sahip değiller ‫bu uygulamanın çalışması için gerekli olan.
‫Yani sadece kendi makinelerinde çalıştırıyorlar, kendi makinelerinde test ediyorlar
‫ve sonra başka bir yerde çalışmadığında, bunun benim makinemde çalıştığını söylüyorlar.
‫Bu gerçekten zor bir durum. Tüm bu farklı işletim sistemleri ve Docker bunu cehennemden
‫gelen matris olarak adlandırdı, Bu da aslında uygulamanızın her parçası
‫için anlamına geliyor.
‫Ve sonra her tür için ‫Bu konuda çevre.
‫Farklı bir yapılandırmanız var.
‫Belki de şu programı yüklemeniz gerekiyordur ‫bağımlılıkları farklı bir şekilde.
‫Belki de bağımlılıklar biraz farklıdır çünkü birinin diğerinde farklı
‫bir versiyonu vardır.
‫Tüm bu farklı türlere sahipsiniz ortamlarında muhtemelen dokümantasyon okumak
‫ya da yazmak zorunda kalmışsınızdır. geliştiricinin Mac'te kullandığı uygulamanın nasıl
‫yüklenmesi gerektiği hakkında üzerinde farklı şekilde kurulması gereken
‫pencerelerde farklı şekilde Linux sunucusu ve daha neler neler.
‫Şimdi konteyner görüntüsü ve konteynerin kendisi temel bir soyut veya
‫bir sözleşme haline geldi. çalıştığını ve içinde ne çalıştığını.
‫Fiziksel konteynerlerde olduğu gibi dünyanın dört bir yanına
‫mal göndermemizi sağlayan gerçek dünya neredeyse yüz yıl önceki tasarım.
‫Oradaki amaç, insanların fiziksel konteynerleri teslim etmek için içinde ne olduğunu
‫bilmek zorunda değildi.
‫Ve eşyalarını koyan insanlar konteynerin içindeki konteynerin
‫nasıl olduğunu bilmek ya da umursamak zorunda değildi. fiziksel olarak hedefine ulaştı.
‫Onlar şimdi epik bir soyutlamaydı dünya çapında milyonlarca konteynerin sevkiyatı ve oldukça Evinizdeki
‫hemen hemen her şey muhtemelen yaşamı boyunca bir konteynerde
‫bulunmuştur.
‫Aynı şey resimler için de geçerlidir ‫ve Docker kapsayıcıları artık.
‫Tutarlı bir standart formattır ‫şimdi OCI standartları olarak bilinmektedir.
‫Bunlar, nerede çalışırsanız çalışın konteyner, aynı tutarlı şekilde aynı konteyner
‫ile çalıştırılacaktır. tam bağımlılıkları ile oluşturulmuştur.
‫Sırada hız sorunu var.
‫İlle de burayı kastetmiyorum.
‫CPU'ların hızı veya hızı.
‫Bu şeyler doğal olarak zaman içinde daha hızlı, ama ben gerçekten
‫işin hızından bahsediyorum.
‫BT ve yazılım hakkında konuştuğumuzda, ve yazılım yaşam döngüsünden bahsediyorsak, aslında
‫işletmelerin ve kuruluşların fikirlerini hayata geçirmeleri, yazılım
‫fikirlerini sunmaları Müşteriye mümkün olan en hızlı şekilde ulaştırmak, yazılım yaşam döngüsünün
‫bir parçasıdır.
‫Görünen o ki, endüstri Şafağı'ndan bu yana altyapı
‫ve mimariyi değiştiriyor. tam da bu sebepten dolayı.
‫Bu güzel küçük grafiği yaptım Çünkü doksanlı yılların başından itibaren
‫başladık ve dağıtık bir mimaride PC'lere taşınan ana
‫bilgisayarlarımız vardı.
‫Bu büyük ölçüde hız ile ilgiliydi ‫değişimi yayabilme becerisi.
‫Artık DOS'u ana bilgisayarın güncellenmesini beklemek zorunda kalmadan
‫tek bir makine bir sonraki Unix sürümü ne olursa olsun.
‫Artık tek seferde hareket edemiyorduk.
‫Farklı parçalarımıza ihtiyacımız vardı. farklı hızlarda farklı yönlerde
‫hareket etmek için organizasyon.
‫Dolayısıyla dağıtık bilgi işlemin şafağı.
‫Sonra çıplak metalden sanala geçtik, çünkü donanım siparişini beklemekten
‫ve bir veri merkezinde uygulanacak.
‫İşleri hızlandırmak istedik ve ‫kaynaklarımızın daha iyi kullanılması.
‫Sanallaştırma ve sanal makineler ‫bu nedenlerden dolayı son derece popüler.
‫Ardından veri merkezinden buluta geçiş geldi. Çünkü artık fikirleri kendi fikirlerimizden
‫bile daha hızlı yaymamız gerekiyordu. donanım ve veri merkezleri izin verebilir.
‫Sunucuları çalıştırmak istedik Günler ya da haftalar değil, dakikalar
‫içinde sahip olmadık.
‫Ve bulut bize erişim sağladı ‫neredeyse anlık kaynaklara.
‫Açıkçası, bu yüzden ‫bulut bugün neden bu kadar büyük.
‫Ve son olarak, biz ‫bu yolculuğun bir sonraki ayağı.
‫Büyük ana bilgisayar genişlemesinden hareketle Çok fazla ana bilgisayar, çekirdek
‫ve işletim sistemimiz vardı.
‫Ve şimdi biz bunu yapabileceğiz. Bunların sayısını azaltabiliriz, çünkü
‫artık içindeki iş yükleri ve bunları aynı çekirdek üzerinde güvenli bir şekilde
‫birlikte çalıştırın.
‫Burada sunucusuz sistemi de dahil ediyorum. çünkü çoğu sunucusuz platformu gerçekten araştırırsanız,
‫bunlar gerçekten sadece arka planda çalışan konteynerler.
‫olarak gönderdiğiniz bir konteyner olabilir. bir görüntü veya işlevinizi içinde çalıştırdıkları
‫bir kapsayıcı olabilir, ama hala bir konteynerde çalışıyorlar.
‫İşte bu yüzden şu konular hakkında konuşmayı seviyorum daha hızlı, daha hızlı, daha hızlı, esasen
‫konteynerlerin ve Docker'ın size verdiği şey daha hızlı geliştirme, uygulamalarınızı
‫daha hızlı oluşturma, daha hızlı test etme ve sunucularınıza daha hızlı dağıtmak için.
‫Şimdi hala benimle misin?
‫Hala dikkatini çekebildim mi?
‫Bunu hızlıca özetleyelim.
‫Bu yüzden konteynerlerin ‫üç ana nedeni vardır.
‫Bana göre, daha iyi izolasyon Tek bir işletim sistemi içinde, bize zaman, işletim sistemi ve bağımlılık yönetimi
‫kazandırır, ama aynı zamanda uygulamalarımızı korumak için ihtiyaç duyduğumuz
‫izolasyonu da sağlar.
‫O zaman indirgedik ‫çevresel varyanslar.
‫Yani her biri arasındaki fark ‫çalıştırdığı ortam çok azdır.
‫Yine, genellikle sadece bağlantınız veritabanları için ayarlar, belki bazı
‫URL yolları, bunun gibi şeyler, bağlantı noktaları.
‫Ve sonra geri kalan her şey tam olarak ‫aynı inşa ettiğiniz ve test ettiğiniz gibi.
‫Ve son olarak hızımızı arttırmak değişim, sadece yazılımın kendisi için
‫değil, aynı zamanda bu yazılımı uygulamak istiyor.
‫Artık daha hızlı gelişebiliyoruz, daha hızlı oluşturun, sunucuları
‫daha hızlı dağıtın ve daha hızlı test edin.
‫Çünkü bu konteyner görüntüleri ve konteynerlerin kendilerinin oluşturulması,
‫dağıtılması ve yeniden konuşlandırmak ve yeniden çalıştırmak falan.
‫Umarım bu mantıklıdır.
‫Bir sonraki videoda görüşürüz.