找回密码
 立即注册

QQ登录

只需一步,快速开始

admin 讲师达人认证 悬赏达人认证 活字格认证 SpreadJS 开发认证
管理员   /  发表于:2018-10-24 15:53  /   查看:3590  /  回复:0

作者:上海佳软信息科技有限公司,刘立兼

用葡萄城的组件3年了,伴随着组件版本一年年的更新换代,我们的产品也在不断地变化以面对激烈的市场竞争。我自己知道选择葡萄城的产品是非常正确的,但又不想写一篇应付了事的吹嘘文,转念一想,不如把这个话题作为一道证明题,来论证为什么说葡萄城的组件是绝佳的选择。

l  IT系统的复杂度
自从商业化信息系统诞生的第一天开始,它就背负着和其他产品一样的使命——满足需求,而人的需求是永无止尽的,这就使得IT系统必须拥有更多的功能、更高的性能、更强的安全性……而这一切最终都会使得IT系统的复杂度急剧的上升。《人月神话》很早就提出了“没有银弹”一说,这是因为IT系统中的很大一部分是人的思维逻辑的体现,人的思维是难以度量难以复制的。所以IT领域并没有根本性的解决复杂度的办法,而是和许多领域一样,通过社会分工和过程控制的方式来分解复杂度。社会分工就是将IT系统的不同部分分给不同的人或组织进行实现,根本上来说就是降低每个人所需要面临的复杂性,这在许多制造领域都非常常见,比如现在高度集成化与模块化的智能手机就需要一个长长的供应链。而过程控制则是在更早的手工时代就存在的,它是针对一类生产过程的最佳实践,它可以降低每个参与者的选择性复杂度,也可以用来避免过程中引入的新的风险从而提高复杂度,著名的ThoughtWorks一直在软件业提供这方面的咨询与培训。

l  解决方案的发展
在这两类分解复杂度的方法并不是散兵游勇各自独立的。在IT业发展的过程中,很明显的出现了需求下沉的现象,也就是有许多需求变得越来越常见,越来越通用。这就使得对于同一类需求,通过社会分工可以提供非常高质量的通用成品,并且节省这一部分的过程控制投入。对于IT系统的生产者来说,这相当于既减小了复杂度的分子又增大了它的分母。这种解决方案有许多的形式,比如历史悠久的库、包,组件,工具以及当下流行的开放接口、云计算……等等。陪伴我们开发者的库、包和组件差不多是我们技术生涯的见证者,就好像我们身上的装备一样,绝大多数时候不穿这些装备可能连怎么打怪都忘了。而当下热门的云计算更像是强力的队友,我们连穿上装备都省了,云计算号称点几下鼠标就可以获得:“经过万人验证的”、“线上立刻可用的”、“可随时按需弹性变化的”、“能力横向无限扩展的”、“性能可支撑上亿用户的”……技术能力,这听起来使得IT系统的生产过程大大简化了,复杂度得到了有效的控制。

l  解决方案的分类
如果我们将各种解决方案归类,那么组件类(库,包,工具……)和云计算类(三方接口,Paas,Daas……)是解决复杂度问题的两个方向。组件类的特点是:自己的,可控的,离线的。云计算的特点是:别人的,固化的,在线的。组件类的本质是提供代码的使用权或所有权,它是最终产品的一部分。虽然产品所有者需要投入精力去学习和融合它,但是随着所有者对组件的运用及定制能力的增强,它会成融入所有者的能力版图,成为它的一部分。组件类背后的商业逻辑是:数量效益。通过卖出更多份的使用和部署授权获取利益,它希望客户可以变得更强,在更多的地方使用它。云计算类的本质是提供在线服务的租赁,虽然它可以做到开通即用,并且品质也经过相当的检验。但是它与最终产品只是合作关系,它无法融入产品所有者的能力版图也无法按需而变。实际上它削弱了产品所有者的能力,因为产品所有者放弃了这一部分技术能力的控制权。云计算类背后的商业逻辑是:规模效益。通过对某一类基础的能力的高度投入,达到一般企业难以做到的功能与性能水平,再将这些能力规模化自动化复制,实现出租给大量的企业来获得匹配的回报,它希望客户自己不要去投入这些基础能力,而是长期租用它的能力。

l  两类解决方案的比较
之所以要提出IT业的复杂度问题,并将解决方案分成两类来看,就是要发现这两类方案的核心差异,这是证明葡萄城产品价值的关键论据。那么核心差异是什么呢?我认为是“可竞争范围”。云计算提供的服务租赁特性决定了它的技术颗粒较大且固化,这会将竞争与创新推向技术**。云计算有一句常见的口号:”我们提供技术上的保驾护航,让客户专精于业务“,这对于IT企业来说意味着当技术的主要部分来自于同样的云计算供应商时,竞争会走向”业务模式创新“、”应用创新“、”销售创新“、”渠道创新“……这对于非技术主导的业务来说很理想,但是对于技术主导的业务则会束手束脚。组件则不同,所有者可以拥有完全的控制力(不过这也得看授权方式),不仅能将组件用于任何一个适用的地方,还可以进行各种“魔改”以实现技术创新。对于组件的使用不会使竞争范围远离技术,反而会在技术适当的投入下,发挥出比原组件本身更高的价值,这一点我估计葡萄城的案例会很多。所以在当下这个以“云计算”、“大数据”、“人工智能”、“物联网”为技术界政治正确的气氛下,组件发挥的价值不仅不应被轻视,反而应该着重考察,因为技术价值永远是IT企业无法舍弃的部分,不然企业会进入非常危险的境地,这不是危言耸听。

l  开源组件与商业组件
在讨论组件的价值之后,再来说说商业组件与开源组件的差异。其实在技术领域,大部分人用的大部分组件都来自于开源。但开源是一种“获取帮助”与“给与帮助”相平衡的模式。完全开源的免费的组件给开发者提供了解决复杂度的帮助,但是开发者也需要以自己的肉身去踩坑,以自己公司的产品去冒风险,从而给开源改进的空间。如果企业的技术组织能够吸收这种风险,那开源是没有问题的,不然的话就是拿企业的竞争力去换免费午餐了。商业组件则不同,它需要的是你的购买,他并不追求让你付出技术上的成本来发展自己,相反他会极力避免任何技术风险,以便于你再次成为他的客户。所以如果企业付不起技术成本但付得起钱,那么商业组件是非常好的选择。相反,能承担得起技术成本但是不想付钱,那么开源组件是不错的免费午餐。我个人认为,选择支出技术成本是一种比较糟糕的选择,因为这种成本是隐性的,它不仅会在技术团队内从技术本身蔓延到管理问题、心态问题,还会扩散到上下游部门,造成它们的隐形的损失。

l  葡萄城的商业组件
最后我们来说说葡萄城的商业组件的价值。我大概是2015年接触到的葡萄城的组件产品。第一感觉就是:成熟的商业化组件。体现在哪呢?
1.   产品历史悠久,一个组件产品居然可以10年以上,这是成熟的最好体现。之前也说过,IT系统大部分是逻辑思维的产品,这其实是一种智力资本的投入。一款持续开发了10年以上的组件,他的智力投入可想而知。一个系统被反复投入智力进行升级、重构和加固,他的成熟度自然而然就会上升。
2.   文档齐全,细致,配合各种Demo,明显考虑到了开发者的学习方式。对于技术选型的决策来说,某个选择带来的收益与需要付出的代价是最基本的考量。如果某个选择的学习成本很高或技术人员很难找到的话,那需要付出的代价就会很大,在技术选型的排名中就会降低。葡萄城在这方面的努力,使得它的组件总是可以被优先考虑到,很智慧。
3.   版本迭代稳定,方向明确,周期恰当。其实这一点值得多说几句。现在大部分的云计算、Saas平台、三方接口都追求“小步快跑”、“快速迭代”。这对于需求不定、客户不定、模式不定的情况来说是合理的,但现在都成了开发过程的“政治正确”了。在我看来,跟据情况选择对应的开发方式是最好的。葡萄城的组件具备高质量与高复杂性两个特点,瀑布模型是非常正确的选择。能做到不随波逐流,绝对要给葡萄城加分的。
4.   售前售后专业性强,能解决客户的问题,特别借此文章鸣谢Dexter Yao,Clark Pan对我们的支持。
5.   组件销售方式灵活,与客户的产品开发可以匹配。这点其实与商业模式的发展有密切的关系。当考虑投入一个新产品时,由于对于产品本身的成本,价值主张的有效性,客户来源,渠道流量等等都具有不确定性,所以往往需要进行小规模验证。葡萄城可以提供价格适当的最小规模销售方案,可以帮助企业经历这一段探索器。当到了扩张期时,企业往往对于产品本身要提出更高的要求,这时候就需要获得相应组件的更加完整的使用权,葡萄城也可以提供源码等级的销售方案。可以说无论产品处于哪个时期,葡萄城总是可以提供适当的销售方案,帮助企业平稳发展。

l  最后一句话总结
IT系统的发展需要各种解决方案,组件就是一种主流的方案,这种方案相比云计算的“可竞争范围”更大,并且商业组件可以避免支付隐形的技术成本,而葡萄城在商业组件的领域非常的成熟。所以,葡萄城的组件是绝佳的选择!



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部