每个初创公司都需要在部署和发布之间做出决定。它们是不同的东西,混淆两者的代价高昂。部署是将代码投入生产。发布是将功能交付给用户。功能标志的存在是为了区分这两个决策,如果使用得当,它们会改变整个团队的工作方式。
问题在于,关于[功能标志2]的对话几乎总是从工具开始。有人推荐了一个知名的 SaaS,团队注册了,六个月后他们发现他们正在为永远不会使用的容量付费,或者更糟糕的是,他们将关键的产品决策外包给了他们不认识的计费统治者。
本文适合那些即将招聘的人。这与功能标志是什么无关,而是与决定将启动资金投入何处时最重要的因素有关,启动资金是最稀缺的资源。
你真正买的是什么
本质上,功能标志是一个可在运行时配置的0。您可以使用数据库中的表和缓存来实现此目的。那么为什么要花钱购买工具呢?
因为该值不在 1 中。它无处不在:用户细分、渐进式部署(1%、5%、25%)、即时终止开关、审核谁打开了什么、与分析集成以衡量影响,以及在标志服务出现故障时不会导致应用程序崩溃的 SDK。最后一点是大多数自制软件实现失败的地方。
当初创公司评估工具时,正确的问题不是“哪一个具有更多功能”,而是“哪一个解决了我现在遇到的问题,而不限制我两年后需要什么”。
对于那些刚刚起步的人来说真正的选择
市场分为三个区块,每个区块都有一个舞台。
专业 SaaS
LaunchDarkly 是该类别中成熟的参考。它无所不能,功能强大,而且收费。对于 A 轮前的初创公司来说,每个席位和每个用户上下文的价格增长得太快,您最终可能会为标志支付比生产基础设施更多的费用。当实验是产品的核心并且团队已经拥有持续发布的文化时,这是值得的。
Flagsmith 和 Unleash 占据中间立场。两者都有您自己托管的开源版本和托管版本。对于小型团队来说,从自托管模式开始,当运营变得困难时迁移到托管模式是一种经济上合理的策略。
开源自托管
Unleash是这里最可靠的名字。您在容器中运行它,连接 SDK,无需许可成本即可获得高级 SaaS 80% 的价值。成本转移到你的团队身上:需要有人来维持。对于工程实力雄厚且预算紧张的初创公司来说,这往往是最理性的选择。
内部构建
仅当[功能标志3]是你的竞争优势的一部分时(例如,销售实验的平台),在家构建才是合理的。对于其他一切,内部构建是伪装成储蓄的技术债务。您保存了订阅,并在维护、缓存错误以及在最糟糕的时间缺乏可靠的终止开关方面花费了两倍的费用。
我如何看待总成本
订阅价格是可见部分。实际成本分为三层。
首先是运营成本:谁维护它,谁在标志服务变慢时做出响应,它消耗了多少基础设施。在事件发生之前,自托管似乎都是免费的。
第二是锁定成本。专有 SDK、特定配置格式以及仅在工具生态系统内工作的集成会产生报价中未显示的出站成本。在签字之前,询问一下离开的感觉。
第三是旗帜债务成本。每一个进入的旗帜都需要一个退出的计划。将标志视为永久标志的团队会积累数百个标志,代码变成了无人敢删除的条件迷宫。这是最常见的错误,从长远来看也是最昂贵的,没有任何工具可以单独解决它,这就是过程纪律。
我看到初创公司犯的错误
经典的陷阱是先采用工具,后采用文化。功能标志要求团队知道如何将部署与发布分开,产品考虑渐进式推出,并且有一个清理旧标志的仪式。购买没有它的工具就像购买一辆不知道如何驾驶的赛车。
我见过小团队将标志转变为伪装的产品配置,使用标志进行应该在[数据库4]或权限系统中的决策。结果是一个实验工具超载了不属于它自己的责任,并且费用不断增加,但没有成比例的回报。
在巴西的背景下,仍然有一点很少有人考虑:如果您的标记按个人属性对用户进行细分,那么您正在处理个人数据。 [LGPD5 适用。向谁公开某个功能、基于什么以及存储分段数据的位置都是治理问题,而不仅仅是工程问题。
什么时候值得,什么时候不值得
当您频繁启动、想要与真实用户测试假设并且需要紧急按钮来关闭出现问题的内容而不需要重新部署时,这是值得的。对于寻求产品与市场契合度的产品来说,快速测试和逆转的能力是黄金。
当你每月发布一次、用户很少并且仍在验证产品是否适合任何人时,这是不值得的。在这个阶段,环境变量中的一个简单标志就可以解决问题,而订阅费用在其他地方会产生更大的影响。
成熟的决定是从简单的开始,并在疼痛出现时逐步升级。自托管开源软件,适合那些有工程技术但资金很少的人。当维护成本超过订阅成本时托管 SaaS。内部构建几乎从不。
重要的问题
功能标志与技术无关。它们是为了让团队有犯小错误并快速恢复的自由,而不是在每个版本上都全力以赴。正确的工具是在现阶段以最低总成本提供这种自由的工具,而不是在竞争对手的宣传材料中拥有最知名品牌的工具。
如果您现在正在初创公司中做出此决定,并且想要讨论您案例中的具体权衡,那么值得讨论。博客上还有其他关于实验、持续交付和数字产品架构的文章,可以帮助描绘完整的画面。
另请阅读
- [功能标志:安全发布完整指南6
- [在生产中实施功能标记和逐步推出7
- [面向初创公司的应用程序:扩展之前真正重要的清单8
- [应用策略:验证中初创公司的指标和 KPI9
- [数字实验:适合刚起步的人的工具10
- [自动化特征工程:数据驱动型初创公司的工具11
