开源项目推荐:提高研发效率的5个开源项目
Feature Flag 技术在国外产品研发中被广泛使用,被视为提高研发效率的利器。在国外,Feature Flag 技术已经得到广泛普及并被企业广泛采用,许多知名公司都在使用该技术提高产品开发和交付的效率,例如 Facebook、Google、Netflix等,同时也有很多相关的开源项目和服务。而在国内目前只有一些大型公司在使用该技术做功能发布,字节跳动的火山引擎、滴滴出行的 Apollo 等,但开源项目相对较少。
作为 Feature Flag 技术的布道者和受益者,下面我们来盘点一下国内外有哪些 Feature Flag 技术的开源项目。
一、FeatureProbe
FeatureProbe 是一款国产的功能丰富的 Feature Flag(功能开关)管理平台,旨在帮助团队实现持续交付和逐步发布功能,它包含了灰度放量、AB实验、实时配置变更等针对『功能粒度』的一系列管理服务,让团队可以更好地控制功能发布和访问。
项目特点
功能标志管理: 允许团队创建和管理功能标志,以在不同用户群体中逐步发布和控制功能。它提供了灵活的标志配置选项,如按目标用户、分段规则和百分比进行功能分发。
实时功能切换: 功能标志可以实时切换功能状态,而无需重新部署代码。这使得团队能够在生产环境中灵活地控制功能的开启和关闭,降低风险并提供更好的用户体验。
A/B 测试: 提供了 A/B 测试功能,使团队能够比较不同功能变体的效果,并基于实时数据做出更好的决策。
可视化仪表板和分析: 提供了直观的仪表板和分析工具,以帮助研发团队可视化功能标志的使用情况、效果和影响。这使得团队能够更好地了解功能的效果,并进行数据驱动的决策。
安全和稳定性: 注重安全和稳定性,提供了安全的数据传输和存储,以及高可用性和强大的性能,确保功能开关的可靠运行。
开源协议
二、Unleash
Unleash 是一个开源的Feature Flag(功能开关)和实验平台,用于管理和控制软件应用中的功能发布。可以根据自定义的规则进行安全测试和发布新功能,目前 Unleash 提供了一些主流语言的集成框架,可以适用于不同模块的项目。
项目特点
支持第三方集成: 具有广泛的生态系统支持,可以与多种第三方平台和工具进行集成,包括分析平台、监控工具等,提供全面的功能和扩展性。
支持部分主流语言SDK: 提供备用机制和SDK支持,可以在发生故障或异常情况时快速切换回备用方案,并保持本地备份,确保系统的可靠性和稳定性。
性能监控: 提供业务性能监控功能,可以实时监测和分析功能标志的影响和性能,帮助团队及时发现和解决问题。
渐进式发布管理: 强大的渐进式发布管理功能,可以灵活控制功能的逐步发布。
开源协议
三、GrowthBook
GrowthBook 是一个开源的Feature Flag(功能开关)和实验平台,指在帮忙企业进行数据驱动的决策,并提供了一系列的功能,包括精准用户定位、渐进式发布、A/B 测试以及切换功能的开启和关闭等功能。
项目特点
可访问性: 为所有团队服务,无论是产品开发团队、数据科学团队还是市场营销团队,他们都可以利用 GrowthBook 进行数据驱动的决策和实验。
精准用户定位功能: 提供了先进的实验定位功能,使团队能够准确地将实验目标定位到特定用户群体或用户细分。这种精细的定位能够提供更准确的实验结果和更有针对性的决策。
模块化、可定制化: 可以根据用户的需求进行灵活配置和扩展。用户可以选择使用完整的测试平台、插件切换工具或数据分析引擎,以构建适合自己团队的解决方案。
不限制功能开关: 用户可以创建和管理任意数量的标志。这使得用户可以自由地控制功能的发布和功能实验,以更好地满足业务需求。
开源协议
四、Flipt
[Flipt] (https://github.com/flipt-io/flipt) 是一款全开源功能发布及管理项目,它支持所有基本的功能标志用例,例如基于段(例如新用户、电子邮件、地区等)进行功能发布,多个变体以及百分比阈值用于功能发布。
项目特点
强大的 REST API: 提供强大的 REST API,使用户能够灵活地管理和控制功能标志。
多数据库支持: 支持多种数据库,包括 Postgres、MySQL、SQLite和CockroachDB,以满足不同的数据存储需求。
数据导入和导出: 支持数据的导入和导出,使用户能够将数据存储为代码或进行灵活的数据迁移。
开源协议
五、Harness
Harness 是一种持续交付和自动化部署平台,旨在帮助团队实现更快速、更可靠的软件交付过程。它提供了一套全面的工具和功能,包括持续集成、持续部署、部署管道管理、自动化测试和监控等,FeatureFlag 是 Harness 其中一个功能模块。
项目特点
部署自动化: 提供了强大的部署自动化功能,可实现多环境部署、滚动升级、回滚等操作,减少人工错误和时间消耗
监控和报告: 集成了强大的监控和报告功能,可以实时监测应用程序的性能、健康状况和日志,提供可视化的指标和报告。
功能审计需求: 通过 RBAC(基于角色的访问控制)和审计日志等功能,支持管理需求,确保安全性、合规性和可追溯性
工作流程集成: 可以与 GitOps 和 YAML 等工作流程进行集成,使团队能够在熟悉的工作环境中进行交付和协作。
开源协议
Harness 提供了不同层次的协议选择,以满足不同公司和团队的需求,更多内容可以前往 GitHub上查看。
总结
FeatureProbe | GrowthBook | Unleash | Flipt | Harness | |
---|---|---|---|---|---|
功能开关管理 | ✅ | ✅ | ✅ | ✅ | ✅ |
A/B测试 | ✅ | ✅ | ✅ | ✅ | ✅ |
可视化配置界面 | ✅ | ✅ | ✅ | ✅ | ✅ |
自定义策略 | ✅ | ✅ | ✅ | ✅ | ✅ |
多环境支持 | ✅ | ✅ | ✅ | ❌ | ✅ |
变更审批 | ✅ | ❌ | ❌ | ❌ | ❌ |
用户分析 | ✅ | ✅ | ❌ | ❌ | ✅ |
指标分析 | ✅ | ✅ | ❌ | ❌ | ❌ |
本地化技术支持 | ✅ | ❌ | ❌ | ❌ | ❌ |
部署复杂性 | 简单 | 中等 | 高 | 中等 | 高 |
多语言SDK支持 | 支持 10+ SDK | 支持7+ SDK | 支持 10+ SDK | 支持7+ SDK | 支持 10+ SDK |
关于我们
FeatureProbe 是国内首家功能开关管理开源平台,它包含了灰度放量、AB实验、实时配置变更等针对『功能粒度』的一系列管理操作,完全开源,可以放心直接使用。
当前 FeatureProbe 作为一个功能开关管理平台已经使用 Apache 2.0 License 协议完全开源,你可以在 GitHub 和 Gitee 上访问源码,你也可以在上面给提 issue 和 feature 等,欢迎加入我们,风里雨里,都在等你!
GitHub: https://github.com/FeatureProbe/FeatureProbe
Gitee: https://gitee.com/featureprobe/FeatureProbe
体验环境: https://featureprobe.io/