本文為您介紹標簽設計的背景、原則、最佳實踐以及相關示例。
標簽設計的背景
當企業云上資源只有幾個或十幾個的時候,通過人腦記憶或人工記錄即可完成資源的分類。但是,隨著企業云上資源不斷增加(大型企業資源數量甚至成千上萬),單純依靠人工進行資源的分類變得越來越不可靠。此時,需要借助平臺化能力來解決這個問題。
在阿里云,我們推薦您使用標簽對資源進行標記,從而實現資源的分類。每個用戶在創建資源時都要對資源的業務歸屬、財務歸屬等資源屬性進行標記,例如:按創建者、地域或項目等。否則,后續再去梳理每個資源的資源屬性往往變得事倍功半。
標簽設計的原則
互斥原則
互斥原則是指避免對同一個資源使用兩個或以上的標簽鍵。例如:如果已經使用了標簽鍵owner來標識資源的所有者,就不要再使用own、belonger或所有者等類似的標簽鍵。
集體詳盡原則
集體詳盡原則是指所有資源都必須綁定已規劃的標簽鍵及其對應的標簽值。例如:某公司有3個游戲項目部,標簽鍵是project,則應至少有3個標簽值分別代表這 3個項目部。
集體詳盡原則是后續基于標簽維度進行資源檢索、分賬、自動化運維和訪問控制的必要條件。
有限值原則
有限值原則是指為資源只保留核心標簽值,刪除多余的標簽值。例如:某公司共有5個部門,那么應該有且僅有這5個部門的標簽,方便管理。
有限值原則簡化了資源檢索、分賬、自動化運維和訪問控制的流程。
考慮未來變化原則
考慮未來變化原則是指在設計標簽時要考慮后續工作中增加或者減少標簽值的影響,盡可能將業務邊界劃分得更加清晰一點,提高標簽修改的靈活性。例如:企業在上云初期業務比較集中,就采用部門標簽department來管理部門相關的資源歸屬、財務歸屬和自動化運維。隨著企業的發展,這一個標簽已經承載了一些日常業務,想要區分開就需要耗費一定成本。因此,我們建議,企業在上云初期需要先評估標簽的業務訴求,如在上述例子中則需規劃同時采用department、costcenter和ops標簽。
當您修改標簽時,可能會引起基于標簽的訪問控制、自動化運維或相關賬單報表的變化。無論是公司或個人層面的業務,推薦您創建與業務相關的標簽,以便從技術、業務和安全維度管理資源。使用自動化運維來管理資源及服務時,還需要設計額外的自動化運維專用標簽,幫助您完成自動化運維工作。
簡化設計原則
簡化設計原則是指在設計標簽時使用固定的標簽,簡化標簽的使用。標簽的設計盡量簡化key和value的值,滿足業務訴求即可。例如:在設計項目環境維度的標簽時,測試環境相關的標簽鍵盡量統一成測試環境,不要同時保有多個,如預測試環境、正式測試環境等。
簡化設計原則可以減少由于過多的標簽鍵導致的操作報錯。
命名標準化原則
命名標準化原則是指標簽采用標準化命名格式,盡量兼容不同開源工具,使后續的API集成更加便捷。例如:標簽命名涉及英文時,建議使用小寫英文字母。
標簽設計的最佳實踐
某互聯網公司有3個部門:業務部、市場部和運維部。每個部門管理一個或多個項目,每個項目在不同生命周期有不同環境:生產環境、開發環境、測試環境。公司運維團隊需要實時關注整個企業的資源情況,定期對每個項目的資源費用進行分賬,實時控制資源的訪問,并最終實現自動化運維。
為了滿足上述需求,該公司從以下幾個方面進行了標簽設計。
需求 | 標簽設計 | 說明 |
檢索和管理資源 | 為所有資源創建并綁定以下3個層級的標簽:
| 如果企業的組織架構層級比較深,可以考慮更高層級的標簽,例如:分公司(company)等。 |
管理成本和分賬 | 為所有資源創建并綁定成本中心標簽:
| 無 |
資源訪問控制 | 限制非項目組成員對項目內ECS等資源的訪問。 | 具體操作,請參見使用標簽控制ECS資源的訪問。 |
自動化運維 | 創建用途標簽鍵purpose來進行日常資源巡檢,標簽值為autocheck-8am,即每日早8點自動巡檢。如果巡檢發現異常,通過資源持有者標簽owner來通知具體責任人進行處理。 | 無 |
標簽設計示例
下表列舉了常見維度的標簽設計示例。
劃分維度 | 標簽鍵(key) | 標簽值(value) |
組織架構 |
| 相關名稱 |
業務架構 |
| 相關名稱 |
角色架構 |
|
|
用途 |
| 用途值 |
項目 |
| 據實填寫 |
業務部門(實現成本分配和業務跟蹤) |
| 據實填寫 |
財務維度責任人(確定資源負責人) | owner | 人名或郵箱等 |
財務維度客戶(識別資源服務的客戶) | 自定義或真實值 | 客戶名稱 |
財務維度項目(確定資源支持的項目) | project | 項目名稱 |
財務維度訂單 | order | 訂單分類ID |