一步一个脚印 CIO可以这样迈向云计算

您已经为企业应用云计算完全做好准备了吗?也许还没用。那么,CIO需要在云计算实施前夜在技术上做好哪些方面的准备工作呢?很多CIO都有这样的疑惑。

应用云计算,对于大企业来说或许“先私后公”是一个能够保护已有投资,并且能够保证业务和技术连续性和平滑过渡的方式。企业在向云计算转变的时候是一个系统工程,它涉及到各个方面的影响。云计算对于企业不是一个要不要的问题,相反它是一个什么时候以及如何开始着手的问题。

云计算前夜:CIO需要做好五项准备工作

不同企业会根据自身业务的具体情况来决定向云计算开拔的步伐。不过,这里,编者必须提出企业向云计算迈进的几个准备工作,而做足了准备工作,云计算的推进和实施可以顺利过关。

虚拟化投资和技术储备

虚拟化是一个与真实相对应的理念。在计算机领域,虚拟化主要是指把一部分计算机资源抽象或者分离出来。这种抽象和分离可以设计计算机系统的各个方面,比如服务器硬件、存储、操作系统、网络、应用程序和屏幕展示等。所谓抽象是指把多个分散的资源表示成为一个,比如计算机集群、RAID等就是很好的例子。很显然,这样抽象式虚拟化的好处就是简化系统。而所谓分离就是把资源之间的耦合性降低或者把一个资源分隔成为多个资源来使用。

目前,业界讨论最多的虚拟化是指分离式的虚拟化,其体现出来的本质就是解耦。这种方式能够进行动态灵活的并且按照业务进行按需资源分配是IT服务的目标。虚拟化技术的出现让我们向这个目标迈进了一大步。

云计算前夜:CIO需要做好五项准备工作

云计算是一种把IT作为服务提供的计算方式,而虚拟化是云计算服务构建的一种核心技术。当然,虚拟化对于不同类型的云计算服务的作用也不尽相同,但是对于大部分基础设施即服务的云计算来说,虚拟化是其不不或缺的一种实现技术。

如前所述,企业自己构建云计算平台的一种相对简单的方式就是采用基础设施即服务的方式改造现有硬件平台。进行云计算的基础设置改造会涉及数据中心大 范围的变更,因此对那些已经有大量投资的企业来说,要在短时间内做这样的修改还是比较困难的。但是,鉴于虚拟化在企业私有云构建中的作用,企业需要从现在 开始增加对虚拟化的投资,并开始一些虚拟化项目来使用它。

企业采用虚拟化可以为企业解决或者缓解一些非常直接的问题。例如,通过服务器的整合来减低数据中心的能耗问题,缓解数据中心的空间增长压力等问题。无论是在开发测试环境还是在实际的生产环境中,虚拟化技术都可以给企业带来不同的利益。

例如,微软的基础基础设施成熟度模型把企业的虚拟化应用分为四个不同的阶段,其中包括基础阶段、标准化阶段、高级阶段和最终的动态阶段。当然,这些不同阶段对虚拟化技术的应用复杂度也各有不同的要求。

以下是美国一家金融信息服务公司采用虚拟化技术的例子。该公司把数据中心的650台旧物理服务器整合成为22台新物理服务器,每天新物理服务器上运行30个虚拟机。这个虚拟项目使得这些服务器省电将近90%,并且该公司能够在几天之内测试和上线一个新的产品。

企业对于虚拟化技术的应用一方面可以解决企业数据中心目前直接面临的问题,另一方面通过逐步的虚拟化应用可以理解基础设施即服务类型云计算的一些特点并为今后整个数据中心的云计算改造做好准备。

标准化和可扩展的硬件设备

基于开放标准的硬件设备在过去十几年取得了长足的进展。以服务器为例,基于X86体系结构的服务器无论是性能、可靠性等方面都可以与传统高端服务器 进行竞争。这些标准的服务器有着良好的性价比,再加上有很多不同的供应商可以选择,因此企业已经越来越多地采用这些基于X86的服务器。

云计算前夜:CIO需要做好五项准备工作

根据IDC每个季度的全球服务器市场跟踪信息,可以清楚地看到服务器市场的发展趋势。以下是不同服务器类型按照服务器数量的市场份额情况。

如果回想一下服务器市场最初的情况,它的发展方向就非常清楚了。现在越来越多的可靠性要求可以通过软件方式来提供,而不像以前完全依赖于硬件层的可 靠性从而迫使用户使用专用的服务器硬件。这种通过标准化硬件架构来构建平台的方式在互联网企业中最为普遍,目前规模大一点的互联网企业无一例外都主要采用 这种方式构建,而且越来越多的传统企业在逐渐增加它们的应用。

建议企业采用标准化硬件的另外一个关键原因是目前主流的服务器虚拟化技术主要是基于X86体系结构的服务器。虽然,服务器虚拟化技术是在主机上最先 出现,并逐渐应用到小型机上,但是真正大规模普及还是在基于X86服务器上。我们知道云计算需要构建一个资源池并通过共享式的方式来提高资源利用率,一个 理想的状况试这些资源池主要基于同构的硬件设备来构建。企业采用标准的硬件设备将有利于将来实现一个大的共享资源池,而不是一个个不兼容的硬件孤岛。

统一虚拟和硬件环境的管理

虚拟化技术的确能够在许多方面为企业带来好处,但是同时它也在某种程度上为企业的资源管理带来了一些挑战。企业部署虚拟化技术之后,底层硬件与上面 运行的软件之间的联系就被削弱。采用虚拟化技术可以帮助企业降低物理系统的数量,但是它并不会减少所拥有系统的数量。相反,由于新建一个系统环境的难度和 成本大大降低,整个IT环境中的虚拟系统数量可能会急剧上升。

如果没有一个良好的管控,虚拟化会给基础设施的管理带来混乱。软硬件之间的联系切断,服务器环境变得更不固定、更复杂。这就是为什么会有IT管理专 家指出如果没有良好的管理,虚拟化带来的便利将被抵消。虚拟化可以优化诸如服务配置和补丁分发等这样的流程,但也同时增加了IT专业人员可能没有想到的复 杂化。

例如,以前主要是为操作系统和应用程序打补丁,但是使用虚拟化之后不仅这些工仍必须进行,而且现在用户还必须对可能存在安全漏洞的虚拟机管理层打补丁。

云计算前夜:CIO需要做好五项准备工作

让管理工作变得更具有挑战性的是现在虚拟化中还有一个在线动态迁移的技术。这种技术让虚拟机可以在正常工作的情况下动态地从一台物理机迁移到另外一台物理机。这种迁移可以在人工操作下进行,也可以在事先设定条件下根据运行环境的变化自动进行。

因此,要随时定位一台虚拟机具体运行在哪一台物理服务器上变得不是那么容易。这个管理方案不仅可以管理原来的硬件环境,还可以统一管理虚拟化环境, 为管理人员提供一个单一试图,用于显示物理和虚拟IT基础设施对其所支持服务的影响。这种统一的管理方法能够打通虚拟环境与物理环境的联系,构建端到端的 服务模型,提供出色的基础设施可视化。一个统一的管理能够帮助企业减少故障排除时间并缩短平均修复用时,能够极大降低IT成本,同时帮助企业提高IT服务 质量和可预测性。

优化IT服务流程

随着IT技术的进步和商业化分工的细化,我们将要看到的是一种新型的安全互联的,而且能够及时响应的“实时企业”。企业内部就像有神经网络系统一 样,数据能够通畅流动,并能够在事件发生的第一时间快速做出响应和决策。这是一个非常美好的愿景,但同时也对企业的IT服务提出了更高的要求。IT服务流 程需要与未来这种“实时企业”的业务特点相匹配。

实际上现在已经有几个新的技术或服务方式对企业IT服务流程带来了一些变化。首先是面向服务架构的实施。企业采用SOA的思想方式来构建IT系统,会给IT服务与企业业务之间的结合方式带来一些变化,IT响应业务变化的能力也会得到提升。

云计算前夜:CIO需要做好五项准备工作

其次是虚拟化技术的采用。如果企业采用了虚拟化技术,那么企业提供基础设施资源的流程就会发生变化。我们以服务器虚拟化为例来说明这个问题。传统物 理机的提供方式需要每次都进行一个实际使用这些物理资源的时候一般都需要一个比较长的服务流程。但是,如果采用虚拟化方式,用户申请一台虚拟机的流程显然 要更为简便。最后一个相关的因素是服务的外包。

如果企业采用了一些外包服务,那么也会给企业的服务流程带来很大的变化。如果企业采用了一些外包服务,那么也给企业的服务流程带来很大的变化。企业 可以把一些非核心的IT业务内容外包给第三方,但是企业IT部门仍是服务的主要战略制定和质量控制方。企业IT也需要能够对相对平滑地把第三方的服务于企 业自己的 服务进行集成。

云计算给企业带来了一种新型IT服务模型,因此它将进一步推动企业IT服务流程的变革。企业可以利用云计算变革的契机,对IT服务流程进行一次优化 和调整。比如,许多企业的不同部门都有自己的数据中心,或者说虽然有统一的数据中心但是系统归各个部门自己的IT队伍负责保护。

云计算的一个关键理念是资源的共享和整合,因此企业IT部门可以借助云计算战略推动企业范围内的资源整合,数据中心的运维由IT部门负责,而企业的各个业务部门作为数据中心的客户。这种资源整合的调整有利于将来推动云计算项目的实施。

调整应用架构

在传统的Web应用设计中,我们在架构上一般采用基于多层架构的设计,在Web层中会大量使用负载均衡等技术。一般的处理方式都是在应用程序设计好 之后,在应用部署的过程中事先把环境配置好,而应用程序在运行过程中配置都是不变的。但是,随着云计算时代的到来,我们开始面对一些新的挑战,相应地应用 程序设计方式方法也随着发生一些变化。

由于云计算平台能够提供高可扩展性的弹性资源分配,因此许多人会认为只要构建了一个云计算平台,自己的应用程序部署在上面就能够实现随着负载的变化 自动分配计算资源了,而且也会变得更加可靠。这是我们经常会遇到的一个误解。如果应用程序在传统物理服务器环境的运行过程中存在一些可靠性问题,那么最好 不要把云计算平台当成是一个灵丹妙药。

云计算前夜:CIO需要做好五项准备工作

如果需要构建一个可以灵活扩展的应用系统,那么我们不仅需要底层基础设施能够进行弹性扩展,上面部署的应用程序也需要能够支持水平扩展。需要指出的 是并不是所有应用程序都是可以扩展的,比如云计算系统构建中一个常见的扩展瓶颈就是管系统型数据库这类应用平台的性能,例如,更快的处理器、更多的内存 等,但是由于关系型数据库本身的特点,要水平方向进行扩展却是比较困难的。

因此,如果企业在基础设施层面实现了或将要实现动态资源扩展能力,那么需要在应用架构设计上来保证其上的应用也可以实现相应的水平扩展能力。只有当底层平台和应用程序都能够动态扩展时,整个应用系统才能够整个实现动态可扩展的能力。

无论是功能上还是性能上云计算对应用的灵活性都提出了更高的要求。这就要求应用程序在设计的时候要考虑松耦合的架构。耦合度与灵活性一般都是相反的,即耦合度越高灵活性越低,耦合度越低灵活性越高。因此,在做企业应用架构设计的时候,一般要追求松耦合的设计。

例如,在做Web应用设计的时候,对于用户状态的保持就需要尽量采用无状态的方式来设计,这样应用程序的水平扩展能力会比较好。企业对应用架构上的调整和准备可以帮助企业今后更为顺利地把应用程序迁移到云计算平台上去。