为平台团队提供工作流程和检查表,以在平台中实现可观测性
译自 The Pillars of Platform Engineering: Part 6 — Observability 。
本指南概述了平台工程中六大开发者体验技术领域的工作流程和检查步骤。该指南分六个部分发布,第一部分介绍了指南系列,重点关注安全性。第六部分探讨可观测性。其余部分如下,您可以下载《平台工程六大支柱》完整 PDF 版本获取所有指导、概述和检查表:
平台工作流程的最后一步是监控和维护部署。您需要在平台中融入可观测性实践和自动化,来衡量软件、服务、平台和产品的质量和性能,以便更好地了解系统行为。高质量的系统可观测性可以更快更轻松地调查和诊断问题。
简单来说,可观测性就是记录、组织和可视化数据。仅提供数据本身不等于实现企业级可观测性。站点可靠性工程、DevOps 等团队首先确定生成、收集、汇总、分析什么数据以获得有意义、可操作的见解。
然后,这些团队采用并构建可观测性解决方案。可观测性解决方案使用指标、追踪和日志等数据类型来理解和调试系统。企业需要在整个技术栈实现统一可观测性:云基础设施、Kubernetes或Nomad等编排运行时平台、Azure托管数据库等云托管服务以及业务应用程序。这有助于团队了解云服务和组件之间的相互依赖。
但是,统一只是将可观测性融入平台工作流程的第一步。在工作流程中,平台团队需要在模块和部署模板中自动实现可观测性的最佳实践。就像平台工程帮助安全功能左移一样,可观测性的集成和自动化也应通过在部署时将可观测性融入容器和镜像来向左转移到基础架构编码和应用程序构建阶段。这可以帮助您的团队从一开始就通过将可观测性自动化到平台工作流程中来构建和实现全面的遥测策略。
将可观测性解决方案集成到基础架构代码中的好处很多:开发人员可以更好地了解他们的系统运作方式和应用程序的可靠性。团队可以快速调试问题并追踪到根本原因。组织可以根据数据做出决策来改进系统、优化性能和提升用户体验。
企业级可观测性工作流程可能遵循以下八个步骤:
注意:根据分配给开发人员的访问控制角色,他们可能直接访问网络控制平面。
企业级可观测性需要:
平台构建永远不会完全完成。这不是一个前期规划好、大家签字认可后就结束的项目。它更像是一个迭代的敏捷开发项目,而不是传统的瀑布项目。
您可以从最小可行产品开始,然后必须向组织推广平台。向团队展示他们如何从采用整个开发生命周期的通用模式和最佳实践中受益。与各团队进行流程分析(当前与未来状态),共同工作并理解采用的好处,这可以是有效的。最后,降低入门门槛尽可能简单至关重要。
随着您逐项检查这六个平台支柱要求,平台团队将希望采用用户体验设计师的思维方式。调查不同团队的需求,理解您可能只能满足 80-90% 的用例。一些工作流程将过于精细或独特,无法融入平台。您无法取悦所有人。工具链选择应该是一个跨职能过程,而在最开始获得高层支持对驱动采用至关重要。
对于已经投资于这些核心支柱的组织,下一步涉及与 HashiCorp 等生态系统合作伙伴合作,以确定工作流改进并使用成熟解决方案来解决覆盖差距。