开源项目推荐:提高研发效率的5个开源项目

Feature Flag 技术在国外产品研发中被广泛使用,被视为提高研发效率的利器。在国外,Feature Flag 技术已经得到广泛普及并被企业广泛采用,许多知名公司都在使用该技术提高产品开发和交付的效率,例如 Facebook、Google、Netflix等,同时也有很多相关的开源项目和服务。而在国内目前只有一些大型公司在使用该技术做功能发布,字节跳动的火山引擎、滴滴出行的 Apollo 等,但开源项目相对较少。

作为 Feature Flag 技术的布道者和受益者,下面我们来盘点一下国内外有哪些 Feature Flag 技术的开源项目。

一、FeatureProbe

featureprobe.png

FeatureProbe 是一款国产的功能丰富的 Feature Flag(功能开关)管理平台,旨在帮助团队实现持续交付和逐步发布功能,它包含了灰度放量、AB实验、实时配置变更等针对『功能粒度』的一系列管理服务,让团队可以更好地控制功能发布和访问。

项目特点

功能标志管理: 允许团队创建和管理功能标志,以在不同用户群体中逐步发布和控制功能。它提供了灵活的标志配置选项,如按目标用户、分段规则和百分比进行功能分发。

实时功能切换: 功能标志可以实时切换功能状态,而无需重新部署代码。这使得团队能够在生产环境中灵活地控制功能的开启和关闭,降低风险并提供更好的用户体验。

A/B 测试: 提供了 A/B 测试功能,使团队能够比较不同功能变体的效果,并基于实时数据做出更好的决策。

可视化仪表板和分析: 提供了直观的仪表板和分析工具,以帮助研发团队可视化功能标志的使用情况、效果和影响。这使得团队能够更好地了解功能的效果,并进行数据驱动的决策。

安全和稳定性: 注重安全和稳定性,提供了安全的数据传输和存储,以及高可用性和强大的性能,确保功能开关的可靠运行。

开源协议

Apache-2.0 license

二、Unleash

unleash.png

Unleash 是一个开源的Feature Flag(功能开关)和实验平台,用于管理和控制软件应用中的功能发布。可以根据自定义的规则进行安全测试和发布新功能,目前 Unleash 提供了一些主流语言的集成框架,可以适用于不同模块的项目。

项目特点

支持第三方集成: 具有广泛的生态系统支持,可以与多种第三方平台和工具进行集成,包括分析平台、监控工具等,提供全面的功能和扩展性。

支持部分主流语言SDK: 提供备用机制和SDK支持,可以在发生故障或异常情况时快速切换回备用方案,并保持本地备份,确保系统的可靠性和稳定性。

性能监控: 提供业务性能监控功能,可以实时监测和分析功能标志的影响和性能,帮助团队及时发现和解决问题。

渐进式发布管理: 强大的渐进式发布管理功能,可以灵活控制功能的逐步发布。

开源协议

Apache-2.0 licence

三、GrowthBook

growthbook.png

GrowthBook 是一个开源的Feature Flag(功能开关)和实验平台,指在帮忙企业进行数据驱动的决策,并提供了一系列的功能,包括精准用户定位、渐进式发布、A/B 测试以及切换功能的开启和关闭等功能。

项目特点

可访问性: 为所有团队服务,无论是产品开发团队、数据科学团队还是市场营销团队,他们都可以利用 GrowthBook 进行数据驱动的决策和实验。

精准用户定位功能: 提供了先进的实验定位功能,使团队能够准确地将实验目标定位到特定用户群体或用户细分。这种精细的定位能够提供更准确的实验结果和更有针对性的决策。

模块化、可定制化: 可以根据用户的需求进行灵活配置和扩展。用户可以选择使用完整的测试平台、插件切换工具或数据分析引擎,以构建适合自己团队的解决方案。

不限制功能开关: 用户可以创建和管理任意数量的标志。这使得用户可以自由地控制功能的发布和功能实验,以更好地满足业务需求。

开源协议

MIT license

四、Flipt

flip.png

[Flipt] (github.com/flipt-io/flipt) 是一款全开源功能发布及管理项目,它支持所有基本的功能标志用例,例如基于段(例如新用户、电子邮件、地区等)进行功能发布,多个变体以及百分比阈值用于功能发布。

项目特点

强大的 REST API: 提供强大的 REST API,使用户能够灵活地管理和控制功能标志。

多数据库支持: 支持多种数据库,包括 Postgres、MySQL、SQLite和CockroachDB,以满足不同的数据存储需求。

数据导入和导出: 支持数据的导入和导出,使用户能够将数据存储为代码或进行灵活的数据迁移。

开源协议

GPL-3.0 license

五、Harness

harness.png

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: github.com/FeatureProbe/FeaturePro...

Gitee: gitee.com/featureprobe/FeatureProb...

体验环境: featureprobe.io/

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

好家伙,一个都没看懂

1年前 评论

我去,不错啊

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!