《以 KCL 语言为例 详解领域编程语言如何从设计走向开源实践-徐鹏飞.pdf》由会员分享,可在线阅读,更多相关《以 KCL 语言为例 详解领域编程语言如何从设计走向开源实践-徐鹏飞.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、以 KCL 语言为例 详解领域编程语言如何从设计走向开源实践蚂蚁集团,CNCF KCL Owner/徐鹏飞01目录020304背景01.https:/ 等领域感兴趣背景背景随着云原生技术的发展,Kubernetes 底座和 Terraform 等 IaC 工具已成为越来越流行的管理和部署基于(云)API 的应用程序工具背景背景 认知认知负担负担 应用开发人员需要面对复杂的基础设施和平台概念 不像云基础设施配置有 Terraform 等 IaC 工具,Kubernetes 是平台的平台,特别是在客户端缺乏轻量的配置组合和校验工具 静态配置静态配置 YAML 膨胀,维度爆炸 跨团队配置协作负担和配
2、置漂移 效率、可靠性低效率、可靠性低 缺乏标准的测试验证手段,大多是胶水代码或者脚本的拼盘 缺乏高效配置协同的工具,大多通过人肉拉群解决减轻基础设施对开发人员的认知负担,提高配置管理效率Kubernetes 中的声明式应用管理:https:/ 平台工程白皮书:https:/tag-app-cf.io/whitepapers/platforms/Google SRE 工作手册:https:/sre.google/workbook/configuration-specifics/概念02.KCLKCL领域领域特定特定:以收敛的语言和工具集合解决领域问题近乎无限的变化和复杂性,同时兼顾表达力和易用性
3、以应用为中心以应用为中心:开发者可以理解的声明式应用配置模型关注点关注点分离分离:应用/平台 Dev/SRE动态配置管理动态配置管理:多租户多环境、可编程可扩展风险左移风险左移:实时的 IDE 配置错误提示可复用扩展可复用扩展:OCI 等标准软件供应链集成和包管理工具支持,官方 Registry 提供 300+模型包,100+内置函数引擎解耦引擎解耦:建立在一个完全开放的云原生世界当中,几乎不与任何编排/引擎工具或者 Kubernetes 控制器绑定,可同时为客户端和运行时场景提供 API 抽象、组合和校验的能力 2022.6 开源,2023.9 成为 CNCF 基金会托管的 Sandbox
4、项目面向云原生领域的专用配置策略语言面向云原生领域的专用配置策略语言 KCLKCLConfigConfig+Schema+Rule+Schema+Rule +Lambda+LambdaConfigConfigLambdaLambdaSchemaSchemaRuleRuleOrganizeOrganizeValidateValidateCombinateCombinateDefinitionDefinitionDescribeDescribeKCLKCLConfigConfig+Schema+Rule+Schema+Rule +Lambda+LambdaConfigConfigLambdaLam
5、bdaSchemaSchemaRuleRuleOrganizeOrganizeValidateValidateCombinateCombinateDefinitionDefinitionDescribeDescribeKCLKCLConfigConfig+Schema+Rule+Schema+Rule +Lambda+LambdaConfigConfigLambdaLambdaSchemaSchemaRuleRuleOrganizeOrganizeValidateValidateCombinateCombinateDefinitionDefinitionDescribeDescribeKCLK
6、CLConfigConfig+Schema+Rule+Schema+Rule +Lambda+LambdaConfigConfigLambdaLambdaSchemaSchemaRuleRuleOrganizeOrganizeValidateValidateCombinateCombinateDefinitionDefinitionDescribeDescribe开发者体验开发者体验开发者体验 工具链工具链Language+Tools+IDEs+SDKs+Pluginshttps:/kcl-lang.io/docs/tools/Ide/开发者体验开发者体