Bir görev Tanım 1 veya daha fazla bir koleksiyon kap konfigürasyonları . Bazı Görevler yalnızca bir konteynere ihtiyaç duyabilirken, diğer Görevler aynı anda çalışan 2 veya daha fazla potansiyel olarak bağlantılı konteynere ihtiyaç duyabilir. Görev tanımı, hangi Docker görüntüsünün kullanılacağını, hangi bağlantı noktalarının açığa çıkarılacağını, tahsis edilecek CPU ve bellek miktarını, günlüklerin nasıl toplanacağını ve ortam değişkenlerini tanımlamanızı sağlar.
Bir Görevi doğrudan çalıştırdığınızda bir Görev oluşturulur; bu kaplar (görev tanımında tanımlanan) durdurulana veya kendiliğinden çıkana kadar başlatır ve bu noktada otomatik olarak değiştirilmezler . Görevleri doğrudan Çalıştırmak, kısa süreli işler için idealdir, belki de CRON aracılığıyla gerçekleştirilen şeylere örnek olarak.
Bir Hizmet , her zaman belirli sayıda Görevinizin her zaman çalıştığından emin olmak için kullanılır . Bir Görev kapsayıcısı hata nedeniyle çıkarsa veya temeldeki EC2 örneği başarısız olursa ve değiştirilirse, ECS Hizmeti başarısız Görevi değiştirir. Bu nedenle , Hizmetin CPU, Bellek ve Ağ bağlantı noktaları açısından bol miktarda kaynağa sahip olması için Kümeler oluşturuyoruz . Bizim için Görevlerin çalıştıkları sürece hangi örnek üzerinde çalıştığı gerçekten önemli değil. Bir Servis yapılandırma başvuruları bir görev tanımı. Görevleri oluşturmaktan bir Hizmet sorumludur .
Hizmetler genellikle web sunucuları gibi uzun süre çalışan uygulamalar için kullanılır. Örneğin, Oregon'da Node.JS tarafından desteklenen web sitemi (us-west-2) dağıttıysam, Yüksek Erişilebilirlik uğruna üç Erişilebilirlik Alanında (AZ) çalışan en az üç Görev olduğunu söylemek isterim; biri başarısız olursa, bende iki tane daha var ve başarısız olan değiştirilecek (bunu kendi kendini iyileştirme olarak okuyun !). Bunu yapmanın yolu bir Hizmet oluşturmaktır. Kümemde AZ başına 2 adet olmak üzere 6 EC2 bulut sunucum olsaydı, Hizmet, cpu, bellek ve ağ kaynaklarını da dikkate alırken, olabildiğince en iyi şekilde bölgeler arasında Görevleri otomatik olarak dengeleyecektir.
GÜNCELLEME:
Bunları hiyerarşik olarak düşünmenin yardımcı olduğundan emin değilim.
Bir diğer önemli nokta da, bir Hizmetin bir yük dengeleyici kullanacak şekilde yapılandırılabilmesidir, böylece Görevleri oluştururken - yani Görev Tanımında tanımlanan kapsayıcıları başlatır - Hizmet, otomatik olarak kapsayıcının EC2 bulut sunucusunu yük dengeleyiciye kaydeder. Görevler bir yük dengeleyici kullanacak şekilde yapılandırılamaz, yalnızca Hizmetler yapabilir.