企業中有關Server Sharing的一點想法
在某公司實習期間,發現一個現象:企業團隊內部有多種不同的服務器資源,這些服務器的用途往往比較專一,資源利用率低;另外,團隊中Dev和QE存在一些重復性工作。
1. 應用場景
用于企業內部團隊協作,對各種不同服務器資源的管理,提高服務器的利用率,最大程度地共享資源,減少重復工作。
2. 一點想法

- Admin Server Console提供兩個訪問子系統:User System,用戶系統,供小組成員使用,查詢資源信息、執行遠程命令、接受結果信息等;Administrator System,管理員系統,供Team Leader使用,管理本Team下的各類服務器資源:發布、更新、移除等。
- Admin Server Console與各種不同的Server Machine通過Agent代理進行通信,Agent代理安裝在各個不同Server Machine上。
- Admin Server Console發送一定格式的消息命令給相應的Agent,Agent解析命令,調用所在Server Machine上的批處理文件(或其他腳本文件),完成指定操作。
- 各個受控的Server Machine接受Agent的調用,執行實際操作:更新Server Machine的各類資源狀態,安裝、升級或卸載產品,設置、運行、清理測試環境等,并返回執行結果給Agent。
- Agent完成指定的命令之后,向Admin Server Console發送回復:資源狀態,執行情況,測試結果等。
- Agent應該具有自學習能力,例如,當其Server Machine執行完一些任務之后,需要學習并更新Server Machine的資源信息,學習負載情況并做出實時處理/應急處理,通報給Admin Server Console。
- 任務完成之后,需要學習并更新Server Machine的資源信息,學習負載情況并做出實時處理/應急處理,通報給Admin Server Console。
3. 應用舉例
- 對于管理人員,通過Administrator System發布并管理服務器資源信息。
- 對于測試人員,通過User System瀏覽當前所有Server Machine的運行信息(可以很豐富,如Server Machine的基本信息、所處狀態、端口信息、部署的產品的Build版本、安裝的OS、Application Server、Database等),查看是否有適合于自己的測試環境,如果有則選擇已有環境或占有一臺Server Machine部署所需的環境后,遠程操作執行測試腳本,當執行完畢后將測試結果通知給測試人員本人。
- 對于開發人員,亦可以通過User System查詢各個Server Machine上的測試環境,并進行自己的工作。比如,測試人員發現Bug之后,開發人員可要求其盡可能保留現有環境,當其Fix Bug之后,將對應的產品組件Components部署,利用已有環境快速進行單元測試。
浙公網安備 33010602011771號