在这个特定的时间节点上向前展望,你会看到一件很让人吃惊的事情:今年颇受关注的相当多的企业级技术居然在我去年的预测中几乎没有出现过。我敢打赌,这是变化的步伐要比通常更快速的节奏啊。
这样的新鲜事物让我有了不必再重复自己的乐趣。因为我去年所谈到的大多数技术趋势看来早已过时——JavaScript的成功、身份管理作为新的安全手段、内存作为新的存储介质、开发人员在企业中的地位上升,等等。现在需要辞旧迎新啦!
1、公有云的成功。今年,IaaS和PaaS出现融合迹象,使得在公有云中开发、测试和部署应用变得更容易了。所有的主要公有云如今都可以两者集成的方式提供服务,AWS还可提供多种PaaS选项。
与此同时,由于成本居高不下,而在企业内部署及维护整个堆栈比较复杂,私有云[注]的发展出现停滞。云创新就是企业级技术所采取的行动,因此我很怀疑有多少企业能够跟上技术变化的脚步。抛开各种监管障碍和沉没成本不谈,企业简单地向公有云迁移又何乐而不为呢?毕竟,每一次新的云进展都是出自公有云提供商们的工作——而企业的技术进展就没有那么丰富了。当然,云迁移尚需时间,但像GE这样的大公司已经宣称它们全部迁入了公有云中。
2、容器疯狂。Docker是眼下最热门的开源项目,你可以把应用封装起来在内置有Linux内核的容器中运行。这个东西为何说是个巨大机会呢?因为它意味着真正的应用可移植性——可利用轻量级的包装而非整个虚机。Docker这家公司正在与微软合作,还要在Windows上创建Docker驱动的容器。大多数人在谈到Docker的使用时多半都是讲应用如何从开发到测试到生产过程的迁移,而我确信,Docker还会用于生产应用在云间的迁移。
将一个单独封装的应用从一个容器迁移到另一个容易很容易,但是涉及多个容器的复杂应用要迁移起来就比较困难了。这里是Docker的生态系统:Docker的管理和编排工具可帮助企业封装和迁移带很多组件的复杂应用在多个容器中运行。顶级项目包括Kubernetes、Mesos和StackEngine;谷歌云平台和AWS上个月也发布了自己的容器管理系统。
3、微服务架构。在现代的Web和移动应用开发中,开发人员倾向于利用现有服务而不是从零开始构建应用。一般来说,这些服务都是微服务——单一目的、API可访问的应用,这些微服务就是构建大型应用的砖块。Docker通过提供一种便于使用的方式包装和部署微服务,加速了微服务架构的进展。
回忆一下十年前的SOA,微服务架构听起来和它比较相近。主要的差别在于微服务架构是从开发人员的角度去看服务,而不是从企业架构师的角度去看的,所以服务的粒度更细。还有就是,服务之间的通信也很简单:JSON取代了XML,REST取代了SOAP,原来责任重大的中间件现在已经用不着了。
4、液体计算。InfoWorld执行总编Galen Gruman杜撰了“液体计算”这个词汇,用来描述各种个人设备之间点对点网络的效果,当你在智能手机、笔记本电脑、平板电脑和桌面之间移动时,可以储存状态。举例来说,假如你在参加会议,在平板上对演示文档做了修改,那么当你回到办公室的时候就会发现修改后的文档已经发送到了桌面。这种功能在OS X Yosemite和iOS 8中首次出现,微软和谷歌也在为其设备生态系统做类似的事情。三星最近也发布了自己的这种功能版本。
5、多云管理。云正趋向于规模越来越大、越来越复杂的平台。你在某个平台上构建的东西越多,就约会依赖其独特的功能(这正是公有云的情形),你就越会将自己锁定在某家公司所有并运营的平台上。少数大企业希望把他们所有的鸡蛋都放在一个篮子里,因此这里就需要多云的管理参与进来。
管理跨多个云部署的工具已经出现了一段时间,并正在获得更多的关注。例如谷歌风投所投资的新创企业CliQr就是从事多云管理的,该公司声称已能够动态确定哪朵云更适合运行哪些工作负载。不过也有不少其他公司,比较有名的是RightScale,也能让你管理和优化跨云的资源和成本。
6、端点安全的创新。只要系统没打补丁,没有受过培训的员工还会偶尔下载恶意软件,企业的安全状况就仍将处于一种绝望的境地。尽管如此,我对今年出现的几个新的安全解决方案还是印象颇深。首先是Tanium,它将创新的搜索技术应用于询问企业范围的所有端点。Tanium可以获得成千上万个端点的近乎实时的视图,检测异常情况,然后确定哪些软件需要修复最新的补丁,而所有这一切均可显示在仪表盘视图中。
这些很有趣的解决方案的移动版本也已出现。不只可读取指纹,还有多个蓝牙LE近场解决方案可以让智能手机作为安全密钥,或与物理令牌配对进行近场身份认证。Android 5.0 Lollipop最近还引进了“可信任场所”技术,使用位置信息,只要你觉得身处安全的场所,例如家中和办公室,就不必再使用密码或pin码。这种便利是个很重要的因素,因为它可能增加用户良好的安全体验。
7、机器学习。这个术语差不多就是人工智能的新名称了。一方面,我们不能太过强调机器学习在短期内的潜在能力,但另一方面,它又是大数据[注]能够发挥作用的基础。一些开源项目如Mahout和Spark/MLib都在为此铺路。正如James Kobielus今年早些时候所指出的,机器学习已经如此普遍,我们通常可以认为它在大数据应用中已经存在。IBM由于开放了沃森的API而使这一理念成为主流,而一些新创企业如Andreessen投资的Adatao也在利用今天丰富的计算能力复活神经网络算法。
8、DevOps回归。“研发development”与“运维operation”的这种混搭真正提升了运维效率,使得敏捷开发成为现实。DevOps趋势最早出现在五年前,不少厂商使其满血复活,在应用生命周期管理、自动测试工具、数据库虚拟化、发行自动化、配置管理、应用性能监控、PaaS和相关技术中均可追遡到它的身影。
在某些圈子里,DevOps被认为是赋予了开发人员一种持续的责任,要他们对投入生产的应用继续负责,但这不能扩大化。可能最好的是将其视为一种用于配置研发和测试环境的最现代的和最有效的方法,这样的环境必须进行扩展以使其适应今天很普遍的对于更多更好的应用的需求。
9、网络交换机走向终结。2015年我们当然还看不到网络交换机的消失,但是各种虚拟网络设备、软件定义网络和丰富的服务器资源都会导致对数据中心网络[注]进行重大的重新思考。长期来看,网络将会从只是“服务器之间的连线”逐渐变得更加真实。
Cumulus Linux给工业标准硬件引进了网络控制平面,打入了今天很多服务器编排工具所占据的领域,同时还能保持线速的网络运营。本年度由InfoBlox所发布的、被称为LINCX的最新OpenFlow项目显示出一个完全软件可编程网络的强大发展潜能。与此同时,NFV[注](网络功能虚拟化[注])利用服务器虚拟化和数据中心编排来交付负载均衡、防火墙、WAN加速以及其他的网络功能作为服务,在运营商和云平台(如OpenStack)中大为流行。
开源势在必行
透过这九大趋势,我们可以看见一条普遍存在的线索:开源正引领着技术研发的方向。它已成为新创企业吸引注意力的最佳选择,而作为客户(主要是企业中的开发人员)则会采用这些新的技术进行研发、提供反馈,并最终将新技术纳入生产流程。同时,其他开发人员也会看到这些热点,并开始围绕一个核心项目构建生态系统,Docker、Hadoop、OPenStack等开源项目就是如此发展起来的。
开源项目开发的这种简单模式——协作、自组织,然后发行——甚至已对企业级应用的研发产生了影响。这种趋势还需要数年的时间来展开,有些企业现在正在试验这种模式。
随着时间的推移,很显然地,IT支出也将从购买和维护软硬件转向订阅各种云服务,以及花钱聘用开发人才,购买开发工具。开发大量高质量的应用以使业务差异化,将成为企业级技术领域最重要的行动。只有采用最佳流程和最佳技术来实现目标的企业才会成为赢家。