本次QCon在北京国际会议中心举行,时间为4.23~4.25。中间件这边是我跟千臂一同参加的,他的感想在这里,全部的PPT在这里
本次大会与以前一样还是分会展与主题演讲两部分。人非常多,特别是阿里云相关的专场,很多场人已经挤到了门外,完全是人满为患。
行业动态:
智能硬件服务
本次第一次看到了穿戴式设备服务商展出,叫“出门问问”,其作用类似于Siri,感觉上还是有些山寨的味道,相信以后有会更多的厂商加入。我觉得如果说两年前在鼓吹移动互联网,那么现在就穿戴式设备与智能硬件了。观察一下就可以发现:LG、MOTO、微软、华为、苹果等都推出了自己的智能硬件产品。为什么?因为传统的硬件思维已经跟不上世界的变化了,我们需要机器来适应我们,需要机器来理解我们,而软件就是为这些机器注入灵魂的源泉。我预计,以后会出现更多的智能设备(智能插座,智能汽车等)。
垂直化云计算
本次会展还是跟以前以样,有很多通用云计算平台,如“青云”,AWS,京东企业云,不过连“美团”竟然加入了云产品行列着实让我惊奇了一把。通用云计算基本上没有什么新东西,都是对资源的虚拟化,虚拟化网络、CPU、内存等等,各个厂商差异化不明显,很难形成竞争力。相对我,我看到了一些垂直化的云计算平台,如“环信”做即时通讯云的与“CODING云IDE”做开发工具云,它们两个都是利用云计算来解决特点领域的问题,后者是我非常感兴趣也是早就觉得应该有的东西,想想现在的开发者经常为各环境配置而伤透了脑筋,现在的软件对后端的性能要求也很高,不过当前功能实在是太弱(coding.net大家可以云试试),如果能把这些东西都很好的搬上云,那将可以极大节省资源开销与人力维护成本,我觉得我们在内部完全可以自己搞一个,一来利于团队维护环境代码配置,二来可以避免一些商业上的纠分。
软件开发模式
本届QCon竟然还有老外在鼓吹敏捷开发,这非常令我失望,相比于阿里云专场的火爆,这个可以算是门可罗雀。以打我开发学习计算机以来,就有人试图以传统工程的思想来规范、统一软件开发,产出了OOSP、RUP、UML、sysML
、及敏捷之类的东西,它们岂图以一种套路来约束软开发,实现诸如流水线一样的效果,按部就班地工作。实质上无论是哪种,最终都没有成功,更别说普及。这其中是有一定道理的,在我看来,现代软件开发对响应与灵活性要求越来越高,很多系统都只一1~2个人在维护(包括很多在型系统),根本不存在传统工程学中的协作问题,而且与传统工程学中的开发者不同的是,软件开发者通常都极具有个性,并且会参与整个开发的大部分环节,并不像传统工程学那样设计建造分工明确。因此希望以一种没有实体的规则来约束开发者是肯定不会成功。我们不是说以小作坊的模式工作就好,我们需要做的是创造出有实际作用软件或具体来提升整体的效率而不是分大力气要求if后必须加个花括号或者开发前必须进行需求评审或者测试用例评审等。一切都应该从实现的需求,没有什么过程是必须遵守的。
全栈开发
全栈是最近开始流行的一种开发模式,指的是开发者能够从上至少处理各个环节的工作,可谓是前端、后端与运维的三合一。其核心思想就是将原来的水平开发转成了垂直的微服务开发。当然全栈不是把开发者当成全能来使用,而是统过整合前后端开发,简化运维发布,来统一整体开发过程,降低成本。其实这个趋势我是比较赞同的,因为现在的人力成本越来越高,对响应速度要求越来越高,而软开发过程中人与人的沟通成本是最大的,所以逐步降低人力成本一个趋势。
技术动态:
Docker
毫无疑问,docker是本届大会的热点之一,京东、腾讯、阿里及其它一些公司都分享了自己的实践经验。特别的是京东的Docker在Image分发时遇到了传输瓶颈,他们自己做了套系统对image进行切片传输,但这种模式仍集中推送的模式,其解决的问题正是我们现正在做的燎原应用场景之一,因此我觉得大数据的分发传输将是未来需要面对的一个问题。Docker之所以开始流行,我认为是其抹平了系统配置与部署之间的沟壑,正像Java抹平了硬件与Maven抹平了代码依赖一样,他们都使得开发人员能更专注于创造,减少不必要的重复操作。
安全
安全这块在云时代日益彰显,主要分成漏洞预防与攻击防范两块。漏洞预防就是在攻击发生之前提前找出应用的bug,腾讯在内部建立了自己的类似于乌云的漏洞汇报平台,并且形成了一种奖赏机,鼓励开发人家参与安全,统一开发与安全战线,这点很值得我们借鉴。在攻击防范方面腾讯在所有的接入设备上都植入了监控agent,可以统一引流与控制。阿里云分享了自己的几个安全案例,如460Gbps级别的DDoS(号称全球最大的DDoS攻击),其成功的原因在于及时监控发现了异常流量,然后通过BGP协议引流到清洗中心进行过滤处理,再将过滤过后的结果回吐给应用;另一个亮点就是运营商也参加了进来,由于对应的应用没有国外业务,因此在防御DDoS的时候直接知之其将国外的流量全部丢弃,这点也是非常有意思的,总体来说网络层的防御过程都是监控、引流、分析与处理四个步骤。
自动化运维
这块百度、新浪、赶集等公司都分享了自己的运维系统。都各有自己的特点,比如百度通过原子化、无状态化操作,实现了功能上的随意组合,大大增强了系统灵活性。新浪的JPool加入了对灰度发布与Docker的支持。总体来说我觉得以后的系统运维应该是朝无人工厂的方向发展的。
其它还有一些板块如:“互联网金融”、“创业、团队管理”等我都没怎么仔细听,感兴趣的同学可以去看看PPT)