Alfresco Dağıtım Yöntemlerinin Gözden Geçirilmesi
Alfresco İçerik Hizmetleri, Hyland tarafından sunulan bir içerik yönetim ürünüdür. Desteklenen bir yükleyici ile birlikte gönderilmemesi biraz benzersizdir. Bu makale, Alfresco kurulumu sırasında karar verme konusunda rehberlik sağlayan bir dizinin ilkidir. Seçeneklere genel bir bakış sunar ve her birinin avantaj ve dezavantajlarını tartışır. Aşağıdaki makaleler, belirli dağıtım seçeneklerini daha ayrıntılı olarak tartışacaktır.
Hyland , Alfresco İçerik Hizmetleri (ACS) için 4 dağıtım yöntemini belgelemektedir :
- Manuel Kurulum
- Uygun Kurulum
- Docker-Compose aracılığıyla Konteynerli Dağıtım
- Kubernetes ve Helm Charts ile Kapsayıcılı Dağıtım
Hyland, bu yöntemlerin her birini bir dereceye kadar belgelemiş olsa da, ürün destek organizasyonu tarafından desteklenmeyen veya sağlandığı gibi üretime hazır referans uygulamalardır. Başarılı olmak için Hyland, Alfresco ürününün bileşenlerinin yanı sıra seçilen dağıtım araçlarına aşina olan bir ekibe sahip olmanızı önerir.
Hyland'ın Platinum Ortaklarından biri olan SelenSoft Consulting, Enterprise Alfresco'ya odaklanmaktadır. Bu makaledeki bilgiler Topluluk Sürümü için geçerlidir, ancak bugüne kadar tam olarak doğrulanmamıştır.
Aşağıdaki düşünceler, her yöntemin seçilmesinin nedenlerini sağlar.
Manuel kurulum
Alfresco'yu kurmanın en basit yolu, Hyland tarafından sağlanan bileşenleri kopyalamak, onları ortama yerleştirmek ve kendiniz yapılandırmaktır.
El ile yükleme yöntemini kullanmanın başlıca iki nedeni, Windows'a dağıtmak veya Puppet, Chef veya SaltStack gibi bir yapılandırma yönetim aracı kullanmaktır.
İPUCU: El ile yükleme yoluyla çalışmak, ACS'nin nasıl çalıştığına dair kapsamlı bilgiler sağlar. Bu, yazılımla ilgili deneyim kazanmak isteyen herkese, hatta üretim için diğer dağıtım yöntemlerinden birini kullanmayı planlayan profesyonellere şiddetle tavsiye edilir. Bizim de genelde tercih ettiğimiz yöntemdir. |
Hyland, WAR dosyalarını Tomcat'e yükleme sürecini belgeler . Ancak belgeler, bir üretim ortamını kurmak için gerekli olan diğer konfigürasyonları dikkate almadan gerekli olan minimum konfigürasyonu kapsar. Ayrıca, talimatlar, Arama Servisleri , ActiveMQ , TRouter ve TEngines dahil olmak üzere gerekli diğer birkaç bileşenin kurulumunu ele almadığından, işlevsel bir üretim sistemi kurmak için yeterli değildir . Alfresco, doküman sitelerinde, proje GitHub sayfalarında ve topluluk sitelerinde belgeler sağlar. Ayrıca ActiveMQ ve Solr gibi diğer satıcılar tarafından sağlanan belgelere de güvenirler.
Uygun kurulum
ACS 7 ile başlayarak, Alfresco, tek bir ACS yığınını dağıtmak için bir referans Ansible çalışma kitabı sağlar. Başucu kitabı, ACS 6.2'nin dağıtımını da destekler. Kutunun dışında, RedHat/Centos veya Ubuntu'nun belirli sürümlerine dağıtılır. Başucu kitabı, küme dağıtmayı veya Windows ana bilgisayarlarına dağıtmayı desteklemez.
Kapsayıcılar kullanmak mümkün olmadığında, Ansible çalışma kitabı, Hyland'ın çalışma kitapları tarafından desteklenen bir Linux dağıtımını çalıştıran makinelerde manuel dağıtım için gereken adımları sağlar.
İPUCU: Manuel kurulum gerçekleştirmeyi planlarken bu çalışma kitaplarını ve diğer tüm ilgili belgeleri gözden geçirmeniz önerilir. |
NOT: SelenSoft Consulting, tam yığınları birkaç sunucuya dağıtmak için bu çalışma kitabını kullanır ve ardından sunucuları bir kümede birleştirir. Ne küme yapılandırması ne de birden çok ACS örneğini tek bir çağrıyla birden çok sunucuya dağıtmak için yönergeler sağlanmaz. |
Kapsayıcılı Dağıtım Seçenekleri
Sonraki iki dağıtım yöntemi, Hyland tarafından oluşturulan, mühürlenen, test edilen ve teslim edilen kapsayıcıları kullanır. Bu yöntemlere dalmadan önce, kapsayıcıların tarihçesini ve yapısını ve mümkün olduğunda kapsayıcı tabanlı dağıtımların kullanılmasının neden tercih edildiğini anlamak faydalı olacaktır.
Kapsayıcılar, tek bir bilgisayarda izole edilmiş ve sınırlı kaynaklara sahip ortamlarda birkaç yürütülebilir dosyayı çalıştırmaya yönelik modern bir yaklaşımdır. 1960'lar, birden fazla işletim sistemine sahip birkaç sanal bilgisayarı aynı anda tek bir fiziksel bilgisayarda çalıştırmak için özel CPU talimatlarını kullanma yeteneğini getirdi. Tek bir büyük bilgisayar, güvenlik ve performans açısından birden çok sanal makineyi yalıtılmış halde tutarken yüksek bir kullanım sağlayabilir.
1979'da Unix V7, chroot için destek ekledi. Bu, birisinin dosya sisteminin kısıtlı bir görünümüne sahip bir yürütülebilir dosyayı çalıştırmasına izin verdi. Bir kişi, işletim sistemi kitaplıklarının ve yapılandırma dosyalarının minimum bir kopyasını bir dizine yerleştirerek, minimum kopyayı dosya sisteminin kökü olarak gören ve bu hapisten çıkamayan bir hapishanede bir program çalıştırabilir. Sonraki çeyrek yüzyıl boyunca, Unix ve Linux çekirdekleri, başka kaynak sınırlamaları ve hapishaneler ekledi. Bunlar, bir kişinin CPU ve bellek gibi işlem kaynaklarını sınırlamasını ve hapsedilen işlemler için özel ağlar kurmasını sağladı.
Google, 2006'da Linux'ta kaynakları sınırlamak ve süreçleri hapsetmek için tutarlı bir sistem sağlayan İşlem Kapsayıcılarını yayınladı ve daha sonra Kontrol Grupları (CGroups) olarak yeniden adlandırdı. 2008'e kadar Linux Containers (LXC) piyasaya sürüldü ve CGroups ve Linux Namespaces için desteği birleştirdi.
2013'te Docker, birçok LXC özelliğinin kullanımını basitleştirdi. Bu, bir kişinin değişmez ve kriptografik olarak imzalanmış dosya sistemi görüntüleri oluşturmasına ve ardından görüntünün değişebilir ancak geçici bir kopyası içinde bir program yürütmesine izin verdi. Bu çalışan program yalnızca görüntü tarafından tanımlanan dosya sistemini gördü ve kaynak sınırlarına ve kendi ağına sahip olabilir. Bir konteynerdi. Bu, insanlara her hizmet için tamamen yeni bir çekirdeğe ihtiyaç duymadan sanal makinelerin birçok avantajını sağladı. Kapsayıcılar, Çekirdeği ana bilgisayar işletim sistemi ile paylaştı.
Üretim için hangi dağıtım yönteminin kullanılacağını düşünürken genellikle konteyner tabanlı bir yaklaşım tercih edilir. Kapların aşağıdakileri anlamak önemlidir:
- Desteklenen ve test edilen temel işletim sistemleri üzerine kurulmuştur.
- Bağımlılıkların ve yapılandırmaların belirli desteklenen ve test edilmiş sürümlerini dahil edin.
- Bir yayından diğerine tutarlı bir klasör yapısına sahip olun.
- Geliştiricilerin, canlı ortamlarda yayınlanan aynı ikili dosyaları kullanmasına izin verin.
- Değişmezdir, yani her bir ortamımızda (örneğin geliştirme, aşama ve üretim) tam olarak aynı kod çalışır.
- Çok çeşitli linux çekirdekleri, dağıtımları ve sürümleri üzerinde dağıtıma izin verin.
- Donanım kaynaklarının daha yüksek kullanımına izin verirken, sanal makinelere benzer yalıtım ve kaynak paylaşımı avantajları sağlar.
- Genellikle daha yeni görüntülere atıfta bulunarak ve yeniden başlatarak basitleştirilmiş yükseltmeler sunar.
- Twelve-Factors'da belirtilenler gibi iyi DevOps uygulamalarını teşvik edin .
Hyland/Alfresco, Windows veya ARM kapsayıcıları sağlamaz. Bu nedenle SelenSoft, üretim dağıtımları için Windows veya ARM makinelerinde Linux kapsayıcılarını çalıştırmamayı tercih ediyor.
Docker Oluşturma kurulumu
Hyland, ACS 6.1, 6.2 ve 7.x sürümleri için geliştiricilerin bir geliştirme ortamını birkaç dakika içinde başlatması amaçlanan temel Docker Compose dosyaları sağlar.
Kubernetes'te üretim uygulamalarını dağıtma deneyimine sahip bir ekibe sahip olmayan müşteriler için, ACS'yi dağıtırken fiziksel veya sanal sunucularda kapsayıcıları kullanmak çok faydalı olabilir.
Bir üretim ortamında kapsayıcı tabanlı dağıtımın avantajlarını elde etmek için Docker Compose dosyalarını genişletmek, Kubernetes müşteriler için iyi bir seçenek olmadığında yararlıdır. Bu serideki gelecekteki makaleler bunu daha ayrıntılı olarak ele alacaktır.
Helm kurulumu aracılığıyla Kubernetes
Hyland ayrıca ACS 6.1, 6.2 ve 7.x sürümleri için referans Dümen çizelgeleri sağlar. Bunlar, kümelenmiş dağıtımlar için kullanılmak üzere tasarlanmıştır.
Müşterilerin Kubernetes'te üretim iş yüklerini kurmak, yapılandırmak, bakımını yapmak, yükseltmek ve çalıştırmak için mücadele etmesi yaygın bir durumdur. Kubernetes ile başarılı olan müşteriler, bu faaliyetlerden sorumlu özel bir BT ekibine sahip olma eğilimindedir.
Amazon Web Services, Google Cloud Platform, Microsoft Azure veya RedHat'ın OpenShift'i gibi bir bulut sağlayıcısında Kubernetes kullanan şirketleri sık sık görüyoruz. Bu teklifler, Kubernetes çalıştırmanın karmaşıklığını azaltma eğiliminde olsa da, yine de özel bilgi gerektirir. Bu özellikle ağ oluşturma, depolama, yapılandırma ve bakım için geçerlidir.
Sağlanan Helm çizelgeleri, diğer dağıtım yöntemlerinin hiçbirinde kapsanmayan en iyi uygulamalar da dahil olmak üzere harika bir başlangıçtır. Ancak, bir üretim ortamını çalıştırmak için yine de önemli miktarda özelleştirme gerektirirler. Helm ve Kubernetes konusunda henüz güçlü becerilere sahip olmayan müşteriler için bu, Docker Compose kullanmaya kıyasla risk ekleyebilir.
Birkaç yıl önce piyasaya sürülmesinden bu yana bazı şeylerin değiştiğini not etmek önemlidir. Elbette, ilgili sorularınız için bizimle buradan iletişime geçmekten çekinmeyin