上海佳软 - 葡萄城的组件是绝佳的选择
作者:上海佳软信息科技有限公司,刘立兼
用葡萄城的组件3年了,伴随着组件版本一年年的更新换代,我们的产品也在不断地变化以面对激烈的市场竞争。我自己知道选择葡萄城的产品是非常正确的,但又不想写一篇应付了事的吹嘘文,转念一想,不如把这个话题作为一道证明题,来论证为什么说葡萄城的组件是绝佳的选择。
lIT系统的复杂度自从商业化信息系统诞生的第一天开始,它就背负着和其他产品一样的使命——满足需求,而人的需求是永无止尽的,这就使得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系统的发展需要各种解决方案,组件就是一种主流的方案,这种方案相比云计算的“可竞争范围”更大,并且商业组件可以避免支付隐形的技术成本,而葡萄城在商业组件的领域非常的成熟。所以,葡萄城的组件是绝佳的选择!
页:
[1]