Azure DevOps Server için mimariye genel bakış

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2013

Not

Azure DevOps Server daha önce Visual Studio Team Foundation Server olarak adlandırılmıştı.

Dağıtımınızı en iyi şekilde planlamak ve yönetmek için öncelikle Azure DevOps Server temel mimarisini anlamanız gerekir. Mimariyi anlamak, dağıtımın genel durumunu korumanıza ve geliştirme ekiplerinizin gerektirdiği sunucuların ve hizmetlerin genel kullanılabilirliğini sağlamanıza yardımcı olabilir.

Azure DevOps Server çeşitli yollarla dağıtabilirsiniz: bir sunucuda; birçok sunucuda; ya da bir etki alanı veya çalışma grubunda veya etki alanlarında. Alternatif olarak, dağıtımınızın tüm sunucu öğelerinin Microsoft tarafından sizin için barındırıldığından Azure DevOps Services kullanmayı da tercih edebilirsiniz. Mimariyi anlamak, hangi topolojinin iş gereksinimlerinizi karşılayacak en büyük olasılıklı karar vermenize yardımcı olabilir. Topoloji seçiminizden bağımsız olarak, Azure DevOps Server temel alınan mimariyi anladıysanız, fiziksel ve mantıksal gereksinimleri daha iyi yönetebilirsiniz. Bu makalede, örnek dağıtımlar hakkında daha fazla bilgi için bağlantılarla birlikte çeşitli mimarilere basit bir genel bakış sunulmaktadır. Ayrıca hizmetler, veritabanları, yapılandırma bilgileri ve ağ bağlantı noktaları ve yerel dağıtımların protokolleri hakkında teknik bilgiler de sağlar.

Azure DevOps Server mimarisini ve dağıtımınızı nasıl etkileyeceğini anlamak için, aşağıdakileri göz önünde bulundurmanız gerekir:

  • Azure DevOps 'un mantıksal uygulama, veri ve istemci katmanları ve uygulama ve veri katmanları için bir veya daha fazla sunucu kullanmak isteyip istemediğiniz veya Azure DevOps Services kullanarak bulutta barındırılan uygulama ve veri katmanlarının olmasını isteyip istemediğiniz.
  • Bu katmanları barındıran fiziksel veya sanal sunucuların konumu
  • Team Foundation yapısı ve ortamınızda çalışan derleme bilgisayarlarının sayısı ve konumu, geliştirme uygulamalarınızı desteklemek için kaç tane olmanız gerektiği veya yazılım uygulamalarınızı derlemek ve dağıtmak için Azure Pipelines bulut hizmetleri kullanıp kullanmayacağınızı de kapsayan
  • Azure DevOps proxy sunucusu için olası gereksinim

Ayrıca, bu varlıklar arasındaki etkileşimleri göz önünde bulundurmanız gerekir. Örneğin, barındırılan Azure DevOps Server hizmetini kullanmayı seçerseniz, istemcilerinizin 443 numaralı bağlantı noktasında hizmete erişebildiğinden emin olmalısınız. Azure DevOps Server yerel olarak dağıtmayı seçerseniz, Azure DevOps Server hangi Web Hizmetleri, veritabanları ve nesne modellerinin kullandığını bilmeniz gerekir. Ayrıca, hangi ağ bağlantı noktalarının ve protokollerin varsayılan olarak Azure DevOps Server kullandığını ve hangi ağ bağlantı noktalarını özelleştirebileceğinizi bilmeniz gerekir. Son olarak, Azure DevOps Server ayarlamanız gereken izinleri ve dağıtımınızın bağlı olduğu bileşenleri ve programları anlamanız gerekir.

Kendi hizmetlerinin yanı sıra, Azure DevOps Server çalışması için diğer hizmetlere bağımlıdır. Bu hizmetler hakkında daha fazla bilgi için bkz. Azure DevOps Server veri ambarının Azure DevOps Server kavramları ve bileşenleri. Yükleme için gereksinimler ve Bağımlılıklar hakkında daha fazla bilgi için, Azure DevOps Server Yükleme Kılavuzu' na bakın.

Önemli

Microsoft Desteği veya veritabanlarını el ile yedekleme konusunda açıklanan yordamları takip etmediğiniz müddetçe Azure DevOps Server veritabanlarını el ile değiştirmemelisiniz. Diğer tüm değişiklikler, hizmet sözleşmenizi geçersiz kılabilir.

Azure DevOps Services

Azure DevOps Services

Microsoft, sizin için Azure DevOps Server tüm sunucu tarafı yönlerini barındırabilen Azure DevOps Services kullanma seçeneği sunar. Kaynak kodunuzun, iş öğelerinizin, yapı yapılandırmalarının ve takım özelliklerinin hepsi bulutta barındırılır. Mimari bir görünüm noktasından bu, Azure DevOps Server kullanımını büyük ölçüde basitleştirir, bu da mimarinin göz önünde bulundurmanız gereken tek yönleri istemci bileşenleri ve bunların Internet erişimidir.

Azure DevOps Services kullanırken, Microsoft hesabı kullanarak hizmete bağlanmak için bir Web tarayıcısı kullanın. Projeleri oluşturabilir, takımınızla Üyeler ekleyebilir ve sunucuları yönetme ek yükü olmadan yerel olarak yüklenmiş Azure DevOps Server çalıştığınız gibi çalışabilirsiniz. Azure DevOps Services, uygulama katmanınızı, veri katmanınızı ve yapı sunucularınızı bulutta barındırır.

Bulut Hizmetleri ile şirket içi dağıtımlar hakkında daha fazla bilgi edinmek için Azure DevOps Services ve Azure DevOps Servergözden geçirin.

Nesne modeli

Barındırılan veya yerel olarak dağıtılan mimariyle, sunucu veya istemci nesne modelini temel alan bir uygulama yazarak Azure DevOps 'un özelliklerini ve işlevselliğini genişletebilirsiniz. Tüm dağıtım türlerinde, istemci yeteneklerini genişleten uygulamalar yazabilirsiniz. Ancak, sunucu yeteneklerini genişletmek isterseniz uygulamanızın uygulama katmanı sunucusunda çalışması gerekir. İstemci yeteneklerini genişletmek için, uygulamayı Takım Gezgini aynı bilgisayarda çalıştırmanız gerekir.

Azure DevOps Server nesne modeli

Yerel dağıtımlar için Web Hizmetleri ve veritabanları

Azure DevOps Server, Azure DevOps için mantıksal uygulama, veri ve istemci katmanlarını barındıran sunucu veya sunuculara ayrı olarak yüklediğiniz ve yapılandırdığınız Web Hizmetleri ve veritabanları kümesini içerir. Görev panosu ve biriktirme listesi ekibi tabanlı özellikler gibi bazı özellikler yalnızca web tabanlıdır ve istemci tarafı Web tabanlı bir hizmet aracılığıyla yalnızca bir Web portalı üzerinden erişilir. Sürüm denetimi özellikleri gibi diğer kullanıcılara bir Web portalı veya bir istemci uygulaması aracılığıyla erişilebilir. Aşağıdaki çizimler, Azure DevOps Server Yerel dağıtımlarında Web Hizmetleri, uygulamalar ve veritabanlarının yüksek düzey bir görünümünü sağlar.

Azure DevOps Server ana hizmet katmanları

İsteğe bağlı Azure DevOps Server Hizmetleri

Azure DevOps Server istemcileri

Koleksiyon düzeyi Hizmetleri

Koleksiyon düzeyi hizmetler, proje koleksiyonu düzeyindeki işlemler için işlevsellik sağlar. Bu hizmetlerden bazılarını kullanarak Azure DevOps Server genişleten uygulamalar oluşturabilirsiniz. Azure DevOps Server yönelik uygulamalar oluşturma hakkında daha fazla bilgi için bkz. uzantıları geliştirme.

Not

Bazı hizmetler birden fazla düzeyde görüntülenir. Örneğin, kayıt defteri hizmeti koleksiyon düzeyinde ve sunucu düzeyinde çalışır ve her iki listede de görünür.

Framework Hizmetleri:

  • Kayıt defteri hizmeti
  • Kayıt Hizmeti (Azure DevOps Server önceki sürümleriyle uyumluluk için)
  • Özellik hizmeti
  • Olay hizmeti
  • Güvenlik hizmeti
  • Konum hizmeti
  • Kimlik yönetimi hizmeti
  • Sürüm denetimi Web hizmeti
  • Çalışma öğesi Izleme Web hizmeti
  • Team Foundation derleme Web hizmeti
  • Laboratuvar Yönetimi Web hizmeti
  • VMM Yönetim Web hizmeti
  • Test Aracısı denetleyici Web hizmeti

Sunucu düzeyi hizmetler

Sunucu düzeyi hizmetler (uygulama düzeyi hizmetler olarak da bilinir), yazılım uygulaması olarak Azure DevOps Server işlemler için işlevsellik sağlar. Bu hizmetlerden bazılarını kullanarak Azure DevOps Server genişleten uygulamalar oluşturabilirsiniz.

Framework Hizmetleri:

  • Kayıt defteri hizmeti
  • Olay hizmeti
  • Proje koleksiyonu hizmeti
  • Özellik hizmeti
  • Güvenlik hizmeti
  • Konum hizmeti
  • Kimlik yönetimi hizmeti
  • Yönetim hizmeti
  • Koleksiyon yönetimi hizmeti
  • Katalog hizmeti

Veri katmanı

Veri katmanı verileri, saklı yordamları ve diğer ilişkili mantığı içerir. Azure DevOps Services kullandığınızda, veri katmanı Azure SQL Server kullanılarak sizin için barındırılır. Azure DevOps Server yerel dağıtımında mantıksal veri katmanı, SQL Server içindeki aşağıdaki işlemsel depolardan oluşur. Bu mağazalar bir fiziksel sunucuda bulunabilir ya da birçok sunucuya dağıtılmış olabilir. Bu işlem mağazalarından bazılarını kullanarak Azure DevOps Server genişleten uygulamalar oluşturabilirsiniz.

  • Yapılandırma veritabanı (TFS_Configuration)
  • Uygulama ambarı (TFS_Warehouse)
  • Analysis Services veritabanı (TFS_Analysis)
  • Proje koleksiyonları için veritabanları (TFS_CollectionName)

Aşağıdaki tabloda, Azure DevOps Server Yerel dağıtımlarda kullanılan veritabanlarının bir listesi verilmiştir. Aksi belirtilmedikçe, bu listedeki tüm veritabanlarını yüklendiği orijinal sunucudan ve örnekten taşıyabilir ve bunları başka bir sunucuya veya örneğe geri yükleyebilirsiniz.

Veritabanı Adı Description Sunucu
TFS_Configuration Bu veritabanı, Azure DevOps Server için kaynak kataloğunu ve yapılandırma bilgilerini depolar. Bu veritabanı Azure DevOps Server için işlemsel depoları içerir. Azure DevOps Server yüklenip yapılandırıldığında kullanılan SQL Server örneği.
TFS_Warehouse Bu veritabanı raporların verilerini depolar. Azure DevOps Server yüklenip yapılandırıldığında kullanılan SQL Server örneği.
TFS_Analysis Bu çok boyutlu veritabanı, proje koleksiyonlarından toplanan verileri depolar. SQL Server Analysis Services yüklenip yapılandırıldığında kullanılan SQL Server örneği.
Proje koleksiyonları için veritabanları Her proje koleksiyonu için, bu koleksiyondaki tüm projelerdeki verileri içeren bir veritabanı. Azure DevOps Server uyumlu SQL Server örneği.

İstemci katmanı

İstemci katmanı, sunucu nesne modeli aracılığıyla uygulama katmanıyla iletişim kurar ve bu katman için listelenen aynı Web hizmetlerini kullanır. Bu, Azure DevOps Server yerel olarak dağıtıp veya Azure DevOps Services kullanıyorsanız geçerlidir. Bu modelin yanı sıra, istemci katmanı, Visual Studio sektör ortakları (VSıP) bileşenleri, Microsoft Office Tümleştirme, komut satırı arabirimleri ve iade ilkeleri için bir çerçeveden oluşur.

Yapılandırma

Barındırılan hizmet, yerel olarak dağıtılan istemci hizmetlerine ve bulutta barındırılan uygulama ve veri katmanlarına bir Internet bağlantısına bağlıdır. Azure DevOps Server yerel dağıtımı SQL Server, Internet Information Services (IIS) ve Windows işletim sistemine bağlıdır. Seçtiğiniz topolojinizde, Azure DevOps Server SQL Server Reporting Services veya SharePoint ürünlerine de bağlı olabilir. Bu nedenle, Azure DevOps Server yapılandırma bilgileri aşağıdaki konumlardan herhangi birinde depolanabilir:

  • IIS veri depoları.
  • Azure DevOps Server için yapılandırma dosyaları.
  • Raporlama Hizmetleri için veri kaynakları (örneğin, TFSREPORTS verileri).
  • Azure DevOps Server için yapılandırma veritabanı. Azure DevOps Server kayıt defteri yapılandırma veritabanının bir parçasıdır.
  • Windows kayıt defteri.

Farklı yerel dağıtım Topolojilerine ve bu kaynakların nerede depolanabileceğini örnekler için bkz. Basit Topoloji Örnekleri, Orta düzey topoloji örneklerive Karmaşık Topoloji Örnekleri. Azure DevOps Server yerel bir dağıtımı koruursunuz, bu yapılandırma kaynaklarını hesapta gerçekleştirmeniz gerekir. Yapılandırmayı herhangi bir şekilde değiştirmek için, birden çok konumda depolanan bilgileri değiştirmeniz gerekebilir. Ayrıca, veri ve istemci katmanları için yapılandırma bilgilerini de değiştirmeniz gerekebilir. Azure DevOps Server, bu değişiklikleri yapmanıza yardımcı olacak bir yönetim konsolu ve birkaç komut satırı yardımcı programı içerir. Daha fazla bilgi için bkz. Yönetim görevi hızlı başvurusu.

Grup kimliklerinin Active Directory ve eşitlenmesi

Azure DevOps 'ın Active Directory bir etki alanında çalıştığı yerel dağıtımlarda, aşağıdaki olaylardan herhangi biri gerçekleştiğinde grup ve kimlik bilgileri eşitlenir:

  • Uygulama katmanı sunucusu başlatılır.
  • Azure DevOps grubuna bir Active Directory grubu eklenir.

Zamanlanan işte belirtilen süre sona erdiğinde. Varsayılan değer bir saattir ve Azure DevOps Server içindeki tüm gruplar 24 saatte bir güncelleştirme yapılır.

Kimlik Yönetimi Hizmetleri (ıMS) Active Directory ile eşitlenir ve değiştirilen kimlikler sunucudan istemcilere yayılır. Varsayılan olarak, tüm gruplar 24 saat içinde günceldir, ancak bunu dağıtımınızın ihtiyaçlarına daha iyi uyacak şekilde özelleştirebilirsiniz. Daha fazla bilgi için bkz. Azure DevOps Server Için güvenler ve ormanlar konuları. Active Directory kullanmayan yerel dağıtımlar için bkz. bir çalışma grubunda Azure DevOps Server yönetme.

Gruplar ve izinler

Yerel dağıtımda Azure DevOps Server, kendi varsayılan gruplar ve izinler kümesine sahiptir ve proje, koleksiyon veya sunucu düzeyinde ayarlayabilirler. Grup ve bireysel düzeylerde özel gruplar oluşturabilir ve izinleri özelleştirebilirsiniz. Ancak, Azure DevOps Server eklediğiniz kullanıcılar veya gruplar, Azure DevOps Server yerel dağıtımlarının bağımlı olduğu iki bileşene otomatik olarak eklenmez: SharePoint ürünleri ve Raporlama Hizmetleri. Dağıtımınız bu programları kullanıyorsa, bunlara kullanıcılar ve gruplar eklemeniz ve bu kullanıcıların veya grupların Azure DevOps Server tüm işlemlerde doğru şekilde çalışmasını sağlamak için uygun izinleri vermeniz gerekir. Daha fazla bilgi için bkz. Azure DevOps Server kullanıcıları veya grupları yönetme.

Barındırılan dağıtımlar için erişim, Microsoft hesaplarının ve takım üyeliğinin bir birleşimiyle denetlenir. Daha fazla bilgi için Azure DevOps Services genel bakışbölümüne bakın.

Ağ bağlantı noktaları ve protokoller

Varsayılan olarak, Azure DevOps Server yerel dağıtımı belirli ağ bağlantı noktalarını ve protokollerini kullanacak şekilde yapılandırılır. Aşağıdaki çizimde, bir basit dağıtımda Azure DevOps Server için ağ trafiği gösterilmektedir.

Şirket içi basit yükleme

Benzer şekilde, Azure DevOps Server barındırılan hizmeti belirli ağ bağlantı noktalarını ve protokollerini kullanacak şekilde yapılandırılır. Aşağıdaki çizimde barındırılan bir dağıtımda ağ trafiği gösterilmektedir.

Barındırılan Azure DevOps Server

Aşağıdaki çizimde, Visual Studio Laboratuvar Yönetimi bileşenleri içeren daha karmaşık bir dağıtımda ağ trafiği gösterilmektedir. (Laboratuvar Yönetimi TFS 2017 ve üzeri sürümler için kullanım dışı bırakılmış olduğunu unutmayın.)

Uygulama katmanı

Sanal ortamlar

sanal makineler

Sanal makineler, bir laboratuvar yönetim aracısının indirilmesi hakkında herhangi bir test denetleyicisiyle iletişim kurmak için 80 bağlantı noktasını kullanır. Herhangi bir iletişim sorununuz varsa, bu bağlantı noktasının etkinleştirildiğinden emin olun.

Varsayılan ağ ayarları

Varsayılan olarak, bir Azure DevOps dağıtımındaki bilgisayarlar arasındaki iletişim, aşağıdaki tabloda gösterilen protokolleri ve bağlantı noktalarını kullanır. Bağlantı noktası numarasını izleyen bir yıldız işareti (*) varsa, bu bağlantı noktasını özelleştirebilirsiniz.

Katman ve hizmet Protokol Bağlantı noktası
Uygulama katmanı – Web Hizmetleri HTTP/HTTPS 8080/443 *
Uygulama katmanı – SharePoint ürünleri yönetimi HTTP 17012 * SharePoint ürünleri Azure DevOps Server ile yüklenmişse; Aksi takdirde, rastgele oluşturulmuş
Uygulama katmanı – SharePoint ürünleri ve Raporlama Hizmetleri HTTP
Windows Yönetim Araçları (WMI) hizmeti (Raporlama Hizmetleri için URL 'Leri belirtmek ve doğrulamak üzere yükleme sırasında gereklidir)
80 * dinamik bağlantı noktası
Veri katmanı MS-SQL TCP 1433 *
Veri katmanı (SQL Server Analysis Services) MS-AS Varsayılan (2382 veya 2383) *
Varsayılan bağlantı noktası, yüklediğiniz SQL Server sürümüne ve örnek türüne bağlı olarak değişir. Dağıtımınız tarafından kullanılan bağlantı noktalarını öğrenmek için SQL Server Yapılandırma Yöneticisi kullanın.
Azure DevOps proxy sunucusu-istemciden proxy 'ye HTTP 8081 *
Azure DevOps proxy sunucusu-proxy 'den uygulama katmanına HTTP/HTTPS 8080/443 *
İstemci katmanı-Raporlama Hizmetleri HTTP 80 *
İstemci katmanı-Web Hizmetleri HTTP/HTTPS 8080/443 *
Yapı denetleyicisinden uygulama katmanına HTTP/HTTPS 8080/443
Aracıyı uygulama katmanına oluştur HTTP/HTTPS 8080/443
Release Management sunucusu HTTP veya HTTPS 1000 *
Release Management Client HTTP veya HTTPS 1000 *
Release Management Aracısı HTTP veya HTTPS 1000 *
Test denetleyicisini uygulama katmanına HTTP/HTTPS 8080/443 *
Uygulama katmanından test denetleyicisine .NET uzaktan iletişim 6901 *
Uygulama katmanından etki alanı adı sistemi (DNS) DNS dinamik güncelleştirme 53
Uygulama katmanı – Virtual Machine Manager HTTP 8100
Test denetleyicisine test aracısı .NET uzaktan iletişim 6910 *
Test aracısını test denetleyicisine .NET uzaktan iletişim 6901 *
Yapı aracısını oluşturmak için denetleyici HTTP üzerinden SOAP 9191
Yalıtılmış bir ortamda laboratuvar aracısına laboratuvar aracısı TCP Yuvaları 9050
Derleme denetleyicisine yapı Aracısı HTTP üzerinden SOAP 9191
Virtual Machine Manager Yönetici Konsolu – Virtual Machine Manager HTTP 8100
Virtual Machine Manager: Virtual Machine Manager konaklar Eylemleri gerçekleştirmek için Windows Uzaktan Yönetimi (WinRM)
Verileri aktarmak için Arka Plan Akıllı Aktarım Hizmeti (BITS)
eylemleri gerçekleştirmek için 80
443 veri aktarmak için
Virtual Machine Manager – Virtual Machine Manager kitaplık sunucusu Eylemleri gerçekleştirmek için WinRM
Verileri aktarmak için BITS
eylemleri gerçekleştirmek için 80
443 veri aktarmak için
Uygulama katmanı – Virtual Machine Manager konaklar Dağıtılmış bileşen nesne modeli/Windows Yönetim Arabirimi (DCOM/WMI) verileri aktarmaya yönelik iletişim 135
49152 ile 65535 arasında dinamik olarak atandı
İstemci katmanı – Virtual Machine Manager konaklar Sanal makineye ana bilgisayar tabanlı bağlantı. Ana bilgisayar tabanlı bağlantıları gerçekleştirmek için 2179
Barındırılan hizmetler HTTPS 443

Özelleştirilebilir ağ ayarları

Önceki tabloda gösterildiği gibi, özel bağlantı noktalarını kullanmak için Azure DevOps Server değiştirerek yerel dağıtımlarda uygulama, veri ve istemci katmanları arasındaki iletişimi değiştirebilirsiniz. Aşağıdaki tabloda HTTP 'den HTTPS 'ye bağlantı noktalarında örnek değişiklikler açıklanmaktadır.

Not

Azure DevOps Server HTTPS ve Güvenli Yuva Katmanı kullanacak şekilde yapılandırmak için, yalnızca HTTPS ağ trafiği için bağlantı noktalarını etkinleştirmemelidir, ayrıca diğer birçok görevi de gerçekleştirmeniz gerekir. Daha fazla bilgi için bkz. Azure DevOps Server için Güvenli Yuva Katmanı (SSL) Ile https 'Yi ayarlama.

Hizmet Protokol Bağlantı noktası
SSL ile Web Hizmetleri HTTPS Yönetici tarafından yapılandırıldı
SharePoint Yönetim Merkezi HTTPS Yönetici tarafından yapılandırıldı
SharePoint Ürünleri HTTPS 443
Reporting Services HTTPS 443
İstemci Web Hizmetleri HTTPS Yönetici tarafından yapılandırıldı
Sürüm Yönetimi HTTPS Yönetici tarafından yapılandırıldı