功能标志是一种强大的技术,可让您实时控制功能的可用性。让我们探讨如何在生产环境中有效地实施它们。
什么是功能标志?
功能标志(或功能切换)是允许以下功能的机制:
- 无需部署即可激活/停用功能
- 与特定用户测试功能
- 出现问题时快速回滚
- 实施逐步推出
功能标志的类型
1. 按环境分类
0
2. 每个用户
1
实际实施
1.基础结构
2
2. 后端集成
3
逐步推出
1. 推出策略
逐步推出是分阶段进行的,随着信心的增强而扩大曝光范围。典型的进展从完成的功能开始,如下所示:
- 5%,测试版用户,最先收到消息的群体。
- 25%,活跃用户,该功能已在初始组中得到验证。
- 50%,大多数用户。
- 100%,整个基地的可用性。
每次跳跃仅在前一阶段的指标确认稳定性后才会发生。
2. 监控
4
工具和服务
1. 自托管
-
🏠 释放
- 开源
- 完全控制
- [REST API10
- 仪表板
-
🏢 旗匠
- 多种语言的 SDK
- A/B 测试
- 分析
2.基于云
-
☁️ 启动黑暗
- 集中管理
- 高级分析
- 现成的集成
-
🌐 Split.io
- 实验
- 高级细分
- 实时监控
良好实践
1. 命名法
5
2. 文档
每个标志都应该有一个简短的标准化形式。例如,对于9,文档将涵盖:
- 描述:实施新版本的结账流程。
- 状态:已启用开发、已启用暂存、逐步推出生产 (25%)。
- 依赖项:支付网关 v2 和地址验证服务。
- 推出计划:5%(测试版)、25%(活跃)、50%(多数)、100%(全部)。
该记录可以防止标志成为被遗忘的技术债务,并为那些需要决定是继续前进还是删除标志的人提供背景信息。
监控和警报
1. 基本指标
6
2. 警报
7
用例
1. 安全部署
安全推出周期关闭了四个参与者之间的反馈循环。开发人员为初始部分用户 (5%) 激活该标志。功能标志向监控系统提供使用情况、错误和性能指标。监控会将这些数字与定义的阈值进行比较,每当超出限制时,警报系统就会通知开发人员,由开发人员决定提前部署还是逆转部署。正是这种持续的循环使得增量交付变得安全。
2.快速回滚
8
结论
功能标志对于以下用途至关重要:
- 安全部署
- 生产测试
- 快速回滚
- 对照实验
- 有效监控
后续步骤
- 选择你的工具
- 定义命名标准 3.实施监控
- 创建文档
- 培训团队
想分享您使用功能标志的经验吗?请在下面发表评论!
另请阅读
- [功能标志:安全发布完整指南11
- [功能标志:工具以及在公司采用之前要考虑的事项12
- [初创公司的功能标志:值得投资的工具13
- [速率限制、功能标志和分布式配置的 KV:它在哪里起作用以及在哪里失效14
- [用于生产的 Docker:构建轻量且安全的镜像15
- [生产中的 Kubernetes:迁移之前没有人告诉你的事情16
