面向互联网应用架构的三板斧
发布时间:2017-06-07
从业十一年来,历经上百个大型企业信息化建设项目,应用架构的变化从没有像今天这般之大,互联网发展至今,已经深入到企业的方方面面。企业信息化已经向企业互联网化转型,传统信息系统的应用架构也面临着巨大的挑战。此时我们确实非常有必要思考什么样的应用架构可以应对未来的企业互联网化建设。
1)openapi
以前的信息化建设是线性价值的构成,无论是从基础层,还是业务层,都是层层构建。然而互联网是一张巨大无比的“网”,所产生的是网状的价值交互。
基于api的能力输出,企业在互联网上进行信息系统建设时,往往更加“省事”,可以直接从互联网获得更多能力。例如:利用百度、高德等开发平台进行地图开发;银行转账时需要进行人脸识别,这个功能可以租用人脸识别专业供应商如旷视平台的计算结果;语音输入的专业供应商讯飞平台……因此,企业在进行信息系统建设时,可以利用互联网资源将许多能力调用并植入到内部的系统中,实现企业能力的拓展与提升。
图1 从互联网获取无限能力
企业通过api搭建的应用、功能会对某些用户产生特殊的价值,并使得用户因为这些功能对企业产生依赖,从而让企业获得更高的利润。以京东为例,京东通过云架构上如智能比价、用户画像、反欺诈等能力以api的方式向用户输出这个能力,得到用户想要的结果,从而产生用户粘性并从中获得更高价值。
图2 京东云架构的功能应用示意图
企业在互联网化建设的过程中,不仅仅是考虑自身业务系统的支撑,越来越多的企业的业务系统需要和上下游做交互。这样可以让更多的参与者融入价值的创造过程中,企业各种资产、数据、服务、能力都可以开放为api,通过api方式对企业业务资产和能力进行访问,并以api为核心形成企业生态使企业的产品和能力接触到更多的用户。
因此,企业不仅能基于api构建更庞大的应用架构,而且通过api实现了能力的输出,最终形成了网状的价值交互。
图3 上下游网状价值的交互
2)html5
互联网应用架构还必须解决前端快速迭代的问题。以前做应用的时候都必须考虑各种兼容性问题等等,对平台十分依赖,而且往往投入很大,维持一套前端体系(app,pc等等)的成本也非常高。互联网架构下的h5前端技术可以让你摆脱对平台的依赖。当用户打开浏览器时,直接就可以访问应用,包括移动应用、移动网站、pc网络、各种浏览器。不仅如此,h5技术还具有快速迭代的特点,实现了应用的实时更新、立即响应。
h5前端是开放的正反馈循环生态系统,大量的开源库可以使用,资源在不断被调用,使得开发应用变得更轻松、更健康。另外,h5技术可以将web代码全部加密,本地应用解密后再运行,大大提高了源代码的安全性。
h5应用导流非常容易,导入都是h5的流量入口,所以应用变得更容易推广、更容易爆发。例如,许多企业都拥有微信服务号,,就是因为可以快速导入流量。
基于h5的应用场景也越来越丰富,而且场景是以碎片化的方式呈现。
互联网应用架构h5是“必经之路”。
3)微服务架构
没有微服务之前,soa做底层,架构一层层搭建,需要编码、模块化、安全结构等。这样做的优势在于系统性很强、很稳定,但是实施周期很长,能做的功能较少,当需要整合的时候,就面临问题了。
因此,互联网架构中另外一个非常重要的特性就是,微服务架构。微服务架构模式给采用单体式编码方式很难实现的功能提供了模块化的凯发k8国际娱乐官网入口的解决方案,由此,单个服务很容易开发、理解和维护。例如业务系统会拆分成为很多个系统,各个系统之间互相提供服务,形成网状结构。这种方式的优势在于开发者可以自由选择开发技术,然后提供api服务。
微服务架构模式是每个微服务独立的部署。开发者不再需要协调其它服务部署对本服务的影响,这种改变可以加快部署速度。微服务架构模式使得每个服务独立扩展。企业可以根据每个服务的规模来部署满足需求的规模。甚至,企业可以使用更适合于服务资源需求的硬件。因此,微服务架构独立性很强,相对的。当然对于维护的挑战将变大。
图4 微服务架构的独立部署
4)总结
互联网架构通过api的开放性,不仅能调用互联网资源,还能调用其他系统的资源,形成网状的交互生态圈。
h5解决了前端快速迭代的问题,利用后台应用之间的关联,在前端应用中嵌入其他应用、程序等,使得应用变得更“轻”,更具有推广性与实用性。
微服务架构使得应用开发变得更加敏捷、独立性也更强。然而,在互联网架构下,新的模式会对技术提出更高的要