下一代ERP技术
很多企业CIO亲手经历的项目是局域网内的C/S技术,技术构成很简单,后端是关系数据库(一般是SQLSERVER,高级点的是Oracle),客户端一般是VB/PB/DELPHI来写(高级点有人用.NET WinForm来写)。再复杂点的还有曾经流行的微软COM技术,用DELPHI写COM组件。再复杂点的再加一个数据上传、系统调用整合的中间件。
再往后走,就是B/S系统了,这一下把技术门槛给拉了一个档次。不仅这个阶段的应用也从单系统变成系统间更多业务关联的ERP,技术也变成HTML/JS/CSS、IIS/Apache、WebLogic/JBOSS/Tomcat、RedHat。而且平台也拉了一个档次开始有了工作流引擎、消息引擎、预警引擎、缓存、日志、异常、安全、集成、查询分离、负载均衡、双机热备等等,还有一揽子商业智能所需要的ETL/DW/图表/交叉表/切片上钻下钻旋转。数据量也大起来了,用户也多起来了,存储不能是本地硬盘了,需要专业存储了,什么阵列/条状化技术名词都冒出来了,网络也是路由器、硬负载均衡器、硬件防火墙、光纤、万兆网卡都出来了。这些复杂应用、复杂项目、复杂平台技术、复杂硬件技术,一下子把对自己拥有技术优势而自信的CIO们冲的一楞二楞的。IT部门不擅长技术了,只能给软件公司打帮手了。
而且这时候的项目负责因而组织、分工、流程、专业性也复杂了。实施又分业务流程咨询、IT规划、IT架构咨询、系统集成部署、主数据管理、培训管理、项目管理等等,而项目管理又分为团队管理、计划管理、需求管理、验收管理、PMO管理。即使是服务,也被细分为应用服务、客户服务、技术服务。而技术服务又被细分为技术运维和技术支持。你娘的,连实施和服务也不会了。怎么办怎么办,搞了十来年IT,现在技术、实施、服务、管理全都自己不合格了。所以在这个阶段,很多系统基础设施安装部署维护工作、实施工作、项目管理工作、服务工作、运维工作,CIO和IT部门开始逐步外包。IT部门成为了一个整合型部门,领衔企业IT建设,整合IT供应商和业务部门。
大浪淘沙,还是有一部分CIO们经过艰苦学习和深度参与,掌握了这些高难的业务体系、ERP应用、技术平台、实施、项目管理、服务、运维。但下一代ERP所需的技术浪潮会是怎样,这让这帮好容易赶上的CIO们心惊胆战,30多岁时还能勉强赶赶,现在都40了怎么赶?
有朋友问我如果我要规划下一代ERP会采用什么技术?
我说下一代企业是平台型企业,内部是小自主精英团队高内聚低耦合,大量采取外包、合作,大量采取并购、控股,大量借助互联网进行业务开展、产业网络协作、数据收集统计分析,直接服务最终客户最终消费者。
这样的企业都是推倒企业的墙,企业内部团队和企业外部团队的边界模糊了,自己的员工和合作伙伴和客户用户的边界也是模糊的,这些人、事、信息都在一个IT平台上。而且这个IT平台不是个唯一的一体的紧密整合集成的平台,因为是到处采购到处合作到处借助各种互联网服务到处调用各种互联网服务所提供的Open API和数据收集,所以这个平台本身就很松散、弱连接。
这么多用户、这么多方面的业务协作、数据交互/收集/统计分析,而且严重依赖现在各种互联网服务,所以这个IT平台首先就不可能建设在企业内部,而且也不可能专属于企业自己黑盒子掌握,你自己要竭力围墙,但业务本身就是没有围墙,你这样的IT导向就和业务导向违背了。
首先我肯定要把应用平台建设在现在的技术云托管商上。他们来负责最基础的系统硬件系统软件的运维、升级、迁移、扩展、修复,这样我就可以想象我有无限多的硬件资源,不需要为性能弹性扩展、可用性、安全防护这些非业务功能性要求而头疼了。要知道,要支撑大量最终消费者,这种技术门槛很高。一个企业员工人再多能多过消费者?所以这么高的技术门槛我作为ERP应用开发商我也搞不定这些技术了,只能托管给更专业的技术云服务商,只有像腾讯、阿里、百度等等这样本身拥有海量用户海量数据的企业才有这样的技术实力。
说完基础硬件,再说说基础操作系统。可能你们现在还能跟得上Linux这样的操作系统,但未来我不认为操作系统居于那么突出的位置。因为未来这么多的用户这么多的数据,必然需要的是分布式运算分布式存储。需要有一个基础层架高在现在Linux之上来组织几十万台服务器同时分布运算/结果汇集呈现到前台。现在有一种开发语言叫Golang,是Google开发的,它就屏蔽了咱们过去常见的进程、线程、纤程等概念,而是直接用一个通道的概念来统一,没有进程、线程的概念。为啥这样,因为分布式运算是跨CPU、跨服务器的,你不能探底到最下层去控制哪个CPU,是本地服务器还是远程服务器。
现在分布式存储的基础层已经比较完善,有分布式文件系统在支撑,比如现在很火热的Hadoop。但硬件IO资源物理隔离这块还有些问题,相信有人有智慧解决这个问题。现在你不能访问本地文件或某台服务器的文件,你只能通过API来调用,你不知道你所需要的文件是放在了哪个大洲的哪台服务器上,它是怎么做迁移做备份复制做同步做校验的。
在分布式文件系统基础层之上,现在就有各种存储引擎了。有的是专门存取照片/文档的,有的是专门存取音频/视频的,有的是专门存取消息/日志的,有的是专门存取多维数据的。这几年火热的的NOSQL说的就是它们。数据的搜索也有Lucene。目前在关系数据的存取上大家还进展缓慢一些,不过几大互联网巨头(Google、Facebook、LinkIn、Twitter)已经联合起来专门在MySQL的开源技术上琢磨海量关系数据的存取引擎。
现在的数据随着闪存的发展、内存的发展,随着内存存取引擎的研发,更多的开源框架已经重心在内存操作上,和永久存储进行底层的同步,与上层应用无关。在内存缓存框架方面,Redis/Memcache应用广泛。
在系统的整合上,Facebook的Thrift和Google的Protocol Buffer是双雄,各种开发语言都可异构整合调用,而且现在都有国际主流Open API和OAuth行业标准规则,让系统间调用/对外开放更加标准、简便。
在Web层也有Ngix这个超好用的高性能HTTP服务和反向代理服务。该需要静态化的要静态化,伪静态化也好,使用好CDN服务。
在前端层,要兼容多移动操作系统(iOS/Android/WP),要兼容多屏(手机/平板/PC/电视/汽车),要跨浏览器,也是异常复杂。这里JQuery、Bootstrap(Twitter发布的Web响应式技术框架)可帮些忙。
我的CIO朋友听完我的介绍都懵了,一个技术都没听说过。看来自己是跟上不下一代企业、下一代商业模式、下一代ERP应用、下一代ERP技术了。那自己是不是要被扫出历史舞台了?
我说我改天再给你讲讲下一代CIO。
作者:david_lv 发表于2014-3-28 18:25:12
原文链接