亚马逊云科技在其Well-Architected框架添加了一个新的容器透镜。这份新的技术白皮书概述了来自社区、亚马逊云科技合作伙伴和其内部容器技术专家的最佳实践。这些最佳实践为运行高性能、可靠和安全的容器工作负载提供了指导。白皮书中还提供了一些常见用例的参考架构。
AWS Well-Architected 框架以六大支柱为基础——卓越的运营、安全性、可靠性、性能效率、成本优化和可持续性。它为 AWS 用户提供了特定的信息,帮助他们采用 AWS 的最佳构建实践。新的容器透镜加入了其他特定于领域的透镜,如物联网、无服务器、AI、ML 和 SAP。
运营卓越支柱专注于系统的运行和监控,交付业务价值,提供洞见,推动持续改进。容器透镜关注的是容器生命周期管理和可观察性。例如,在准备阶段的建议包括确保了解容器的基本镜像是由什么组成的。这与最近对供应链安全性的关注和更好地了解应用程序中使用的组件是保持一致的。
这一支柱的其他建议还包括建立父镜像或烘焙镜像,然后用于创建所有下游的镜像。这种方法可以更好地控制和治理被包含在基础镜像中的内容。他们建议在构建了下游镜像后,将其用在所有的环境中。随着通过每个阶段的验证,不断在各种环境中推广使用。
安全性支柱的建议包括关注容器应用程序的最小特权,实现所有构建基础设施的访问控制,以及最小化镜像的攻击表面。他们建议在没有 shell 或包管理器的情况下运行 distroless 镜像,防止不良行为者随意修改镜像。最近,谷歌宣布他们的 distroless 构建达到了软件工件供应链级别(Supply chain Levels for Software Artifacts,SLSA)2 级。类似地,Chainguard 发布了Wolfi技术预览版,在设计上提供了最小化的攻击表面。
性能效率支柱的建议主要关注容器的构建时性能。他们指出,运行时性能超出了容器透镜的范畴,应该包含在性能效率支柱白皮书中。
可靠性支柱主要关注监控应用程序的运行状况、构建和测试镜像的自动化以及对父容器镜像的自动化更新。这个支柱以使用基础父镜像的建议为基础,建议使用分层的方式来管理容器镜像。这应该从通用共享的基础镜像开始,然后安装特定于应用程序的工件,并在最后一层安装应用程序所需的二进制文件。
他们进一步建议,所有这些镜像都要在源码控制系统中进行维护和标记。他们建议使用“持续集成过程,在源码控制系统中的容器镜像和镜像标签之间创建直接关联”。根据白皮书的说法,这种方法有助于确定在不同的镜像发布之间发生了什么变化。
成本优化支柱主要关注镜像的效率、自动伸缩和快速启动时间。这三个建议将有助于减少所需的容器数量和运行时间。可持续性支柱提出的建议与成本优化支柱类似。
最后,白皮书提供了许多用于解决常见用例的参考架构,例如,关于如何确保容器构建管道安全的架构。他们指出,这个架构应该与运行任意类型管道相关的安全实践一起实现。
安全容器化构建管道的参考架构(来源:亚马逊云科技)
容器透镜现在可以在 Well-Architected Framework 文档中找到。Well-Architected Framework 的部分内容在Well-Architected Tool中可用,但容器透镜只提供了技术白皮书。
原文链接:
https://www.infoq.com/news/2022/11/container-well-architected/
相关阅读:
评论