那么,這些關于成本、質量、速度和范圍的決策如何影響系統的可伸縮性呢?如前一章所述,可伸縮性與擴展項目或基礎設施項目的這些權衡之間存在著直接的關系。常熟做網頁的目的就是產生網站。簡單的信息如文字,圖片(GIFs, JPEGs,PNGs)和表格,都可以通過使超言、可擴展超文本標記語言等標示語言放置到網站頁面上。常熟網頁設計要能充分吸引訪問者的注意力,讓訪問者產生視覺上的愉悅感。因此在網頁創作的時候就必須將網站的整體設計與網頁設計的相關原理緊密結合起來。常熟做網頁更復雜的信息如矢量圖形、動畫、視頻、聲頻等多媒體檔案則需要插件程序來運行,同樣地它們亦需要標示語言移植在網站內。對于開發函數的項目,這些約束的權衡決定將影響函數和整個系統的可伸縮性。這是權衡決策和可伸縮性之間的一種間接關系。
一個需要拆分主數據庫的擴展項目,就像開發函數項目一樣,也需要平衡這四個約束。你會不會把你的大部分高級工程師從這個項目中拉出來,去開發這個功能,并致力于分解數據庫的項目?你會給你的團隊六到十八個月的時間來完成這個項目嗎?如果需要的話,您會增加內置的特性來進一步拆分數據庫嗎?你能縮短這個項目,然后一個地把它分開嗎?這些是您在項目過程中需要問的問題,它們也是平衡項目三角的速度、成本、質量和范圍的問題。
這些限制也將間接影響可擴展性。讓我們AllScale公司的支付功能,例如,它的重點是速度。該功能必須在當月的為了年底結算周期使用結束前公布。錯過了這個日期將導致需要進行支付的人工處理,將引入更多的錯誤,導致非支付和收入的損失。副總裁邁克·軟件開發團隊,從索爾福德三名高級工程師的另一個項目繪制,分配他們支付的項目,才能夠完成它的時間。一切都進行得很順利,直到周末結束,這個功能被釋放,所以它可以按計劃辦理結算。
6個月后,Allscale的人力資源管理網站的內容存儲量增加了100%以上,而參與月末結算周期的用戶數量增加了更大的百分比。它們在沉降功能上的總荷載接近釋放功能開始時總荷載的150%。目前,其處理時間仍控制在12小時以內。但本月的用戶增長已經大大改變了它,處理時間躍升到38小時。由于此服務是作為單個應用程序的附加功能設計的,因此不能在多個服務器上運行。直到現在,六個月前作出的決定的后果已經逐漸顯現出來。allscale的操作團隊將不得不為應用程序分配一個更大的服務器,以完成下個月的結算,該結算最初計劃用作數據庫服務器。當然,這也會對硬件預算產生負面影響。操作團隊還需要花費大量時間監視、準備、配置和測試用于此遷移的服務器。此外,該項目可能會吸引軟件開發工程師和質量保證工程師提出更改建議,并最終驗證應用程序是否可以在新服務器上運行。