云计算的魅力在于用户只要有身份证和信用卡就可以开始使用,但这也是问题所在。这么简单的服务势必会给毫无准备的IT部门带来许多挑战。之前我们已经多次碰到过这个现象:某项技术易于采用的优点到头来却变成了意料之外的管理难题,比如虚拟化技术导致虚拟机散乱,智能电话带来新的安全风险,即时通讯引发公司治理方面的问题。
作者旨在向IT经理们介绍如何最大限度地发挥云计算的优点,包括使用简单、灵活和较低成本;同时最大限度地减小风险。这篇实用指南包括了许可、管理工具、带宽、安全和架构等方面的内容。
本文表明我们仍处于云计算的早期阶段,这意味着,相关工具和技术还在不断完善中。比方说,经过长达两年的测试后,亚马逊网络服务公司的弹性计算云(ElasticComputeCloud)服务在去年底才推向市场;监测、管理和负载平衡等企业级功能仍在其规划当中。同样,谷歌应用引擎(AppEngine)属于预览版本。微软的Azure云服务也属于预览版本,目前只有Windows开发人员可以使用有限的功能,其他早期采用者无法使用。
不过现在可以开始规划了,你既可以实际感受这种新的IT交付模式(包括了解各种故障和缺陷),又可以比其他在考虑独自利用云服务的公司同事超前一步。
一、管理篇
牢牢控制云计算
管理云计算服务的工具形形色色,既可以使用简单的仪表板,让你在几分钟内就能创建虚拟软件栈;也有能够处理各种配置和管理任务的企业级平台。云计算使用越广泛,就越需要那些高端工具。
亚马逊、谷歌及其他云服务提供商提供了帮助客户入手的基本工具。比方说,谷歌应用引擎的管理控制台可以显示流量大小、带宽、CPU利用率以及谷歌托管应用程序的出错率,这些数据可以帮助你深入研究日志文件,并获得其他详细数据,还可以用它来控制管理权限、管理应用程序的升级。
然而,应用引擎仍属于“预览”版本;这意味着,随着需求越来越高,这些工具将无力满足要求。谷歌的产品经理PeteKoomen承认:“我们还缺少一部分功能。”
我们看到,云服务提供商、新兴公司和系统管理厂商都在竞相为客户提供功能更齐全的工具,以管理云环境中的资源。亚马逊表示,它会“很快”为弹性计算云服务推出新的管理控制台和云监测功能。亚马逊已经在提供一些基本功能,比如使用命令行界面创建亚马逊机器映像(AmazonMachineImages)的功能。管理控制台让用户可以配置及管理EC2资源,而监测功能将包含EC2实例和“可用区域”(availability zones)方面的实时度量――可用区域是客户为了确保冗余和最高可用性而选择的亚马逊基础架构中的一部分。亚马逊还计划在2009年提供负载均衡和自动扩展功能。
专门从事云管理的公司是另一个选择。RightScale公司的托管服务平台包括管理仪表板、数据库和网站管理、批处理、多服务器部署功能以及自动扩展功能。提供基本功能的开发版本可免费使用,但大多数IT部门会需要RightScale的另外三个版本(网站版、网格版和高级版),这些版本的起价为每月500美元,外加2500美元的一次性费用。
RightScale创办于2007年,以管理亚马逊网络服务起家;如今扩大了业务范围,可以管理其他公共云服务,包括FlexiScale和GoGrid的云服务。RightScale还为加州大学圣巴巴拉分校的Eucalyptus公共云提供了一个平台,把面向云计算的开源Eucalyptus软件部署在集群服务器上。它实际上是一个研究测试项目,但目的是通过RightScale的仪表板,能够管理公共云和基于Eucalyptus的专有云。
与Web应用程序一样简单
在管理Web应用程序和基础架构方面有过经验的IT部门会发现,云计算有着相似之处。Hyperic公司首席执行官JavierSoltero说:“如果你能管理Web应用程序,就能管理云应用程序。”该公司有一个版本的Web应用程序监测软件正在亚马逊网络服务中运行。
HypericHQ由中央管理服务器和代理软件组成,前者通常在公司内部部署的服务器上运行,而后者驻留在Web服务器上,向中央管理服务器报告可用性、性能及其他度量数据。借助刚发布的HQ4.0,Hyperic服务器可以配置成EC2中的亚马逊机器映像。对IT管理员而言,这意味着部署简单、订购费较低、性能更高。HypericHQ的功能包括自动发现软件、诊断、报警、分析和报告以及其他工具。
有人认为,对云应用程序“眼不见心不烦”,这种态度大有问题。Soltero说:“有人认为,因为你在云中部署了应用程序,所以根本不需要监测和管理,这是云计算方面的天大谎言之一。代码天生有缺陷,技术也会出问题,所以你需要监测功能。”
Kaavo公司也专门从事多个云的管理。这家新兴公司的平台支持服务器监测、云中的LAMP软件配置、负荷管理、软件审计、补丁管理、运行时配置管理、通知及报警。它已推出按需基础架构和中间件(InfrastructureandMiddlewareOn Demand)软件的免费测试版;很快会推出普通发行版。Kaavo的优势在于其管理团队:创办人兼首席执行官Jamal Mazhar是获得Sun认证的J2EE架构师,首席技术官Shahzad Pervez以前在大公司担任过IT主管和企业架构师。
知名的系统管理软件厂商也为云环境带来了新的控制工具。IBM公司自主计算开发主管DennisQuan表示,IBM的Tivoli部门计划把云管理功能集成到服务请求管理器(ServiceRequestManager)、配置管理器(Provisioning Manager)和监测(Monitoring)等产品线中。IBM还希望为客户赋予更大的“控制权”,控制把数据放在云中的系统,从而提升客户对云安全的信心,但Quan没有透露IBM在这方面会如何做到。
微软仍在开发解决云管理难题的方案。它在去年10月推出了WindowsAzure操作系统及相关的Azure服务平台,但没有表明何时启用Azure云服务,不过开发人员已可以使用开发工具和基本构建模块入手。微软高级副总裁BobMuglia在同一个月演示了代号为Atlanta的系统中心(SystemCenter)企业管理平台,该平台将在微软的云中运行。
所有这些活动表明,众厂商在竞相为新兴的云服务开发企业级控制工具。IT管理员面临的难题是,在云服务采用突飞猛进之前,将相关工具部署到位。
二、底层架构:亚马逊、谷歌和微软平台比较
人们很容易忽视云服务背后的技术,这是一个误区。公司的技术人员必须确保云服务与本企业的基础架构相互集成。这就需要一种基础架构能够结合两者。
云计算的各部分与企业数据中心的各部分一样,同样包括诸多编程语言、操作系统、数据库、Web服务器、协议和应用编程接口(API)。关键就是确认哪些云服务真正适合自己内部的系统、应用程序和专长技能。下面比较一下亚马逊的弹性计算云、谷歌应用引擎和WindowsAzure三大服务,看看哪个更适合你。
亚马逊的EC2为客户提供了种类丰富的软件选择:WindowsServer、OpenSolaris和七个Linux版本;MySQL、SQLServer和Oracle11g数据库;以及Java、JBoss和Ruby on Rails等开发环境。