技术对于客户的业务应用价值演化分析( 二 )
关系数据库统治应用已经很多年,但是互联网的很多应用产生的内容和数据并非都是结构化关系数据,如半结构化数据(CSV、XML、JSON的日志),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频) 。所以就出现了很多存储方式系统以及NOSQL数据库 。
五、2010年代
2017年,微信小程序技术出现,随后阿里、百度、头条、滴滴等等很多公司都跟进 。Google在2017年也同时提出了PWA(渐进式Web应用)技术,Google在2018年还用Dart开发语言(2011年产生)和FlutterUI组件形成组合 。前端又从APP技术回到了类似HTML、Javascript的技术世界 。如果你想在微信里开发应用,小程序技术是微信第一优先级支持的,所以页面的适配性最好 。如果你就不用小程序技术,就自己用HTML5技术来搞,那么适配微信各个版本、适配各种手机的工作,只能你自己搞了 。
2013年,4G无线上网牌照发布 。人们从3G无线上网,升级到4G无线上网 。上网速度更快,访问应用不用再等待了 。
中间件出现了N多分布式中间件,来应对各个细分层的海量并发 。2014年,微服务编程架构提出 。微服务为啥出现?就是因为组件技术和WebService技术太沉重了,写一个简单东西也得附加一大堆组件技术规范实现和WebService技术规范实现 。
早在2004年,Spring已经产生了,那还是SOA时代 。后来2014年摇身一变,Spring变成Spring Cloud,SOA(面向服务)变成了面向微服务,应用中间件变成了应用编程框架 。虽说各种开源的分布式中间件互相灵活组合在一起打破了当年WebLogic/WebSphere垄断企业级中间件的商用市场,虽说用RSET和JSON代替了沉重的WebService技术族,虽说微服务用普通类代替了过去沉重的组件技术,但是给应用开发工程师也带来了烦恼:过去本来应该由完全封装的中间件软件操心的分布式要求,现在得应用开发工程师来关注了 。
所以2015年,业界痛定思痛,在Docker容器和k8s技术的支撑下,大家把分布式应用要求的能力又从应用编程框架层级下沉到分布式操作系统层 。微服务的架构,也变成了面向函数服务/无服务器Serverless架构 。
这样来看,其实微服务是走错路了,就像CloudFoundry和OpenStack走错路一样 。很不巧,以Spring为代表的微服务应用编程框架和以CloudFoundry为代表的应用容器框架,都是Pivotal这家公司的 。
所以,世界绕了一圈回来了,现在的Serverless、容器、K8s生态技术体系,把分布式应用架构的复杂性从应用层下降到了分布式操作系统层,目的是在简化分布式应用架构 。如果不这么简化,你又想应对海量并发,又想简单,那没门 。
早在2003年,Google就开始陆续发布三大论文,直到2009年,Hadoop在雅虎的推动下才正式开源 。大数据海量存储、大数据海量计算的需求才得以满足 。大数据不用像过去数据仓库一样ETL、维度化入仓,就能做很高性能的计算和查询 。尤其后来2014年发布的Spark用内存处理机制、DataFrame机制,实现了实时的流式计算,比过去Hadoop MR批量计算更加性能高、实时性好 。
现在大家又在提大数据湖,因为大家发现了NOSQL太多了,大家其实期望的是一个技术搞定各种数据存取 。但是大家也要警醒,现在说大数据湖落地产品的,可能不是真正的大数据湖的产品,就如同iPhone没出来之前Symbian就叫智能手机,iPhone出来后就没有Symbian什么事了 。
