Wiki


Wiki Table of Contents

Tags

Page Details

Published by:
This page has not yet been rated

Chương 16 - Team Foundation Server Deployment

 

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.

http://farm3.static.flickr.com/2622/4166913444_3bddaa9614_o.png

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:

  • Triển khai Single-server
  • Cùng với một workgroup.
  •  Sử dụng Microsoft Active Directory ® directory service.
  • Triển khai Dual-server

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. 

http://farm3.static.flickr.com/2589/4166913540_82018a3324_o.png

 

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.

http://farm3.static.flickr.com/2712/4166154089_6d37d5ef67_o.png

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.

http://farm3.static.flickr.com/2695/4166154169_c530622513_o.png

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.

http://farm3.static.flickr.com/2785/4166913812_e71f09b250_o.png

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.

http://farm3.static.flickr.com/2711/4166913890_ea343abfc5_o.png

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.

http://farm3.static.flickr.com/2711/4166913890_ea343abfc5_o.png

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

Recent Comments

Leave the first comment for this page.