Sun Java Enterprise System 部署規劃白皮書 |
第 3 章
技術需求本章探討技術需求分析中的一些程序與步驟。
技術需求分析以商業分析階段期間所建立的商業需求文件開始著手進行。使用商業需求為基礎,執行以下步驟:
使用實例也是在設計階段中設計邏輯架構 的基礎。邏輯架構與系統需求一起形成稍後成為部署設計階段輸入資料的部署方案。
下圖顯示與商業分析、邏輯設計和部署設計階段相關的技術需求階段。
圖 3-1 技術需求階段以及其他部署規劃階段
在商業分析中,對於技術需求分析而言,並不存在產生使用分析、使用實例與系統需求的神奇公式。技術需求分析需要瞭解商業領域、商業目標以及系統科技的構成。
本章包含以下各節:
使用分析使用分析包含確認您設計的部署的各種使用者以及決定使用者的使用模式。您收集的資訊提供預期負載情況的概念並且稍後用於決定效能需求以及其他系統需求。使用分析資訊在分配使用實例的權重時也非常的有用,如使用實例中所述。
在使用分析期間您應該盡可能地約談使用者,研究使用模式現存的資料,也應該約談設計者和之前系統的管理員。下表列出執行使用分析時應該考慮到的主題。
使用實例使用實例以您設計的部署塑造出典型的使用者互動,從一般使用者的角度描繪出作業的完整流程。圍繞完整使用實例的優先設計確保持續集中焦點在預期功能的傳送上。
每個使用實例可包括關於使用者行為模式的數量估計,稍後您可以用來決定效能、可用性和其他服務品質的系統需求。使用實例也是設計邏輯架構的起始點,如第 4 章,「設計邏輯架構」中所述。
您經常指定相對的權重給使用實例,權重最高的使用實例代表最常見的使用者工作。使用實例的權重可幫助決定系統需求。
使用實例可描述為兩種層級。
系統需求系統需求敘述部署系統必須提供符合商業需求的服務品質,透過商業分析達成。您通常連同商業需求使用使用分析和使用實例以獲得系統需求。
下表列出經常用來指定系統需求的系統品質。
影響部署設計的系統品質互相之間息息相關。系統品質的需求可能會影響其他系統品質的需求和設計。例如,高階的安全性可能會影響效能,接著就影響可用性。增加額外的伺服器來應付可用性問題可能會影響維護成本 (可服務性)。
瞭解系統品質如何產生關聯以及必須建立的交易,是設計能夠成功滿足商業需求和商業限制的系統最大的關鍵。
下節更進一步觀察影響部署設計的系統品質,提供公式化系統需求時的因素指導。也有關於服務層級需求的章節,其為一組特別用來建立服務層級需求的系統需求。
可用性
可用性是指定部署系統正常執行時間 的一種方式。通常被測量為使用者存取系統的時間的百分比。系統無法存取的時間 (當機時間 ) 可能歸咎於硬體、軟體、網路錯誤或者任何其他造成系統當機的因素 (例如斷電)。大部分的狀況下,服務 (維護和升級) 的排程時間不考慮當機時間。
通常您會用可以達成的「九」的數量來評量可用性。例如,99% 的可用性為兩個「九」。指定額外的「九」會明顯地影響可用性的部署設計。下表顯示增加可用性額外的「九」到系統的結果,系統為一整年 24x7 小時執行,合計為 8,760 小時。
容錯系統
四或五個「九」的可用性需求通常需要容錯 系統。容錯系統必須能夠在硬體或軟體錯誤期間繼續服務。通常,容錯是透過硬體 (例如 CPU、記憶體和網路裝置) 和軟體兩者的冗餘提供關鍵服務。
錯誤單點 是一個沒有透過冗餘元件備份的硬體或軟體元件。此元件的錯誤會導致系統服務的損失。在設計容錯系統時,您必須確認潛在錯誤單點並且進行排除。
容錯系統的實施和維護可能很昂貴。確定您瞭解用於可用性的商業需求特性,並考慮符合這些需求的可用性解決方案的策略和成本。
Sun Cluster 3.1 4/04
Sun Cluster 3.1 4/04 軟體為需要高可用性、容錯系統的部署提供了一個高可用性的解決方案。Sun Cluster 3.1 4/04 結合伺服器、儲存裝置和其他網路資源來提供故障轉移過程,完成快速並且只對系統的使用者造成極小的服務中斷。
服務的優先可用性
從使用者觀點來看,比起整體系統的可用性,可用性更常應用在部署系統提供的每個服務上。例如,如果即時訊息服務變成無法使用,對其他服務的可用性影響通常很小或根本沒有影響。然而,在其他許多服務所依賴的服務可用性之上 (例如 Directory Server) 則對系統有較大的影響。
根據優先性的順序組合列出可用性需求會很有幫助。下表排出服務的不同類型的可用性順序。
如需關於實施可用性需求的各種設計策略資訊,請參閱調整可用性大小。
潛在容量
潛在容量是部署處理不尋常尖峰負載使用而無須額外資源的能力。一般而言,您不會直接圍繞著潛在容量來指定系統需求,但是這項系統品質是決定可用性、效能和延展性需求的因素。
效能
決定效能需求是轉換效能上的商業需求預期為系統需求的過程。商業需求通常以指定回應時間的非技術名詞表示效能。例如,以 Web 架構存取的商業需求可能強調以下:
以商業需求開始,檢查所有使用實例來決定如何在系統層級表達此需求。考慮使用者負載條件,如同使用分析期間的決定。表示在特定負載條件下的回應時間 或是回應時間加上處理能力 方面每個使用實例的效能需求。您可能也指定允許的錯誤數量。
這是一個如何指定用於效能的系統需求範例。
效能需求與可用性需求 (故障轉移如何影響效能) 以及潛在容量 (處理不尋常尖峰負載的容量有多少) 息息相關。
延展性
延展性描述日後增加容量以及使用者到系統上的能力。延展性通常需要額外的資源,但是不應該需要變更部署架構的設計,或是因為需要加入額外資源的時間而損失服務。
如同可用性,延展性更多應用在系統提供的個別服務上而不是整個系統。然而,在其他許多服務所依賴的服務之上 (例如 Directory Server),延展性可能會有全系統的影響。
您不需要以系統需求來指定延展性需求,除非部署的計畫性成長清楚地說明在商業需求中。在部署設計階段期間,部署架構應該考慮調整系統比例,即使您未指定延展性需求。
決定延展性需求不是一項精密科學。評估系統的成長包含設計、評估和可能無法滿足的假設。這裡有建立延展性系統的三個關鍵。
下表列出某些要為延展性考慮的主題。
安全需求
安全性是影響系統和使用者健全性的系統品質,包括使用者交易和相關資料的健全性。如同其他系統需求,商業需求、使用分析和使用實例驅動安全需求的分析。
安全需求的分析歸於以下類別:
認證、授權和識別管理,連同屬於健全安全性實施的企業範圍策略,提供交易安全的信心並且儲存在網站上的資料不會被危及。
認證
認證是使用者如何向系統確認自己,同時系統向使用者確認自己的方式。認證是系統健全的關鍵部分,保護系統免於未認證的存取。
您應該瞭解使用者需求來選擇屬於部署的最佳認證方案。例如,「企業到客戶」部署可能允許使用者使用使用者名稱/密碼組合來註冊。這些使用者依賴可靠的認證機構發出的伺服器憑證,例如 VeriSign,驗證銷售系統經由安全傳輸。
「企業到員工」部署反而可能從現有的使用者基礎提供給員工。若來自公司防火牆內部,則允許存取到已知的安全位置。若來自公司防火牆外部,存取安全位置是經由執行認證的代理伺服器,並重新導入公司防火牆內部。
授權
授權是給認證使用者的特定權限識別。例如,具有管理員授權的使用者有部署系統的部份存取權,一般使用者則無法存取。
授權在部署實施單次登入 (SSO) 時也扮演重要的角色。部署認證的使用者具有多重服務的存取權,而不需要重複登入。
識別管理
部署系統必須有一套方法新增、修改或刪除存取系統服務的使用者。根據您的需要,識別管理可以透過授權的管理員完成,或是藉由授權管理介面的工具讓使用者自己達成。中型或大型企業的部署應該考慮授權管理設計。授權管理可增加顧客的滿意度並減少系統管理的成本。
可服務性需求
可服務性是部署系統可管理的舒適度,包括監控系統、修復產生的問題以及升級硬體和軟體元件的工作。
當規劃可服務性需求時,請考慮下表列出的主題。
服務層級需求服務層級需求 是一組系統需求,指定在必須提供的客戶支援下的條件。服務層級需求是服務層級協定的基礎,通常在專案核准時簽訂。
如同系統需求,服務層級需求來自商業需求,並代表一種關於部署必須達到的整體系統品質的客戶擔保。因為服務層級協定是您和客戶之間的約束,服務層級需求的規格不能模稜兩可。服務層級需求精確定義何種狀況下測試需求,以及明確地說明何種組成不滿足需求。