我们只需4/30即可调整Futureestack注册。条款和条件适用。 现在注册

什么是应用名称?如何创建App-命名约定

读了5分钟

作为新遗物亚博直播平台的解决方案架构师,我与所有大小企业的组织一起工作,否则 - 帮助他们开始使用新的遗物平台。一个常见的问题,我认为他们的应用程序和微服务弹出新遗物APM是没有两支球队似乎想以同样的方式命名他们的应用。

没有一种正确的申请方式;相反,它是关于创建命名规则和惯例,所以你未来不必考虑它们。考虑到这一点,我想分享命名应用程序的一些最佳实践,特别是如果您的目标是用新的遗物监控它们。

这里的目标是帮助您提高您监视应用程序的方式,尤其是在大型部署中。虽然申请命名对您使用新遗物的能力没有功能影响,但遵守命名标准可以增强在我们的平台中的应用程序组织。

1.使用APM的自动命名,但是用内部名称故意

许多团队使用Auto命名在APM中定义应用程序名称,当他们的应用程序在线时。我们的自动应用命名功能很受欢迎,因为它需要在代理方面没有任何配置,但选择它并不总是最好的策略。通常,它基于内部应用程序信息创建隐秘名称,其并不总是清晰可理解的。部署名称基于,例如,内部Java部署代码对开发人员有用,但可能无法帮助其他团队和用户理解应用程序的目的或使用。相反,创建一个“内部”命名方案,并确保所有团队熟悉它,并可以轻松地使用它识别应用程序。

2.使用命名标准“调查问卷”

App的名称至少应在您的组织中反映其目的。但它对名称表示其他信息,例如应用程序的位置也很有用。就像您创建一个标准列表以定义与业务相关的KPI一样,您应该在构建命名方案之前创建标准。以下是一些常见问题,您可以要求定义您的策略:

  • 你的应用程序是内部吗?您想用哪些信息来识别单个内部应用程序?该应用程序是否具有用于标识IT的内部名称,代码或缩写,例如:
    • 凤凰
    • C / OSD.
  • 应用程序(或微服务)提供什么服务?
    • 部署 - 控制器
    • 查看
  • 您想根据特定组或类别创建命名标准,例如客户类型,数据中心,区域,环境或云提供商分组?
    • AuthManager-Internal-Dal01-East
    • C / OSD-Public-Azure-US
  • 您希望在同一个新的遗物帐户中看到开发,暂存和潜在数据吗?这些应用程序是什么逻辑分组?
    • 身份验证服务外部FRA-EUROPE(登台)
    • 结账 - 服务 - 公共AWS-ASEST(Prod)

3.使用多个汇总名称

使用单个应用程序的多个汇总名称将应用程序名称分解为较小的块(例如,按数据中心),然后将其滚动到更大的桶(例如按区域或全局位置)。这种灵活的策略让您跟踪更粒度的性能。

当您以这种方式命名您的应用程序时,请记住将最少特定的最小特定定义应用名称。您应该创建:

  • 独特的汇总名称
  • 共享汇总名称以聚合新的遗物UI中的数据
  • 一般名称新的遗物用来将数据汇入一个应用程序

因此,如果您有四个集群中定义的应用程序,请按照此模式:

汇总名称 共享汇总 一般汇总
myapp-clusera. myapp-us_south. myapp-global.

您可以通过以下方式命名您的应用程序:

  • app_name =“myapp-clustera; myapp-us_south; myapp-global”
  • app_name =“myapp-clusterb; myapp-us_south; myapp-global”
  • app_name =“myapp-clusterc; myapp-uk_london; myapp-global”

然后,新遗物将列出这些应用程序,如下所示:

  • myapp-clusera-a单个app实例
  • myapp-clusterb-a单个app实例
  • myapp-clusterc-a单个app实例
  • MyApp-US_SOUTH-在US_SOZH运行的所有应用程序实例的汇总(2)
  • myapp-uk_london--在UK_LONDON运行的所有应用程序实例的汇总(1)
  • myapp-global-一个全球汇总

值得注意的是,此方法会增加将在一个帐户下显示的应用程序实例数。如果您使用此策略,请小心翼翼地注意,以避免创建无用的应用和噪音。

4.使用新的遗物代理的多环境配置来命名应用程序

对于一些代理商 - 包括java.红宝石, 和Python-您可以使用环境变量声明代理将运行的环境。使用此变量时,代理可以根据其环境获得不同的设置。

此外,以这种方式配置代理有助于在整个软件开发生命周期中与代理进行集成。您可以版本控制单个代理配置文件并在整个开发过程的所有阶段使用它。更具体地,您可以使用此变量根据应用程序运行的环境设置不同的应用程序名称。

5.按环境分离新的遗物账户

如果您使用代理的多环境配置命名您的应用程序,则您的帐户最终可能会向其中报告数百个应用程序。您不会失去任何功能,但是当您有太多的数据流到一个帐户时,它确实变得有点难以管理应用程序和数据。

在这种情况下,我们建议团队创建多个新的遗物帐户(例如,customer_name_dev.customer_name_staging.等)并配置其应用实例以向正确的帐户报告。这不需要额外的许可证,并允许您更好地管理权限,并为用户提供在Dev环境中使用设置的“实验”的灵活性。团队只需务必为给定环境使用正确的许可证密钥。

6.选择战略并执行它

适当的应用命名的目标是创建一个一致和明显的模式,因此您的团队不必猜测或选择Willy-Nilly的名字。您需要定义一个清晰阐明您应用的目的和组织功能的命名策略,然后执行它。如果使用App-Deployment或Configuration-Management Tool(如厨师Ansible., 或者木偶),您可以应用模板以强制命名。

有效的命名不会使您的应用程序更容易监控,但它将给予您的团队更少令人担忧。