Azure DevOps Server için mimariye genel bakış

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Dağıtımınızı en iyi şekilde planlamak ve yönetmek için öncelikle temel alınan Azure DevOps Server 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 veya bir etki alanında ya da çalışma grubunda ya da 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ığı Azure DevOps Services kullanmayı seçebilirsiniz. Mimariyi anlamak, iş gereksinimlerinizi karşılama olasılığı en yüksek topolojiyi belirlemenize yardımcı olabilir. Topoloji seçiminizden bağımsız olarak, Azure DevOps Server temel alınan mimariyi anlarsanı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ılar içeren çeşitli mimarilere basit bir genel bakış sağlanır. Ayrıca hizmetler, veritabanları, yapılandırma bilgileri ve yerel dağıtımların ağ bağlantı noktaları ve protokolleri hakkında teknik bilgiler sağlar.

Azure DevOps Server mimarisini ve dağıtımınızı nasıl etkilediğ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ğinizi veya uygulamanın ve veri katmanlarının Azure DevOps Services kullanarak bulutta barındırılmasını isteyip istemediğinizi Azure DevOps Services
  • Bu katmanları barındıran fiziksel veya sanal sunucuların konumu
  • Team Foundation Derlemesi ve geliştirme uygulamalarınızı desteklemek için kaç taneye ihtiyacınız olabileceği veya yazılım uygulamalarınızı derlemek ve dağıtmak için Azure Pipelines bulut hizmetlerini kullanıp kullanmayacağınız da dahil olmak üzere ortamınızda çalışan derleme bilgisayarlarının sayısı ve konumu
  • Azure DevOps Proxy Sunucusu için olası ihtiyaç

Ayrıca, bu varlıklar arasındaki etkileşimleri de 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 olmanız gerekir. Azure DevOps Server yerel olarak dağıtmayı seçerseniz, Azure DevOps Server Web hizmetlerinin, veritabanlarının ve nesne modellerinin ne kullandığını bilmeniz gerekir. Ayrıca, Azure DevOps Server varsayılan olarak hangi ağ bağlantı noktalarını ve protokolleri kullandığını ve hangi ağ bağlantı noktalarını özelleştirebileceğinizi bilmeniz gerekir. Son olarak, Azure DevOps Server'de hangi izinleri ayarlamanız gerektiğini ve dağıtımınızın bağımlı 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ğlıdır. Bu hizmetler hakkında daha fazla bilgi için bkz. Azure DevOps Server kavramları ve Azure DevOps Server veri ambarının bileşenleri. Yükleme gereksinimleri ve bağımlılıkları hakkında daha fazla bilgi için bkz. yükleme kılavuzu Azure DevOps Server.

Önemli

Microsoft Desteği tarafından size yönerge verilmediği veya veritabanlarını el ile yedeklemek için açıklanan yordamları izlemediğiniz sürece Azure DevOps Server veritabanlarının hiçbirini el ile değiştirmemelisiniz. Diğer değişiklikler hizmet sözleşmenizi geçersiz kılabilir.

Azure DevOps Services

Azure DevOps Services

Microsoft, Azure DevOps Server sunucu tarafı yönlerini sizin için barındırabilen Azure DevOps Services kullanma seçeneği sunar. Kaynak kodunuz, iş öğeleriniz, derleme yapılandırmalarınız ve ekip özelliklerinin tümü bulutta barındırılır. Mimari açısından bakıldığında, mimarinin dikkate almanız gereken tek yönleri istemci bileşenleri ve bunların İnternet erişimi olduğundan bu, Azure DevOps Server kullanımınızı büyük ölçüde basitleştirir.

Azure DevOps Services kullanırken, Microsoft hesabınızı kullanarak hizmete bağlanmak için bir web tarayıcısı kullanırsınız. Sunucuları yönetme yükü olmadan projeler oluşturabilir, ekibinize üye ekleyebilir ve yerel olarak yüklenmiş bir Azure DevOps Server olduğu gibi çalışabilirsiniz. Azure DevOps Services uygulama katmanınızı, veri katmanınızı ve derleme sunucularınızı bulutta barındırıyor.

Bulut hizmetleri ve şirket içi dağıtımlar hakkında daha fazla bilgi edinmek için Azure DevOps Services ile Azure DevOps Server karşılaştırmasını gözden geçirin.

Nesne modeli

Barındırılan veya yerel olarak dağıtılan mimariyle, sunucusuna veya istemci nesne modeline dayalı bir uygulama yazarak Azure DevOps'un özelliklerini ve işlevselliğini genişletebilirsiniz. Tüm dağıtım türlerinde, istemci özelliklerini genişleten uygulamalar yazabilirsiniz. Ancak, sunucu özelliklerini genişletmek istiyorsanız, uygulamanızın uygulama katmanı sunucusunda çalışması gerekir. İstemci özelliklerini genişletmek için, uygulamayı Takım Gezgini ile 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 uygulamayı, verileri ve istemci katmanlarını barındıran sunucuya veya sunuculara ayrı olarak yükleyip yapılandırdığınız bir dizi Web hizmeti ve veritabanı içerir. Görev panosu ve kapsam ekibi tabanlı özellikler gibi bazı özellikler tamamen web tabanlıdır ve yalnızca istemci tarafı web tabanlı bir hizmet olan web portalı üzerinden erişilir. Sürüm denetimi özellikleri gibi diğer kullanıcılara web portalı veya istemci uygulaması aracılığıyla erişilebilir. Aşağıdaki çizimler, Azure DevOps Server yerel dağıtımları için web hizmetlerinin, uygulamaların ve veritabanlarının üst düzey bir görünümünü sağlar.

Ana hizmet katmanlarını Azure DevOps Server

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

İstemcileri Azure DevOps Server

Koleksiyon düzeyinde hizmetler

Koleksiyon düzeyindeki 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 için uygulama oluşturma hakkında daha fazla bilgi için bkz. Uzantı Geliştirme.

Not

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

Çerçeve 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
  • İş Öğesi İzleme Web hizmeti
  • Team Foundation Build Web hizmeti
  • Laboratuvar Yönetimi Web hizmeti
  • VMM Yönetim Web hizmeti
  • Test Aracısı Denetleyicisi Web hizmeti

Sunucu düzeyinde hizmetler

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

Çerçeve 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önetim 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ı SQL Server Azure'ı kullanarak 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şlem depolarından oluşur. Bu depolar tek bir fiziksel sunucuda bulunabilir veya birçok sunucuya dağıtılabilir. Bu işlem depoları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 listesi sağlanır. Aksi belirtilmedikçe, bu listedeki tüm veritabanlarını yüklendikleri özgün sunucudan ve örnekten taşıyabilir ve bunları başka bir sunucuya veya örneğe geri yükleyebilirsiniz.

Veritabanı Adı Açıklama 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şletimsel 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 projelerden verileri içeren bir veritabanı. Azure DevOps Server ile 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 Web hizmetlerini kullanır. Azure DevOps Server yerel olarak dağıttığınızda veya Azure DevOps Services kullandığınızda bu durum geçerlidir. Bu modelin yanı sıra istemci katmanı Visual Studio Endüstri İş Ortakları (VSIP) bileşenlerinden, Microsoft Office tümleştirmesi, komut satırı arabirimlerinden ve iade ilkelerine yönelik 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 İnternet 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 topolojiye bağlı olarak, Azure DevOps Server SQL Server Reporting Services veya SharePoint Ürünleri'ne de bağlı olabilir. Bu nedenle, Azure DevOps Server yapılandırma bilgileri aşağıdaki konumlardan birinde depolanabilir:

  • IIS veri depoları.
  • Azure DevOps Server için yapılandırma dosyaları.
  • Reporting Services 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 topolojilerinin örnekleri ve bu kaynakların nerede depolandığı için bkz. Basit Topoloji Örnekleri, Orta Düzey Topoloji Örnekleri ve Karmaşık Topoloji Örnekleri. Azure DevOps Server yerel dağıtımını sürdürürken bu yapılandırma kaynaklarını hesaba katmalısınız. Yapılandırmayı herhangi bir şekilde değiştirmek için, birden çok konumda depolanan bilgileri değiştirmeniz gerekebilir. 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 çeşitli komut satırı yardımcı programları içerir. Daha fazla bilgi için bkz. Yönetim görevi hızlı başvurusu.

Active Directory ve grup kimliklerinin eşitlenmesi

Azure DevOps'un bir Active Directory 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ş sonunda belirtilen süre. Varsayılan değer bir saattir ve Azure DevOps Server içindeki tüm gruplar 24 saatte bir güncelleştirilir.

Kimlik Yönetimi Hizmetleri (IMS) 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üncelleştirilir, ancak bunu dağıtımınızın gereksinimlerine daha uygun olacak şekilde özelleştirebilirsiniz. Daha fazla bilgi için bkz. Azure DevOps Server için Güvenler ve Ormanlar ile ilgili dikkat edilmesi gerekenler. Active Directory kullanmayan yerel dağıtımlar için bkz. Çalışma grubundaki Azure DevOps Server yönetme.

Gruplar ve izinler

Yerel dağıtımda, Azure DevOps Server proje, koleksiyon veya sunucu düzeyinde ayarlayabileceğiniz kendi varsayılan grupları ve izinleri vardır. Özel gruplar oluşturabilir ve izinleri grup ve tek tek düzeylerde özelleştirebilirsiniz. Ancak, Azure DevOps Server eklediğiniz kullanıcılar veya gruplar, Azure DevOps Server yerel dağıtımlarının bağımlı olabileceği iki bileşene otomatik olarak eklenmez: SharePoint Ürünleri ve Raporlama Hizmetleri. Dağıtımınız bu programları kullanıyorsa, kullanıcılara ve gruplara eklemeli ve bu kullanıcıların veya grupların Azure DevOps Server'deki tüm işlemlerde düzgün çalışması için uygun izinleri vermelisiniz. Daha fazla bilgi için bkz. Azure DevOps Server'de kullanıcıları veya grupları yönetme.

Barındırılan dağıtımlar için erişim, Microsoft hesaplarının ve ekip üyeliğinin bir birleşimi aracılığıyla denetlenmektedir. Daha fazla bilgi için bkz. Azure DevOps Services genel bakış.

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, basit bir dağıtımda Azure DevOps Server için ağ trafiği gösterilmektedir.

Basit şirket içi yükleme

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

Barındırılan Azure DevOps Server

 

Aşağıdaki çizimde, Visual Studio Laboratuvar Yönetimi bileşenlerini içeren daha karmaşık bir dağıtımdaki ağ trafiği gösterilmektedir. (Laboratuvar Yönetimi'nin TFS 2017 ve sonraki sürümleri için kullanım dışı bırakıldığını unutmayın.)

Uygulama katmanı

Sanal ortamlar

sanal makineler

Sanal makineler, laboratuvar yönetim aracısının indirilmesiyle ilgili herhangi bir test denetleyicisiyle iletişim kurmak için 80 numaralı bağlantı noktasını kullanır. İletişim sorunları yaşıyorsanız bu bağlantı noktasının etkinleştirilip etkinleştirilmediğini denetleyin.

Varsayılan ağ ayarları

Varsayılan olarak, 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. Bir yıldız işareti (*) bağlantı noktası numarasını izlerse, 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 yüklüyse; aksi takdirde rastgele oluşturulduysa
Uygulama katmanı – SharePoint Ürünleri ve Raporlama Hizmetleri HTTP
Windows Yönetim Araçları (WMI) hizmeti (yükleme sırasında raporlama hizmetlerinin URL'lerini belirtmek ve doğrulamak için 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 örneğin türüne bağlı olarak değişir. Dağıtımınız tarafından kullanılan bağlantı noktalarını belirlemek için SQL Server Yapılandırma Yöneticisi kullanın.
Azure DevOps Proxy Sunucusu - istemciden ara sunucuya HTTP 8081*
Azure DevOps Proxy Sunucusu - uygulama katmanına ara sunucu HTTP/HTTPS 8080/443*
İstemci katmanı - Reporting Services HTTP 80*
İstemci katmanı - Web hizmetleri HTTP/HTTPS 8080/443*
Uygulama katmanı HTTP/HTTPS'ye denetleyici oluşturma 8080/443
Aracıdan uygulama katmanına derleme 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*
Test denetleyicisi için uygulama katmanı .NET uzaktan iletişim 6901*
Etki Alanı Adı Sistemi'ne (DNS) uygulama katmanı DNS Dinamik Güncelleştirmesi 53
Uygulama katmanı – Virtual Machine Manager HTTP 8100
Aracıyı test etmek için test denetleyicisi .NET uzaktan iletişim 6910*
Test aracısını test denetleyicisine .NET uzaktan iletişim 6901*
Aracı oluşturmak için derleme denetleyicisi HTTP üzerinden SOAP 9191
Yalıtılmış bir ortamda laboratuvar aracısına laboratuvar aracısı TCP yuvaları 9050
Denetleyici oluşturmak için aracı oluşturma 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)
Veri aktarmak için Arka Plan Akıllı Aktarım Hizmeti (BITS)
Eylemleri gerçekleştirmek için 80
Verileri aktarmak için 443
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
Verileri aktarmak için 443
Uygulama katmanı – Virtual Machine Manager konakları Verileri aktarmak için Dağıtılmış Bileşen Nesne Modeli/Windows Yönetim Arabirimi (DCOM/WMI) iletişimi 135
49152 ile 65535 arasında dinamik olarak atanmış
İstemci katmanı – Virtual Machine Manager konakları Sanal makineye konak tabanlı bağlantı. Konak 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, Azure DevOps Server özel bağlantı noktalarını kullanacak şekilde değiştirerek yerel dağıtımlardaki uygulama, veri ve istemci katmanları arasındaki iletişimi değiştirebilirsiniz. Aşağıdaki tabloda, HTTP'den HTTPS'ye bağlantı noktalarındaki ö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ştirmeniz değil, 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 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ı