laf 的发展背景和方向讨论 #178
Replies: 9 comments 7 replies
-
需求点
这些需求点,不应该只能由 laf 本身来提供,应该从架构层面设计,实现为用户/生态可扩展的方式,比如:
laf 的设计,应该提供的是这种可扩展的能力,而非直接提供功能。 让 laf 本身保持最轻最小化,基于 laf 的部署版可配置、可拼装、可订制、可扩展。 |
Beta Was this translation helpful? Give feedback.
-
产品目标变化 😣 当前 运营版:lafyun.com 虽是基于 laf 部署的,但还是扩展了一些功能,比如短信登录、实名认证等,未来还会有计量、订单、工单等功能,属于商业运营版。 开源版:过去对开源版的要求是,不要引入三方的接口或与商业运营有关的功能,保持 laf 本身代码的纯粹性。 开源版拥有 laf 完整的能力,定位是支持私有化部署的开源替代品,其开发功能可平替 lafyun.com,但并不具备商业运营相关的能力。 结果:lafyun.com 提供公有云服务, laf 为开发者提供私有部署替代方案。 ⛅未来 laf 不会存在「运营版」和「开源版」,laf 的产品目标就是「人人可商业运营」的版本。 所有商业运营的功能,也都会在 laf 中实现, lafyun.com 将只是 laf 的一个普通的运营实例。 laf 希望,人人都可以到处运行云开发服务平台, 市场上应该存在其它 lafyun 的竞品服务,他们可以比 lafyun.com 更便宜、更专业、更受开发者支持。 市场上不应该只有一家腾讯云、阿里云、lafyun,应该有数家、数千家甚至数万家公有云,每个小公司都有能力为自己的客户提供自己的云。 这个目标只有开源生态能实现,我们相信也是未来的大趋势。 感性总结:市场不应该只有几朵大云,而是由无数大大小小的云点缀的天空。 |
Beta Was this translation helpful? Give feedback.
-
罗列一个具体设计点
如创建一个应用,包括的资源有:db, oss, instance(runtime), domain, ssl, network 等,对应的资源由 db-controller, instance-controller, gateway-controller 等控制器创建和维护。 这些 controller 是可自由拼装组合、可订制开发扩展。 |
Beta Was this translation helpful? Give feedback.
-
多语言的支持 开发者创建一个应用,就是选择不同的资源,那么多语言的应用,就是选择不同语言的运行时。 如,对微信云开发迁移的场景,专门为微信云开发 提供一个 runtime(app-service),可命名为: app-service-tcb, app-service-nodejs (default) 这个架构应该是可扩展的,在私有部署 laf 的场景下,用户还可以使用自己定制的 runtime。 |
Beta Was this translation helpful? Give feedback.
-
可能的设计难点
|
Beta Was this translation helpful? Give feedback.
-
补充几个 laf 的目标场景
|
Beta Was this translation helpful? Give feedback.
-
你好!函数并发访问量有什么考虑吗?是否可以支持伸缩? |
Beta Was this translation helpful? Give feedback.
-
背景
database-proxy
less-api
还是传统的开发方式,不支持文件、登陆、支付等非数据库逻辑,实现less-api-framework
,在 less-api 的基础上增加了 web 控制台、云函数的能力less-api-framework
是单应用版,每个项目都需要单独部署一次,将其实现为多租户多应用的云开发平台,命名为laf
可以看出,laf 是「自下而上」设计出来的,laf 最初是在实际项目开发团队中孵化出来的,其中每个按钮都是项目团队「催」出来的。
laf 在并没有经历过「自上而下」的设计过程,其功能和架构的演化是同时进行的,好处是“需求驱动迭代“在前期可以快速匹配项目需求,坏处也很明显,完全没有顶层设计,不利于长期迭代,也不容易满足更广泛的场景。
laf 若要长期、广泛的使用和发展,就必须要更抽象、简单、轻量、灵活的设计。相反,仅针对具体的需求的设计往往只能满足阶段性、小范围的需求,未来迭代的过程会变得复杂、臃肿,直至被淘汰。
只有更加抽象、轻量、简单的设计,才能长期快速的迭代、满足更广泛的需求、满足未来的需求。
Beta Was this translation helpful? Give feedback.
All reactions