Phần VIII
Thiết lập và
Duy Trì Môi trường Nhóm
Trong phần
này
- Triển khai Team Foundation
Server
- Truy cập đến Team Foundation
Server bằng Internet
Chương 16 -
Team Foundation Server Deployment
Chủ đề
- Tìm hiểu về những lợi ích và
bất lợi của việc triển khai single-server và multiple-server .
- Chọn lựa triển khai một cấu
trúc liên kết(topology) phù hợp với các yêu cầu của tổ chức của bạn.
Xem trước
Chương này
vạch ra các phương pháp chính để triển khai Microsoft ® Visual Studio ® 2005
Team
Foundation Server (TFS) và mô tả các điểm quyết định chính mà bạn sẽ phải đối
mặt khi triển khai TFS tại tổ chức của bạn. Chương này giải thích hai lựa
chọn triển khai và miêu tả bằng cách nào lựa chọn giữa những tùy chọn.
Có hai tùy
chọn để triển khai TFS, single-server và dual-server installation. Một
single-server installation đặt tại tầng data và tầng application trên một
single server. Một dual server installation chia đôi tầng application và tầng
data vào các server khác nhau. Ngoài ra, bạn có thể install build server và
source control proxy trên các server khác nhau. Mỗi client yêu cầu truy cập đến
các server và các client-side tool tương ứng phải được install.
Sử dụng
chương này như thế nào
Sử dụng
chương này để xác định chiến thuật triển khai TFS của bạn. Để đạt được lợi ích
tốt nhất từ chương này, bạn nên:
- Tìm hiểu kiến trúc TFS. Hãy chắc là bạn đã tìm hiểu
đầy đủ về cấu trúc TFS architecture. Nếu bạn không quen với kiến trúc của
Team Foundation Server hãy đọc phần "TFS Architecture" , hay đọc
"Chương 2 - Kiến trúc Team Foundation Server " để có thêm thông
tin.
- Chọn một chiến thuật triển
khai. Chọn
một chiến thuật triển khai phù hợp nhất đối với nhu cầu của tổ chức bạn.
Nếu bạn chưa làm như thế, hãy đọc phần "Deployment Scenarios" để
xác định chiến thuật triển khai(deployment strategy) nào sẽ làm việc tốt
nhất với nhóm bạn.
Kiến trúc
TFS
Hình 16.1
trình bày kiến trúc TFS architecture.

Cấu trúc TFS
được thành lập bởi ba tầng, tầng data, tầng application và tầng client. Những
tầng này được chia ra rất logic, và tất cả ba tầng đều được install trên cùng
một computer.
Tầng Team
Foundation data bao gồm Microsoft SQL ServerTM 2005. Một số các
databases được install mà lưu trữ các work item, version control system, các
test result và bất cứ report nào.
Tầng
application chứa một Web-based front end được tích hợp vào Internet Information
Services (IIS), Team Foundation Web services, và Microsoft Office SharePoint®
services. Tầng application cũng chứa bất kì build servers và source control
proxy servers nào.
Tầng client
chứa các ứng dụng mà kết nối đến TFS. Developers sử dụng Team Explorer để kết
nối đến Team Server, install cả một stand-alone tool hay như một phần của
Visual Studio 2005. Project Managers sử dụng Microsoft Office Excel® hay
Microsoft Office Project. Bạn cũng có thể sử dụng third-party tool(công cụ của
bên thứ ba cung cấp) để kết nối đến server.
Để có thêm
thông tin, hãy xem "Chapter 2 - Team Foundation Server Architecture."
Các kịch bản
triển khai
Bạn có thể
triển khai TFS theo các cách sau:
- Cùng với một workgroup.
- Sử dụng Microsoft Active Directory ® directory service.
Triển khai
Single-Server với Workgroup
Với phương
pháp triển khai này, bạn tạo một workgroup ở nơi mà bạn không có Active
Directory domain controller. Bạn sử dụng chế độ installation khi bạn có một
nhóm nhỏ. Nếu bạn sử dụng chế độ installation này, mỗi user yêu cầu một local
account trên server để cho phép họ đăng nhập (log on) vào server. Đối với loại
triển khai này, bạn có thể chỉ cần install trên một single-server, và
dual-server installation không được hỗ trợ.
Triển khai
Single-Server với Active Directory
Nếu bạn có
một Active Directory, sau đó bạn có hai lựa chọn triển khai. Bạn có thể install
cả tầng data và tầng application trên cùng một server, hay bạn có thể install
tầng data và tầng application trên những server riêng biệt.
Các loại
triển khai nào đúng cho tổ chức của tôi?
Để quyết
định install một single-server hay dual-server là lựa chọn đúng cho tổ chức của
bạn, hãy xem xét các câu hỏi sau:
- Có bao nhiêu users mà tôi cần
support? Nếu
bạn dự tính có hơn 400 users, hãy xem xét triển khai dual-server để phù
hợp hơn với nhu cầu của tổ chức bạn.
- Có bao nhiêu project tôi sẽ
support với TFS? Nếu
bạn đang hỗ trợ một số lớn các project, hãy xem xét triển khai một
dual-server TFS có phù hợp với nhu cầu kinh doanh của bạn hay không. Mỗi
TFS instance có thể hỗ trợ lên đến 5000 project. Nếu bạn cần để hỗ trợ hơn
5000 project thì hãy xem xét việc thiết lập nhiều Team Foundation Server
instance.
- Có phải tôi có một server mà
tôi có thể dành cho TFS? Server trong một single-server Team Foundation
Server deployment nên được dành riêng cho các TFS functionality. TFS không
nên phục vụ cho bất kì mục đích nào khác, như là mail server, file server,
hay là database server cho các ứng dụng khác.
Lợi ích của
việc triển khai Single-Server
Hãy cân nhắc
các lợi ích sau khi quyết định có nên thực hiện triển khai một single-server :
• Đơn
giản
Ø
Bạn có thể quản lý tất cả các khía cạnh của sự triển khai TFS trên một
single-server.
Ø
Bạn có thể cấu hình tất cả các quyền truy cập và permission cho các user và các
group
trên cùng một server.
Ø Bạn chỉ có một server để lên lịch cho việc backup và bảo trì.
• Có
lợi Bởi
vì cả tầng application và tầng data đều có trên một single server, bạn không
phải xem xét network restrictions hay network latency giữa tầng application và
tầng data khi lên kế hoạch triển khai.
Lợi ích của
việc triển khai Dual-Server
Hãy cân nhắc
các lợi ích sau khi quyết định thực hiện việc triển khai một dual-server:
- Scalability. Triển khai single-server được
thiết kế lên đến 400 users, trong khi triển khai một dual-server sẽ cho
phép bạn đưa quy mô này vượt lên giới hạn là 2000 users.
- Fail-over. Bạn có thể chuyển hướng tầng
application server đến một tầng data server khác trong trường hợp bảo trì
hay sữa chữa, và bạn không thế cấu hình hay triển khai một server bổ sung
mà có thể hoạt động như một standby server hay fail-over application-tier
server.
Triển khai
Single-Server
Hình 16.2
trình bày một triển khai single server điển hình. Install trên một server là
các tầng TFS application và data , cùng với SharePoint Services và SQL Server
2005.

Triển Khai
Dual-Server
Hình 16.3
hiển thị cài đặt một dual server điển hình. Tầng TFS application được install
cùng với SharePoint Services trên một tầng. Tầng TFS data được install bên cạnh
SQL Server 2005 trên server khác.

Các Server
khác
Trong việc
cài đặt single-server cả dual-server , bạn có thể install một build server
riêng biệt như là một proxy server. Những cái này có thể được install lên cùng
server như là tầng application hay trên các server khác.
Cài đặt
Build Server
Bạn có thể
xác định vị trí của build service của bạn trên một separate server để cải thiện
hiệu suất build và giảm việc load trên tầng application. Thí dụ, nếu hiệu suất
server tầng application của bạn bị ảnh hưởng bởi các frequent builds, hãy xem
xét việc di chuyển các build services đến một separate server.
Team
Foundation Proxy Server
Team
Foundation proxy server lưu trữ các bản sao của source control files. Bạn nên
sử dụng proxy server nếu bạn đang truy cập đến source control server trên một
network có độ trễ(latency) cao.
Team
Foundation Server Topologies
Sau khi bạn
đã quyết định cài đặt hoặc là single-server hoặc là dual-server , có một vài
topology(cấu trúc liên kết) mà bạn có thể sử dụng. Vùng Topology từ đơn giản
đến phức tạp. Mỗi topology được thiết kế cho những kích cỡ nhất định của các
nhóm phát triển.
Simple
Topology
Hình 16.4
hiển thị một topology đơn giản nơi mà các thành phần của tầng TFS application
và tầng data được triển khai trên một single server. TFS proxy server được
triển khai đến một separate server. Server có thể truy cập được từ client
workstations trên cùng domain.
Sự cấu hình
này thích hợp cho các nhóm phát triển hay các pilot project với lên đến 400
users.

Moderate
Topology
Hình 16.5
trình bày TFS được install lên các tầng khác nhau. Application services được
triển khai lên một node của tầng application và các database lên một node riêng
biệt của tầng data.

Hình 16.5
Moderate Team Foundation Server Topology
Hình 16.5 cũng
trình bày một test rig và một số các build servers được triển khai trên các
node riêng biệt. Các node client có cả trong cùng một domain như là các server
hay trong domain mà có một mối quan hệ tin cậy với các server. Các Topology
phức tạp này là những mục tiêu của các nhóm phát triển rất lớn trong khoảng từ
400 đến 2000.
Complex
Topology
The complex
topology được hiển thị trong Hình 16.6 tương tự như moderate topology. Tuy
nhiên, trong những thành phần topology fail-over này đã được thêm vào một
tầng application standby server và một tầng data với các SQL clustering
technologies.

Hình 16.6
cũng trình bày một domain con khoảng cách xa mà sử dụng một
limited-bandwidth connection. Những client này sử dụng TFS proxy server để cải
thiện thời gian truy cập đến source control.
Tài nguyên
bổ sung
Khi triển
khai TFS hãy xem xét những điều sau:
Chiến thuật
Team Foundation Server Scaling và Backup
Như một phần
của tiến trình cài đặt và triển khai Team Foundation Server của bạn, bạn phải
quyết định bạn sẽ quản lý backup và failover của các server của bạn như
thế nào. Các chiến lược backup và failover bạn chọn dựa vào kích cỡ của tiến
trình cài đặt và các thiết bị và nguồn lực sẵn có của tổ chức bạn. Bởi vì tầng
data được build trên SQL Server 2005 các chiến lược mà bạn đã áp dụng được dựa
trên các phương pháp bạn đang làm để backup SQL Server.
Nếu bạn hiện
đang phản ánh hoặc nhóm các cái đặt SQL Server 2005 thì sau đó bạn có thể dùng
cùng một cách tiếp cận với tầng TFS data. Bạn cũng cần quyết định làm cách nào
quản lý các failure của tầng application server. Nếu bạn muốn hỗ trợ tầng
application failover, bạn sẽ cần một server backup tầng application tại chỗ và
phải có khả năng thông qua server một cách nhanh chóng.
Chọn một
chiến thuật Installation và Backup/Recovery phù hợp cho công ty của bạn.
Khi install
TFS bạn cần thực hiện một số lựa chọn về sự cài đặt và các chiến thuật
backup/recovery . Hãy xem xét các điều sau khi quyết định cho chiến thuật cài
đặt của bạn:
- Size of teams :Kích cỡ của các
nhóm
- Number of projects : Số các
project
- Size of projects : Kích cỡ của
các project
- Location of teams : Vị trí của
các team
- Failover needs :Nhu cầu failover
- Backup needs: Nhu cầu backup
Đề nghị phần
cứng Team Foundation Server
Nhìn chung,
các nhóm nhỏ hơn với số lượng project ít hơn có thể chạy trên một single tier
installation, trong khi các nhóm lớn hơn yêu cầu các dual tier và phần hardware
nhanh hơn. Sự lựa chọn của single-tier so với dual-tier installation cũng ảnh
hưởng đến cơ chế backup và failover của bạn.
Sử dụng Table
16.1 để giúp bạn quyết định cài đặt trên một single-tier hay dual-tier và
để xác định nhu cầu hardware cần thiết để hỗ trợ cho nhóm của bạn.

Bảng 16.1
Yêu cầu phần cứng để triển khai TFS
Backup và
Failover Strategy
Khi xem xét
chiến lược backup và failover của bạn, bạn cần lưu ý đến sự ảnh hưởng của việc
mất đi một server lên năng suất của nhóm bạn.
Backup
Bạn cần lên
kế hoạch cho chiến lược backup của bạn như một phần của sự triển khai việc cài
đặt TFS. Bạn cần xem xét:
- Tần số sao lưu dữ liệu.
- Tần số sao lưu đầy đủ và gia
tăng.
- Yêu cầu lưu trữ cho việc
backup, ví dụ như on-site và off-site backup.
Bạn có thể
sử dụng cùng một tiêu chuẩn thực hành mà bạn đã sử dụng cho các database của
SQL Server 2005.
Bạn có thể
sử dụng các backup để restore TFS theo ba kịch bản sau:
- Data-only recovery.
- Single-server deployment full
recovery.
- Dual-server deployment full
recovery.
Data-only
recovery được sử dụng nếu tầng data bị corrupt. Bạn có thể sử dụng backup data
và logs để phục hồi toàn bộ database.
Server
recovery được sử dụng khi các server fail. Trong trường hợp này, bạn có thể
restore toàn bộ database vào một computer thứ hai.
Application-Tier
Standby Server
Mặc dù không
có data để backup trên các server tầng application, các server có thể vẫn còn
fail. Để giảm thiểu chi phí của sự thất bại này, bạn nên xem xét một warm
standby server để cho phép failover trên tầng application.
Failover
Khi xem xét
việc cung cấp một failover solution cho TFS của bạn, bạn nên xem xét chi phí
cho nhu cầu phần cứng để cung cấp các failover servers dựa vào chi phí của
những năng suất bị mất(lost productivity) của công ty của bạn nếu TFS không khả
dụng.
Failover
thêm vào sự phức tạp cho sự cài đặt của bạn với thêm vào các chi phí bảo trì.
Bạn phải xem phần chi phí cho sự bảo trì này như là một nhân tố vào các cân
nhắc về chi phí khi quyết định trên chiến lược của bạn.
Clustering
có chi phí cao về các nguồn resource và bảo trì và được khuyến khích nếu
tổ chức của bạn đã được cung cấp các nguồn resource để quản lý một clustered
server.
Mirroring có
một mức chi phí, nhưng không cao như clustering. Mirroring có lợi thế là cho
phép bạn để có các server offline chính cho việc bảo trì(maintenance). Bạn nên
xem xét đến mirroring nếu tổ chức của bạn có thể cài đặt và bảo trì một
server tầng data thứ hai.
Tầng Data
Clustering
the Data-Tier Servers
Nếu tổ chức
của bạn có những resources cần thiết, bạn nên xem xét cài đặt các server chuyên
dành riêng trong một cluster. Cluster sẽ cung cấp sự truy cập không bị gián
đoạn đến tầng data. Lưu ý là, tuy nhiên, các yêu cầu phần cứng đó cho một
cluster là đòi hỏi hơi nhiều. Chi phí các điều kiện của resources của việc
thiết lập và bảo trì một cluster thì cao.
Khi
clustering, TFS hỗ trợ một cấu hình với một passive node, một active node và
một single quorum device server. Khi tầng data không vượt qua được passive
node, node này sẽ có quyền sở hữu đại diện và sở hữu tầng data.
Bạn cần
chuẩn bị cluster cho việc installation trước khi installing TFS trong một
cluster. Để có thêm thông tin về SQL Server 2005 clustering, download the
"SQL Server 2005 Failover Clustering White Paper" tại http://www.microsoft.com/downloads/details.aspx?familyid=818234dc-a17b-4f09-b282-c6830fead499&displaylang=en
Mirroring
Server Tầng Data
Mirroring
một server liên quan đến việc đồng bộ dữ liệu trên một server với một bản sao
copy của data đó trên server khác. Server tầng data là server chính, và
server với mirrored data là server backup hay mirroring server. Nếu server tầng
data của bạn thất bại, bạn có thể tự chuyển đổi sang mirrored server.
Có một
mirrored server cho phép bạn sử dụng server offline chính cho việc bảo trì và
sữa chữa, và cũng để cung cấp một cơ chế phục hồi nhanh nếu server chính tầng
data của bạn bị fail.
Mirroring
vừa có thể đồng bộ vừa có thể bất đồng bộ. Bạn có thể trao đổi các server
từ server chính đến mirror server trong một cơ chế di chuyển được
gọi là role switching(quy luật dịch chuyển). Khi một role switch xảy ra, mirror
sẽ mất vai trò là server chính. Nếu server chính vẫn còn giữ vai trò của nó, nó
sẽ giành lấy vai trò của mirror. Về nguyên tắc, các vai trò có thể chuyển đổi
qua lại.
Đối
với TFS, việc tự động chuyển đổi không được hỗ trợ và thay vào đó thì bạn phải
tự chuyển đổi.
Để cấu hình
SQL Mirroring cho tầng Data
1.
Thực hiện backup toàn bộ các databases và transaction log.
2.
Backup the Reporting Services encryption key.
3.
Install SQL Server 2005 trên mirror server.
4.
Restore the data từ tầng data trên mirror server.
5. Với
mỗi database trên tầng data ở server chính, chạy Configure Database Mirroring
Security Wizard để cấu hình mirror server của nó.
6.
Start mirroring.
Failing qua
một Mirrored Server
Bạn phải
fail over bằng tay mirrored server bằng cách thực hiện các bước sau:
1.
Trên TFS tầng application
a. Cấu
hình lại the Report Service để sử dụng server mới.
b.
Stop the default Web site.
c.
Stop the SharePoint Web site.
d.
Stop the SharePoint Timer service.
e.
Stop the TfsServerScheduler service.
f.
Stop the ReportServer application pool.
g.
Stop the TFS App Pool application pool.
2.
Trên mirror data-tier server hãy chắc là các correct service accounts đã được
add.
3.
Fail over mỗi database từ server chính đến mirroring server.
4.
Build the data warehouse trên server mới.
5. Cấu
hình server tầng application để sử dụng server tầng mirror như sau:
a. Từ
một command prompt, run TFSAdminUtil RenameDT MirrorDataTierServer.
b.
Restart IIS.
c.
Thay đổi Reporting Services connection strings để reference the mirror
data-tier server.
d.
Thay đổi SharePoint server để sử dụng mirror data-tier server
e.
Start the SharePoint timer service.
f.
Start the TfsServerScheduler service.
g.
Start the ReportServer application pool.
h.
Start the TFS App Pool application pool.
i.
Start Reporting Services.
j. Gọi
dẫn ra StampWorkItemCache Web service.
Tầng Application
Failover
tầng Application
Sau khi cài
đặt server chính tầng application, bạn có thể thêm một warm standby computer để
cho phép một warm failover của tầng application.
Standby
Hardware và Software
Standby
server không cần phải giống hệt như server chính, nhưng nó cần phù hợp với các
yêu cầu hardware cho tầng application. Bạn install TFS application-tier
software trên warm standby server.
Bạn phải đảm
bảo là cả hai server đều có cấu hình như nhau, bao gồm cả user accounts,
permission changes, và software updates. Bất kì update nào trên computer chính
cũng cần phải được áp dụng trên warm standby server.
Để minimize
bất kì problem nào với failover, bạn phải cấu hình network adapters để sử dụng
cùng host name từ hai standby computer và các computer chính. Có rất nhiều cách
để thực hiện điều này.
Failing qua
Server tầng Application
Bạn fail
over bằng tay server tầng application . Khi server chính fails, bạn phải hoàn
thành các bước để activate bằng tay warm standby server. Bạn có thể chạy TFSAdminUtil
utility passing the ActivateAT command, trên standby server, để giúp
fail over trên server chính.
Để warm fail
over the server:
1. Lảm
cho server gốc offline khi chế độ standby của server tầng application được kích
hoạt
2.
Trên standby server
a. Log
vào với quyền administrator.
b.
Chạy TFSAdminUtil qua ActivateAT
c.
Khởi động Web services trên standby server.
Lệnh này sẽ
- Đăng kí tên của warm standby
server trong TFS integration database.
- Kết nối warm standby tầng
application server đến active tầng data server.
- Xác nhận đúng server tầng
application được kết nối chính xác đến server tầng data.
Để có thêm
thông tin về làm thế nào để activate một application-tier failover server, hãy
xem "How to: Activate a Fail-Over Application-Tier Server" tại http://msdn2.microsoft.com/en-us/library/ms252501(VS.80).aspx
Tổng Kết
Cấu trúc TFS
có ba tầng: một tầng application, một tầng data, và một tầng client. Khi bạn
install the server, bạn có thể chọn để install tầng application và tầng data
trên cùng một server hay trên các server riêng biệt. Sự lựa chọn triển khai TFS
của bạn chủ yếu phụ thuộc vào số lượng người sử dụng mà bạn muốn hỗ trợ.
Sau khi bạn đã chọn một topology hỗ trợ nhưng nhu cầu của nhóm bạn, bạn có thể
quyết định mức độ hỗ trợ của việc backup và failover mà bạn cần.
Đối với tầng
data, bạn có thể sử dụng cùng một cơ chế backup mà tở chức của bạn sử dụng cho
các SQL Server 2005 backup khác của bạn. Đối với hỗ trợ failover, bạn có thể
chọn để mirror hay cluster các server tầng data.
Tầng
application không hỗ trợ tự động failover. Nếu bạn muốn hỗ trợ rapid failover,
bạn có thể cung cấp một warm failover server mà bạn có thể tự thực hiện fail
over.
Tài nguyên
bổ sung