BACK Stack 会成为平台工程的新趋势吗?
BACK Stack 这一说法来自于 KubeCon & CloudNativeCon NA 2023 上的一个演讲,两位分享者介绍了他们基于 CNCF 生态实施平台工程的思路和方案,并在现场做了 Demo 演示。
查看视频回放和下载 PDF 资料:https://sched.co/1R2uS
什么是 BACK Stack
BACK Stack 即由 Backstage, ArgoCD, Crossplane, Kyverno 四个项目组成的云原生平台工程实践技术栈。
1. Backstage https://backstage.io/https://github.com/backstage/backstage24.5k⭐ TypeScript 开发 CNCF 孵化中项目
Backstage 是一个构建开发者门户的开放平台。在集中式软件目录的支持下,Backstage 可以恢复您的基础设施的秩序,并使您的产品团队能够快速交付高质量的代码,而不会影响自主权。
2. ArgoCDhttps://argoproj.github.io/cd/https://github.com/argoproj/argo-cd15k⭐GO,TypeScript 开发 CNCF 已毕业项目
声明式持续交付,具有完整的用户界面。
Argo CD 是 Kubernetes 的声明式 GitOps 持续交付工具。
Argo CD 为何存在?
应用程序的定义、配置和环境应该是声明式的,并受版本控制。
应用程序部署和生命周期管理应自动化、可审计且易于理解。
3. Crossplanehttps://www.crossplane.io/https://github.com/crossplane/crossplane 8k⭐GO 语言开发 CNCF 孵化中项目
云原生控制平面框架
无需编写代码即可构建控制平面。Crossplane 具有高度可扩展的后端和高度可配置的前端,前者可让您定义其提供的声明式 API,后者可让您对应用程序和基础架构进行协调,无论它们在哪里运行。
Upbound 建立 Crossplane 的目的是帮助企业像云计算厂商建立自己的平台一样建立自己的平台——控制平面。Crossplane 是一个开源的 CNCF 项目,建立在 Kubernetes 的基础上,可以协调任何事情。将策略、权限和其他防护措施封装在自定义 API 线路后面,让客户能够自助服务,而无需成为基础设施专家。
4. Kyverno https://kyverno.io/https://github.com/kyverno/kyverno/ 4.7k⭐GO 语言开发 CNCF 孵化中项目
Kubernetes 原生的策略管理
Kyverno 是专为 Kubernetes 设计的策略引擎。策略作为 Kubernetes 资源进行管理,不需要新的语言来编写策略。这就允许使用 Kubectl、Git 和 Kustomize 等熟悉的工具来管理策略。
Kyverno 策略可以验证、编译、生成和清理 Kubernetes 资源,并验证镜像签名和工件,以帮助确保软件供应链的安全。作为 CI/CD 管道的一部分,Kyverno CLI 可用于测试策略和验证资源。
参考架构
如果说 BACK Stack 似乎也有一种报团取暖的拼凑感的话,那么下面的 CNOE 框架就显得更有自己的内在设计逻辑。
扩展阅读 CNOE
Cloud Native Operational Excellence 云原生卓越运营
采用 OSS 作为云平台基础的企业面临着选择能够支持其业务成果 3-5 年的技术挑战。大型组织的重组平台成本很高,这使得对特定技术的押注成为其技术战略的基础。为了降低这些赌注的风险,企业会考虑同行组织的投资。CNOE 框架的目标是将一群同等规模的企业聚集在一起,以便他们能够共同制定运营技术决策,降低工具风险,协调贡献,并为使用 CNCF 技术的大型企业提供指导一起使用以实现最佳的云效率。
了解更多 CNOE 相关的信息 :
官网 https://cnoe.io/docs/reference-implementation
结语
BACK Stack 无疑是云原生技术生态的新提法,汇聚了 CNCF 生态的相关开源项目,直接推动了相互之间的集成性,颇有一起合作“做大做强”之势。但同时我们也希望在一个功能域能有更多元的解决方案,有选择的空间,而不是被该技术栈所绑定。让我们共同期待平台工程的 2024 有更多项目和实践涌现,也一同见证 BACK Stack 能否成为平台工程新趋势。
加入 PECommunity 平台工程社区,获取更多动态!
欢迎投稿!
评论