简单罗列几点在Azure DevOps过程中想到的问题,有些内容待商榷、讨论更新。

命名规范

  • 命名的目的是利于资源访问及检索,使用可以通过名称推断出功能的命名规则
  • 由于资源大多是可以通过HTTP请求进行访问,因此资源名称大小写不敏感
  • 筛选器:资源的部分特征可以根据筛选器进行筛选,因此可以不在命名中体现
  • 排列:需要根据资源的用途(例如:开发、测试、发布)、地域、类、规模等因素进行标注,筛选器或图标体现的特征可以不在命名中体现
  • 避免使用数字及词汇出现的频率来命名资源,参见术语表

术语表

  • 建立、使用并维护术语表:资源及功能应使用统一术语未被术语表覆盖的临时命名需要进行资源重命名并进一步推演遇到的情况整理至术语表中
  • 不符合命名规范,临时命名的资源应尽快改名或删除。若此种临时命名的原因为在术语表中覆盖,应更新术语表,并对此种情况命名的扩展性进行推演

资源组

  • 资源组只能通过一种维度进行资源的划分
  • Azure资源组存在资源删除不干净的BUG(即资源已删除并且不在资源中显示,但在资源组的模板里仍存在此资源的描述,此缺陷会阻碍并在部分资源迁移时随之一并迁移)
  • 单纯依靠资源组对资源进行分类会提高资源在臃肿资源组中的检索难度

标签

  • 活用标签:部分信息可以通过标签来实现,标签的特点是不会影响资源的位置。例如部分资源默认通过id的方式来进行区分,资源命名是以标签的方式实现的。还可以通过标签来标识资产的所有者。
  • 标签可以突破资源组对资源进行分类的单维度限制。

IAM

  • 使用IAM对资源的授权进行限制。

已有资源的公示认领

  • 资源的使用者应该对自身的资源负责,限制无关人等的操作,资源应该标注资源的使用者是谁。避免产生没有人使用的资源长期蚕食预算
  • 对于未进行标注的资源

做该做的事

  • 规则制定应尽可能简化,不应为特定情况长期使用影响人直观感受的命名或分类方式。