为平台团队提供构建连接性的工作流程和清单。
译自 The Pillars of Platform Engineering: Part 4 — Connectivity
本指南概述了平台工程中开发者体验的六大技术领域的工作流程和清单步骤。本系列分六部分发布,第一部分引入了该系列,并着重于安全性。第六部分讨论可观测性。其余部分如下,您可以下载“平台工程六大支柱”的完整PDF版本,以获取完整的指导、大纲和清单:
- 安全性(包括简介)
- 流水线(VCS、CI/CD)
- Provisioning
- 连接性
- 编排
- 可观测性(包括总结和下一步)
任何平台工作流程的最后一步都是监控和维护部署。您需要在平台中构建可观测性实践和自动化,衡量软件、服务、平台和产品的质量与性能,以了解系统的运行情况。优秀的系统可观测性可以更快更轻松地调查和诊断问题。
可观测性的本质是记录、组织和可视化数据。仅仅提供数据并不能实现企业级的可观测性。首先,网站可靠性工程、DevOps 或其他团队需要确定生成、收集、汇总和分析哪些数据,以获得有意义和可操作的洞察。
然后,这些团队采用和构建可观测性解决方案。可观测性解决方案使用指标、追踪和日志这三种数据类型来理解和调试系统。企业需要在整个技术栈实现统一的可观测性:云基础设施、Kubernetes 或 Nomad 等运行时编排平台、Azure 托管数据库等云管理服务以及业务应用程序。这种统一有助于团队理解云服务和组件之间的相互依赖性。
为适应现代动态环境,平台团队正在将网络功能、软件和设备整合到基础设施即代码配置中。这为网络带来了基础设施即代码的自动化速度、可靠性和版本控制追溯性优势。
如果组织采用微服务架构,他们会很快意识到基于软件的服务发现和服务网格解决方案的价值。这些解决方案创建了一种架构,其中服务根据集中策略在零信任网络中被发现和自动连接,如果具有权限,否则安全默认值是拒绝服务间连接。在此模型中,基于服务的身份对于确保严格遵守常见安全框架至关重要。
组织的中央共享注册中心选择应该是多云、多区域和多运行时的,这意味着它可以连接各种类型的集群,包括虚拟机、裸机、无服务器或Kubernetes。团队需要最大限度地减少对传统网络入口或出口的需求,这会使环境退回到过时的“城堡与护城河”网络边界安全方法。
典型的网络连接性工作流程应遵循以下八个步骤:
- 编码:开发人员提交代码。
注:根据分配给他们的基于角色的访问控制(RBAC),开发人员可能具有直接访问网络控制平面的权限。
- 验证:CI/CD 平台向身份提供商(IdP)提交验证请求(认证和授权)。
- IdP 响应:如果成功,则触发流水线任务(例如测试、构建、部署)。
- 请求:配置器执行请求的模式,例如构建模块、检索工件或针对内部外部引擎验证策略,最终配置定义的资源。
- 配置:如果尚不可用,则配置基础设施。
- 连接性配置:配置器配置连接性平台。
- 连接:根据定义的策略更新目标系统。
- 响应:元数据响应数据包发送到 CI/CD 和执行操作(如安全扫描或集成测试)的外部系统。
连接性流程(连接框包含服务网格和服务注册表)
成功的网络连接性自动化需要:
- 中央共享注册表,用于跨任何地区、运行时平台和云服务提供商发现、连接和保护服务
- 支持多个接口,适用于不同的人员和工作流程(图形界面、API、命令行接口、软件开发工具包)
- 健康检查
- 多个细分和隔离模型
- 第 4 层和第 7 层流量管理
- 实施安全最佳实践,如深度防御和默认拒绝
- 与可信标识提供商集成单点登录和委派的基于角色的访问控制
- 审计日志记录
- 根据服务级协议(例如 24/7/365)提供企业支持
- 支持自动配置(基础设施即代码,运行手册)
敬请期待平台工程支柱系列的第五部分:编排。