前端 - 工业时代 野蛮发展
编程技术及生态发展的三个阶段 最初的时候人们忙着补全各种API,代表着他们拥有的东西还很匮乏,需要在语言跟基础设施上继续完善 然后就开始各种模式,标志他们做的东西逐渐变大变复杂,需要更好的组织了 然后就是各类分层MVC,MVP,MVVM之类,可视化开发,自动化测试,团队协同系统等等,说明重视生产效率了,也就是所谓工程化
- 前端发展其实不过刚刚迈入了蒸汽机时代
- 主要观念的变化总结来看在于一点,现在的前端开发面向的是web app而不是web page。
- 今天的前端开发模式跟传统的GUI软件(如C++、.NET开发的Windows客户端)已经很接近了,而且由于现在前端领域为了解决日益复杂 的web业务需求及体量,越来越多的借鉴了传统客户端的开发经验,导致两者变得越来越趋同。
- 今年最火的框架/类库毫无疑问当属React了
- Web Components规范起草于2013年,W3C标准委员会意图提供一种浏览器级别的组件化解决方案,通过浏览器的原生支持定义一种标准化的组件开发方式
- 架构的变化:组件化、工程化(应用架构层 MVVM & Flux,业务数据层 Relay & Falcor)
- 新的编程范式:函数式编程(FP)、函数式响应型编程(FRP)
- 工具链的变化:webpack & browserify & jspm、PostCSS & cssnext
- 未来理想的前端技术架构应该是每一层都是可组装的,框架这种重型组合的适用场景会越来越局限。原因在于各部件不可拆卸会增加架构的升级代价同时会限制应用的灵活性。
容器 - 扩张与进化
- Docker公司这种独一无二的亲和力和号召力正是2015年Docker为主的容器生态圈版图迅速扩张的主要基石。
- Google和RedHat联盟以Kubernetes 1.0为阵地宣告了大规模容器编排与管理领域的领主地位
- Docker公司加紧了自己在组建生态圈闭环上的战略布局
在未来的发展方向上,有如下几个方向上的进化是一定会发生的:
- Docker Engine的进一步模块化和解耦,最终用户一定可以选择使用其中的一部分来达成自己的目的
- runC全面取代execdriver来执行容器
- 更丰富的插件能力和以此为基础的数据卷管理能力(类似Flocker)
与国外相比,以Docker为主的容器技术在国内的发展势头甚至要更猛烈一些
- 在这层意义上,Docker容器技术的诞生和普及绝对起到了久旱逢甘霖的效果。
- 容器创业组织雨后春笋般萌发,不少团队的背景也跟经典PaaS领域息息相关;另一方面原先经典PaaS从业者的转型到容器创业领域的也不在少数。
- 阿里云,阿里百川TAE,新浪SAE,网易等诸多厂商也都在2015年开始对外提供或基于容器提供云计算服务
2015年的容器技术圈,是各家施展手脚封疆划土的扩张一年,也是Docker以及容器技术生态参与者不断完善自己的进化一年。总的来说,尽管有不少亮点涌现,这一年的容器技术仍然处于厚积阶段,标准尚未达成,社区缺乏平衡,跟进者多创新者少。
安全 - 安全环境持续恶化
- 一切接入互联网的东西都是存在安全风险的
- Java反序列化漏洞爆发,风头直逼当年的Struts 2
- Redis后门植入
- XCodeGhost引发的信任危机
- 在智能硬件这个新兴行业中,企业还处于对该行业技术的摸索与上升阶段,目前大多智能硬件都使用蓝牙作为设备连接的方式,不可否认这也是一种非常合适的技术。不过现在大部分设备都还停留在无认证无加密的链路默认模式,这是非常不靠谱的。
- 苏宁易购iOS源代码被发现出现在GitHub上,导致大量敏感信息泄漏
- 4月16日白帽子提交了一个通过破解京东某办公分部的WiFi而成功漫游京东内网的漏洞
- TCL某网站在迁移代码时把Mac的隐藏文件 DS _Store 搬了过去,导致目录结构泄漏,从而可以使黑客获取到工具扫不出来的后台管理页面以及数据库文件
- 酷派由于短信服务配置不当导致酷派云所有用户信息泄漏,酷派云注册找回密码时的短信网关因为没有任何限制而可以直接访问,其中包含大量用户敏感信息
- 安全设备出现安全问题会让用户的第一道防线出现破绽,而其中封装的黑盒也会隐藏着很多难以察觉的不确定因素,更需认真对待。
2015年则是安全环境持续恶化的一年。我们看到广大企业并没有平衡业务与安全的关系,甚至为了业务而牺牲安全。尽管一再有血的教训,但麻木的大众对频发的安全事件越来越冷漠,IT从业者的安全意识依旧令人担忧。
云计算 - 打磨产品服务,迎接市场变局
在云计算领域,过去的这一年发生了一系列具有标志性的事件。公有云与私有云的争执尚未平息,容器云已经势如野火,开源技术生态圈的产品和服务仍需打磨,云安全将是企业长期关注的重点。
- 云计算没有过不去的技术门槛,更多决定于运营和维护。
- 云计算没有暴利,和游戏之类业务不同。云计算是堆机器,是拼服务。幻想暴利的可以绕道。
- 亚马逊采用DevOps,一共600多人在AWS产品线,没有客服人员,用户自助、互助服务。但是国内做云计算会依赖客服。
- EC2、S3、EBS、RDS是四个核心产品,其中都和S3有关系或依赖S3。
- 网络是云计算最重要的基础和难点,同样网络部分也是OpenStack欠缺和急需改进的。
对于公有云的潜在超大规模的用户——互联网巨头(如BAT、电商集团、在线视频、互联网金融以及在线教育企业,等)都选择自建云服务,这一点跟国外企业(典型的如Netflix,等)选择AWS、Azure、GCE等大相径庭,不知道未来IoT的发展能否给国内公有云带来新的机会?
2015年被业界称为私有云的元年,此时中国的私有云进程跟全球站在近乎同一时间线上。2016年这个市场必将爆发激烈的竞争。
云服务的安全的确令人难以相信。InfoWorld安全领域的专栏作者Roger A. Grimes发表了一篇文章,总结了2015年的一些安全趋势,主要观点如下:
- 哪有什么匿名!
- 隐私比以往任何时候都重要。
- 物联网带来了更大的安全挑战。
- 容器加剧了安全问题的复杂性。
- TLS取代了SSL。
私有云 - 政企私有云市场风云录
- 私有云市场其实是传统的政企市场
- 2014年以来,国内外政企私有云市场渐渐起来。客户开始谈虚拟化说“我也需要云”,开始有了大量的考察、调研,同时也普遍焦虑
- 2015年被行业称为to B的元年,政府、企业对IT的建设欲望空前强烈,随着政府“互联网+”的政策导向以及实体经济面临互联网经济的挑战加剧,大家都在寻找适合自己的IT方案
- 政企云市场在2014年开始升温,2015年可以说正式启动,2016年的市场很值得期待。
- 企业一旦开始上云,就意味着未来整个技术架构、管理模式的变迁。
运维 - 变化、发展、涨姿势
IT系统架构越来越复杂。快速迭代的产品需求和良好的用户体验,需要运维管理者时刻保障核心业务稳定可用。
以下运维工具在这一年更加火爆,为企业业务提供强有力支撑:
命令执行与配置管理
- Ansible
- SaltStack
- Puppet
持续交付与代码
- Jenkins
- 国内Coding.net, GitCafe,Git@OSC的兴起
- GitLab的进步与稳定
ELK生态的成熟
- 提供日志收集,分析,和实时搜索,与可视化监控
- 最近发布2.0大版本
应用监控
- APM
国内开源
- open-falcon
国内的运维人员所需要做的就是利用Django结合开源工具,开发出适合自己业务系统的平台,通过一定的流程控制,将业务紧密贴合,从而逐步达到自动化运维的目的。
- 随着容器技术的兴起,许多新的专门运行容器的Linux发行版本也出现了。
- 提到脚本语言,今年最火的非Python莫属,同时也是Python社区稳定改善的一年。这一年Python2由2.7.9进化到2.7.11,然而2.7版本可以说是非常稳定成熟
- Django无疑也是一匹黑马,运维本来跟Web开发没有太多关联,但Django的长足进展,却帮了国内运维一个大忙。在大力提倡运维开发的时代,Django的出现让运维非常快速方便地开发部署自动化工具,极大地释放了运维的生产力。
- 展望2016年,相信容器技术将持续爆炸式增长,云运维更加简单高效
大数据 - 大数据的黄金时代
回顾2015年的关键技术进展:
Hadoop作为大数据平台中最基础与重要的系统
Spark
- 2015年的Spark发展很快,JIRA数目和PR数目都突破了10000,contributors数目超过了1000,可以说是目前最火的开源大数据项目
- 可见Spark已经超越Hadoop,形成了自己的生态系统
- 除了互联网公司以外,传统IT企业也把Spark作为其产品的一个重要组成
- 在深度学习方面2015年可谓非常热闹,如Google开源其第二代机器学习系统TensorFlow,Facebook开源Torch和人工智能硬件服务器Big Sur等等
Elasticsearch
Elasticsearch 是一个可伸缩的开源全文搜索和分析引擎。它可以快速地存储、搜索和分析海量数据。Elasticsearch 基于成熟的 Apache Lucene 构建,在设计时就是为大数据而生,能够轻松的进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理。Elasticsearch生态圈发展状态良好,整合了众多外围辅助系统,如监控Marvel,分析Logstash,安全Shield等。近年来不断发展受到广泛应用,如Github、StackOverflow、维基百科等,是数据库技术中倍受关注的一匹黑马。
Apache Kylin
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。
大数据与机器学习
- 2015年是机器学习丰收年
- 机器学习正很快从一个被很少人关注的技术主题转变为被很多人使用的管理工具。优秀的算法,大数据和高性能的计算资源的条件的满足使得机器学习快速发展
- 2015年不仅仅是关于大公司的,利用机器学习的各种创业公司也占了同等地位。
数据科学家的崛起
- 大数据需要数据分析,数据分析需要人才。
- 据相关报告,国内大数据人才缺口目前已达百万,一名高级数据挖掘工程师月薪高达30K-50K。
- 阿里云于年底宣布新增30所合作高校,开设云计算大数据专业,计划用3年时间培养5万名数据科学家。
- 无论是国内还是国外,数据科学都是目前炙手可热的研究领域,数据科学家、数据分析师都是非常火爆的职位,几乎所有的产业都需要数据科学家来从大量的数据中挖掘有价值的信息。
Spark - 新生态系统的形成
- Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎
- Spark 是一种与 Hadoop 相似的开源集群计算环境
- Spark生态系统渐趋完善。支持的外部数据源越来越多,支持的算子越来越丰富,自身的机器学习算法越来越完善。同时在API支持上也有很大进步,新增加的R语言API使得Spark能被更多的行业所接受。
- Spark的应用范围和规模在不断扩大。在互联网和电子商务行业的应用不断增多、规模不断扩大的基础上,越来越多的金融、电信、制造业等传统行业也开始使用Spark解决他们遇到的大数据问题。
- Spark自身的性能和稳定性在不断提升。Tungsten项目让Spark跑的越来越快,越来越多的代码贡献者和使用经验让Spark越来越稳定。相信明年发布的Spark 2.0将是一个里程碑式的版本。
自然语言处理 - 持续探索 稳中前行
- 2015年,借助移动互联网技术、机器学习领域深度学习技术的发展,以及大数据语料的积累,自然语言处理(Natural Language Processing,简称NLP)技术发生了突飞猛进的变化。
- 在这一年,各大厂商致力于解决语音识别、语义理解、智能交互、搜索优化等领域更加复杂、困难的问题,持续不断地对原有产品的算法、模型进行优化与革新。
- 2015年,许多厂商也纷纷开源了自己用于自然语言处理、机器学习的工具包和技术专利。
- 目前自然语言处理技术的两大瓶颈就是大规模语料数据的建设,以及语义分析的进一步完善。
- 随着智能硬件技术与移动技术的蓬勃爆发,自然语言处理技术的应用趋势也发生了变化。
- 展望2016年,自然语言处理技术还将沿着致力于实现智能化、人性化的搜索推荐、语音交互、语义理解的道路继续前行。
Golang - Golang的全迸发时代
- 在互联网软件开发领域,最主流或火爆的技术也无不与之有关。就拿Golang(也可称为Go语言)来说,它就号称“云计算时代的C语言”
- Go语言在软件开发效率和运行效率之间做出了绝佳的权衡。这使得它既适应于互联网应用的快速开发,又能在高并发、高性能的开发场景中如鱼得水。
- 从Go 1.4开始,开发人员已经可以利用官方扩展库中的mobile代码包来编写Android App了。到了Go 1.5,其对iOS App的支持也已可用。
- 在这个版本中,Go语言官方准备重点发展UI库。这也是Go语言当前的一大短板。
- 如果能用一种既可快速上手又能高效运维的技术那该有多好。如果你通读本篇并有所思考,就很可能有与我相同的感受——Go语言就是这样的一门技术
- 在不久的将来,Go语言一定会实现在程序开发领域的全面覆盖。到那时,Go程序员的含金量也就毋庸置疑了