小型系统如何“微服务”开发(二)

在“互联网+”的风口时期,你可能曾经会为了争分夺秒而烟筒式地打造各种各样的所谓的“互联网应用”去获取更多市场的“青睐”。但风向偏移后,“互联网+”随着社会的进步和技术的发展而慢慢演变成为当今企业发展的基石,无论大、中、小企业,如果忽略了或者还没有意识到“互联网+”定位的本质性变化,我想他们在发展的过程中会遇到不少障碍和阻力。所以,无论大型平台、中型系统或小型应用,如果深入到在“企业”这个主体层面上思考,我想你会发现许多架构层面或更深层次的共性。缺少对这些共性的认知,我想企业的信息化建设只会重滔覆辙这过去十多年从小型系统到大型平台演变过程的痛苦,这也是我所预想的企业发展阻力之一。

企业信息化建设的“ 本质 ”

对于任何一个企业发展而言,信息化已经是必然手段。“麻雀虽小,五脏俱全”,无论企业的外在表现还是内在修炼,他们都在使用各种各样的技术手段去最大化他们的企业效能。例如企业自建的门户和业务系统,又或者他们租用的线上OA和线上商店等SaaS服务,这些都是辅助企业发展的信息化技术手段。但过去的经验告诉我们,如果对信息化建设本质不加以思考,技术这个辅助企业发展的手段终将演变成主要瓶颈。所以,如果企业想要踏上信息化的浪潮“随风破浪”,这点本质性思考是绝对不可忽视的。我本身作为一名技术人(程序)员,深深地体会到打破这种钉子思维局限的困难。年轻的时候,我会渴望各种大型系统建设的机遇和挑战,因为“大”和“小”直接成为了我量化的维度。多年以后的今天,我意识到做好一个小型系统是多么的不容易,因为自身持续性的反思和努力让我看到了“大”和“小”浅表层以外更深层次的一些共同性问题。无论我做的是管理平台还是业务系统,这些独立应用的背后永远只有一个主体,那就是企业本身。相反,对于企业而言,这些独立的应用系统只是企业外在的其中一“面”,而隐藏在这些"面的背后却是一个承载着企业核心价值的“载体”。

信息化建设的发展趋势

 所谓“传统”肯定是相对“当下”而言,对于传统的信息化建设,我们可能会用“烟筒式”来形容,一个个烟筒就是企业一个个独立的应用系统。过去十多年信息化建设经验告诉我,这些“烟筒”的完全独立性会带给企业越来越沉重的阻力,例如资源利用率低,维护成本高,信息不对等,重复性建设,规范不统一,数据不互通等等问题已经日益膨胀。有问题就代表有商机,各种各样的产品工具层出不同,例如4A、ESB、ETL等一系列针对以上问题的具体解决方案。当然,不管白猫黑猫,能解决企业问题的都是好猫,回到“趋势”的主题上,我把这十多年企业信息化建设的发展情况概况如下图所示:

从上图可以看到,随着技术的发展,信息化建设自底向上地对资源逐步整合并高效利用,各种“烟筒式”应用系统的建设周期会越来越短。到目前为止,我们搭建一个系统,除了应用业务代码层面的开发以外,其它包括硬件、中间件以及标准化的软件服务层面都不需要独立从零开始去着手准备了。按照这个信息化建设的发展趋势看,接下来高度整合的便是企业内部的核心业务资源,也就是上文提到的承载着企业核心价值的“载体”。因为我目前没有找到一个很贴切的名称去形容这个企业核心“载体”,在这里暂且先借助阿里的“中台”二字作为代替描述。如果我把这个“载体”放大,架构大概如下所示:

小型系统的开发模式

 以上的讲解更多是一些信息化发展的背景预测和思考,其目的不是让我们如何为企业做出一个强大的企业“中台”,而是让我们掌握更多更深层次的信息,带着这个“全局”的视野去引导我们重新思考我们所开发的每一个小型系统的定位和本质。如果信息化建设的发展真如上所势,无论是一个从零开始建设的小应用系统,还是一个从零开始崛起的小型企业,都必须带着这种“中台”模式的核心思想去实践。我不敢保证这是一种能完全避免被时代淘汰的实践,但至少是一种经过积累和思考的经验,可以让企业避开过去各种无谓的坑,大大提升企业在市场的竞争力。社会在发展,技术在进步,我们开发系统的思维同样要思考和改变,我这里所描述的“中台”并非指应用系统的规模量化词语,更多还是一种思维模式,一种可以承建在微服务架构思维模式之上的企业信息化建设思维模式。我们完全可以带着这种“中台”的思维模式再结合《小型系统如何“微服务”开发(一)》的方法去实践:

初期萌芽阶段:按概率来说,这是我们大部分程序员目前所处的阶段,无论我们开发的是企业门户还是客户管理系统亦或是业务运营系统,这都是市场也是企业最基本的需要,如果因为我们所开发的应用系统规模过小而忽视或还是按照“传统”的思维方式去看待和建设,那么,无论用多么新潮或牛逼的技术,他永远只是一个独立的小型系统,大价值发展的概率不高。

中期适应阶段:随着市场的开放程度越来越高,企业的机会也会越来越多,能把握住机会而跳过初期阶段的企业有很多,但阻力会越来越大,其中之一可能就是我所预想的信息化建设阻力。如果信息化建设初期(也就是我们的小型系统建设)能够做好充分的准备,我想至少技术不会成为障碍,甚至是企业发展的强大动力。

后期沉淀阶段:能达到这个阶段的企业本身就已经具备了强大的市场的能力,对信息化建设的要求也会越来越高,因为这是他们持续发展的基石。当然,有些企业会因为初期传统的信息化建设思维而导致当前状态的痛不欲生,其它普遍的诸如企业文化、组织架构等重要因素我暂且不讨论,如果我们从现在开始重新思考一下自己所做的这些小事情的本质并努力实践和验证,至少未来的机会会比别人多。无论你开发的是初创型公司小型系统也好,还是大型企业的新开辟的小型应用也好,如果思维方式没有改变,不妨尝试做一个“主导”的人。

 写在最后

 作为一个程序员,我可以学习很多关于如何构建一个强大系统的技术,但技术价值的最大化还需要更多高层思维的主导。所以,我们有能力构建一个高性能高可用的大型平台,但不代表我们有能力构建一个符合企业发展的小型系统;我们有能力掌握“去中心化”手段,但不代表我们能“中心化”积累企业的核心价值;我们有能力主导当下的市场,但不代表我们有能力适应未来的变化。放下内心无谓的尊严,从做好一个小型系统开始。

posted @ 2019-03-07 12:26  wc的一些事一些情  阅读(1182)  评论(0编辑  收藏  举报