随着基础设施复杂性的增加,定义它们的配置文件也在增加。工具,如AWS CloudFormation,Kubernetes和舵期望配置文件使用JSON或YAML语法,可能是为了使它们易于编写和处理。然而,在大多数情况下,团队很快就会发现,他们有一些相似但不完全相同的部分,例如,相同的服务必须部署在不同的地区,设置略有不同。对于这种情况,工具提供了模板在YAML(或JSON),这导致了大量的不满从业者.问题是JSON和YAML的语法需要各种尴尬的妥协来将模板特性(如条件和循环)移植到文件中。我们建议使用来自编程语言的API,或者,如果不能这样做的话,使用编程语言的模板系统,可以是通用语言,比如Python,也可以是专门的语言,比如Jsonnet.