译者 | 仇凯
策划 | 云昭
本文分享一个开源项目 Lens 成功创业的案例,希望能给开源界人士以有益的启发和帮助。
Lens,这个基于Kubernetes(简称K8s)平台的开源项目正式发布,距今已经正常运作近两年了。Lens旨在帮助开发人员、操作人员和运维人员以非常快速高效的方式控制和管理K8s集群。如今,Lens拥有超过500000名活跃用户和超过17000名GitHub用户将其标星。作为一个成长中的社区,Lens已成为云原生生态系统中最热门的开源项目之一。它已被一些大型跨国公司接受并投入使用,并以环比15%的速度持续增长。
开源技术的发展会面临诸多因素的挑战,从用户认可到在社区中建立信任,当然还要保证产品的统一性。在这篇文章中,我将分享一些技巧和方法,这些技巧和方法是我们的开源项目在云原生生态系统中取得成功的实践经验。
了解挑战
作为K8s用户,我们了解K8s有许多潜在的挑战,个人和组织需要克服这些挑战才能使他们的应用程序优化方案取得成功。管理K8s意味着编写代码并跟踪多个K8s的YAML文件和权限管理集。在维护数十个K8s集群时,跟踪这些信息和资源会变得非常困难。
我们找到了K8s的几个潜在挑战,包括:
- 技术实现复杂,学习成本高。
- 很难定位问题根源。
- 个人/组织消耗大量时间协助用户在K8s上部署其应用程序。
- 用户的学习成本太高,在浏览器、命令行和文档之间浪费了大量时间。
这些问题只是冰山一角,但就本文的目的而言,我想强调的是,当你试图创造真正优异的东西时,你必须展示解决问题的能力,而不是产品本身……在你做到这一点之前,你需要清楚地了解问题的根源是什么。一旦明确了问题根源,你就可以进入下一个阶段,即评估解决方案的价值。
了解产品价值
当你开始创造优异的产品、软件或技术时,你需要了解你的产品为最终用户或客户提供了哪些价值。你可以从已经发现的问题入手,思考如何解决这些问题。那么如何推进这件事情呢?
我们在构建开源项目方面的一大优势就是能够成为最终用户,而这个优势可以使开源项目产生价值。我到底是什么意思?嗯,这很简单:大多数正在构建开源项目的人很可能已经是该领域的专家。
借助Lens,我们的大多数工程师和开发人员已经在日常工作中轻松地使用K8s发现并解决问题。Lens让他们的生活更轻松。你的团队应该从你构建的开源项目中受益。如果你的团队无法从该项目中受益,那么你的目标受众很可能也不会受益。
我们为Lens实现的一项功能是产品遥测。在许可协议和源代码中,我们可以收集用户匿名化的遥测数据,这些数据将为我们提供洞察产品的能力并引导项目的发展(当然,同时为用户提供拒绝收集遥测数据的选项)。我们利用这些遥测数据更好地了解用户使用Lens的方式,汇总和分析这些数据以确定产品的发展方向,了解用户在使用Lens的痛点并改进它。到目前为止,实时遥测是我们可以利用的最有价值的数据,而难点在于以恰当的方式消化和分析这些数据。
我们还借此机会制作了调查问卷,用户可以通过调查问卷实时向我们进行使用反馈,以便我们更好地了解如何定位产品的发展路线。通过遥测和调查问卷,能够清楚地了解用户如何使用我们的技术以及如何改进产品。
我想在这里特别强调的是,确定产品为最终用户能够带来的真正价值绝非易事,但你可以通过多种方式或渠道来更好地了解用户如何使用产品。在构建产品时,通过遥测数据来分析用户的使用方式是非常必要的。
打造一款能获得所有最终用户认同的产品
在用户接受度方面,变化不大。我们需要明白自己在构建一个面向最终用户的工具。我们的受众,特别是开发人员、操作人员和运维人员,都有一个共同特点。他们希望在使用K8s时能够提高整体的工作效率。因此产品的目标是降低复杂性并提高生产力。
在K8s的潜在用户中,每个人的专业知识水平都不一样,这意味着我们必须专注于构建一个让新手和老手都可以轻松应对K8s日常使用的工具。这是第三步,也是最重要的一步:创造一个能够获得所有K8s用户认同的产品,无论他们的专业知识水平如何。我知道这些都是陈词滥调,但了解最终用户需求是最重要的。
我想在这里特别强调的是,所有目标受众都应该有能力(和渴望)相对快速地启动和运行产品。解决方案、产品或工具应该非常易于使用,最好任何人都可以在无需阅读文档的情况下轻松成为“老手”。
倾听社区的需求
好的,现在聊聊你们都关心的部分:Lens如何在不到两年的时间内活跃用户从0增长到500,000。我们没有大量营销预算且公共关系维护也几乎为零,在此情况下依然迎来了大量的用户增长。开源应用程序的增长和持续增长,主要来自项目在用户群体中的口碑,这些用户群体会通过口耳相传的方式向其他人推荐我们的产品。
是的,口耳相传。我知道这不是你所期望的增长秘诀,但开发人员、操作人员和运维人员通过使用我们的产品,认可我们的产品,这样就为我们完成了大部分繁重的宣传工作。
但这并不意味着我们忽略了提高用户使用率的必要性。我们为改善用户体验和提升用户增长所做的最重要的事情之一,就是让我们的社区积极响应用户反馈。
由于这个机会,在Lens作为开源项目推出的前16个月内,我们已经通过超过1000次的提交解决了大约1200个问题——尽管我们才刚刚启动项目!我们很快意识到,及时解决问题体现了我们对用户和产品的关心和尊重,从而使我们迅速在云原生开源社区中获得用户信任。
事实上,要“破解”系统,你需要专注于开发出色的产品。我的意思是什么?好吧,我认为作者塞思·戈丁(Seth Godin,美国营销大师、作家和演讲家)说得最好:“不要为你的产品寻找客户,而是为你的客户寻找产品。”这正是我们所做的。我们将最终用户面临的最大挑战放在首位,并构建了基于K8s生态系统且任何人都可以使用的产品。我们了解的一切都始于产品,所以我们问自己,“我们是否正在构建一些优异的产品,最终用户是否愿意与他们的同事分享这些东西?”如果这个问题的答案不是肯定的,那么你还需要做更多的努力。
在构建真正优异的东西时,你需要专注于了解每个愿意尝试或使用你的产品的人。
- 我们是在解决问题,还是为了销售产品?
- 我们是否将用户反馈纳入解决方案?
- K8s生态系统中的任何人都可以使用我们的产品吗?
- 我们的产品是否非常实用且易用?
这里的关键点是,我们永远无法准确地知道需要如何做才能使你的产品、技术或软件变得优异。但是,有些准则可以确保你在正确的道路上前进。上面提到的要点就是我们在构建Lens时的准则。
如果你想围绕此主题进行进一步交流,请随时直接与我联系。感谢你的时间。
关于Lens——开源K8s平台
Lens是运行K8s的一种方式。它降低了新手的入门门槛,并从根本上提升老手的生产力。用户可以通过Lens准确的判断集群和云原生软件堆栈的运行状态。
它可以帮助人们正确看待和理解K8s。数以千计的企业和数十万K8s用户在Lens上开发和管理他们的K8s。
Lens开源项目得到了许多K8s和云原生生态系统前辈的支持。Lens拥有超过500000名K8s用户且社区在GitHub上有17000个星标,是世界上最大、最先进的K8s平台。请在https://k8slens.dev下载并使用Lens。
译者介绍
仇凯,51CTO社区编辑,目前就职于北京宅急送快运股份有限公司,职位为信息安全工程师。主要负责公司信息安全规划和建设(等保,ISO27001),日常主要工作内容为安全方案制定和落地、内部安全审计和风险评估以及管理。
原文链接:https://hackernoon.com/how-to-build-and-scale-a-useful-open-source-technology