Marc Andreessen曾说过,“软件正在吞噬这个世界”,而在数据 中心领域,我们也正在目睹这一潮流。软件正在接管那些过去一直由硬件实现的 功能;而对于人们如何共事,这一变迁正在引发戏剧性的改变。
基本上,整个云计算的发展都与用软件来取代或抽象硬件有关。它始于虚拟化 ,已经走过了数十年的时光,但只是在最近10来年间才在商品化硬件方面普及开 来。
将硬件与其上运行的服务解耦,将让大量服务器得以合并,从而加速乐硬件商 品化,并进一步降低制造商的底线——他们已经处于勉强维持利润率 的境地了。尽管对硬件制造商来说这并不是最佳产出,但对于VMware这样的创新 型软件制造商来说则是非常好的消息。同样,技术买方也乐得如此。
很快,人们就注意到了,虚拟化并不只是用来节约资金的——它还 提供了新的可能。物理基础设施的变动率受到两方面的制约,分别是供应链,以 及诸如服务器上电或固件升级等工作所需要的时间。但一般来说,虚拟基础架构 则是通过API工作,因此会明显快很多。过去在物理基础设施上进行的需要数周甚 至数月的事情,在虚拟服务器和网络上操作的时候,可能往往只要几分钟或几小 时。
在2009年,我们终于看到了虚拟服务器的数量超越物理机。这意味着现在大部 分从事基础设施工作的人,已经不再需要在硬件上操作了。讽刺地是,这可能会 创建一个新的前所未有的烟囱(注:Silo,在本文中指企业内,处于互相独立状 态、缺乏横向联系的垂直管理体系,如开发、IT、运营等):专注于维护从硬件 到虚拟机层面的团队。同时,这个星球上的其他人则在纯软件的环境中执行操作 。
好吧,至少一定程度上是这样。事实上大部分组织机构都已经虚拟化了他们的 计算资源,并且或许已经迁移到商品化硬件上,来实现防火墙或负载均衡器(基 本上,使用的是运行Linux或BSD的x86盒子,并叠加了某些特殊的软件)。但是他 们的存储和网络资源依旧侧重于硬件,即使其上的商品化IP设备,其行为也是尽 可能地按照硬件设备的方式,而不是类似软件的表现。
下一个重大的发展,不仅会把计算抽象到软件层面,还会抽象存储和网络。这 是一种向着完全由软件定义的基础设施的转变,将为采用它的组织机构开启无数 的可能性。
DevOps和软件定义基础设施
对于云计算来说,DevOps既非因也非果,不过DevOps倒的确是一项与云计算关 系紧密的运动。基本上它算是一种文化变革,其目标是打破开发者与IT系统管理 员之间泾渭分明的状态,从而以更高的频率,更好地部署软件,并更好地匹配业 务需求。
开发与IT之的间这种分隔之所以会存在,不仅仅是因为开发者和运营人员的兴 趣不同,而且实际上他们的典型工作场景甚至会发生冲突。系统管理员被要求保 持IT运行平滑可靠——没有故障,没有宕机,而且能够根据业务要求 按需扩展。开发部门则处于另一个方向,他们被鼓励频繁发布新代码,从而在竞 争中保持领先。在IT运营部门看来,开发者们发布充满bug的代码,而留给IT接手 时则会让IT难以开展自己的工作。而在开发部门看来,IT运营部门对流程和程序 的坚持,则阻碍了开发工作的开展。
不过,如果我们将基础设施看作软件,那么就可以将它当作一个正在运行的应 用,并围绕运营构建软件开发工作流——比如应用升级、软件补丁等 ,从而让系统管理员和开发者结成一线,和谐地工作在一起。如果我们认为基础 设施只不过是服务器、交换器和路由器,那么刚刚说的这些就不可能了。但一旦 我们将基础设施视作一系列服务,那么很明显我们就可以把它当作软件来对待和 操作。
DevOps应归于文化,云计算应归于技术——然而在现实中,云计算 必须与二者同时相关。尽管技术无法解决“政治”问题,但会有助于 缓解。云计算技术能够让应用开发者围绕着无法提供软件世界观的IT部门工作。 但对于能够获得完整的软件定义基础设施的人来说,传统的系统、网络和存储的 烟囱正在被打破。单独一支团队就能够构建并部署新应用,支持更高的敏捷度、 更快的速度,同时从软件就绪到真正将价值交付给目标用户所需要的时间也会大 幅减少。
新型IT与新型系统管理员
我们正在见证一类新型管理员的兴起,他们用基础设施能力和服务的方式进行 思考——而不是沿用设备的思维方式。对于运行在类似亚马逊AWS等环 境里的应用,我们已经在其管理员身上,看到了这场思潮。在大部分情况下,这 些管理员无需考虑网络或存储,他们只需要围绕亚马逊提供的软件,构建自己的 基础设施。
这种将基础设施作为软件的重新定义,正在融入企业——一般通过 基于OpenStack等技术的私有云。即使现代私有云并不能完全取代传统上基于设备 的企业基础设施,但是他们依旧正在推动组织机构,非常迅捷地朝着将基础设施 作为软件的方向前进。哪怕能够在一小时内启动1000个虚拟机——启 动、运行并执行真正的工作——但要想建起新的虚拟局域网或配置好 存储,依旧需要10倍的时间,因为做这些事情的人处于不同的烟囱,组织机构很 快就注意到自己需要发生改变。
随着云计算对企业的“侵蚀”,我们会看到从纵向团队向横向团队 的转化。我们的云计算团队会把自己的工作看作维持API和SLA——它 们能够理解全部基础设施的需求。我们的应用团队将依据这些API和SLA来谈论基 础设施,而不是讨论操作系统或硬件需求。从硬件到软件的抽象,将从技术界面 转移到团队界面——而我们的业务将看到这样的好处。我们会更频繁 地发布新产品,更快速地获取客户反馈,而且能够更迅捷地响应市场变化。把基 础设施当作软件来治理,并将其作为一种核心能力,将为我们提供与竞争对手相 比显著的优势。
毫无疑问,最终我们将发现,我们所有的应用都运行在服务层和按需的基础设 施。在商品化硬件之上运行的软件,自身也会商品化。我们的绝大多数应用,将 不再拥有独一无二的特殊基础设施要求——相反,它们将能够运行在 通用软件平台上,这些平台完全消除了应用层面操心基础实施的需求。
在这个世界上,存储、网络和系统团队(更不必说VMware、防火墙和负载均衡 团队)等垂直的烟囱,带来了如此之多的不便——并延缓了业务的发 展——将不再有任何意义。在这些领域,我们将拥有负责业务服务可 靠交付的团队。毕竟,这才是IT:一项业务服务。
你的团队是在努力迎接这一变革,还是在拼命抗拒这场变革?
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/