云计算承诺提供几乎无限制的随需资源访问,人们一直追寻的业务延展性以及通过按需购买的方式降低成本。在这个虚拟研讨会中,InfoQ 希望从这些顶尖的专家们那里了解到云计算带来的好处以及使用时有何限制,私有云和公共云哪一个更好,是否需要云互操作,提供基础设施和提供平台的区别,客户如何加强规范遵守等等。
回答我们问题的专家们包括:
Jerry Cuomo,IBM 副总裁,WebSphere 产品线 CTO
David Linthicum, Blue Mountain Labs 的创始人
Geva Perry ,GigaSpaces Technologies 云计算总经理
Jamin Spitzer,微软 Developer & Partner Evangelism Group 部总裁
云计算给企业带来的好处是什么?
David:基于旧分时模型,云计算是比传统方式更加追求共享、经济和高效的一种新方法。通过规模经济,企业将可以使用原先他们根本负担不起的资源,包括分析服务,企业应用以及在按时按需购买的基础设施服务等。此外,网络方面的好处是和使用 Web 绑定的资源的能力,比如社区网络,它比在本地集成资源的方式要容易得多。它是一种旧的计算方式在新技术市场上的新表现,并且,它使得企业能够更经济地重建计算基础设施以及企业架构。
Geva:云计算从两个方面推动企业进步。从战术上,提高效率,节省成本。从战略上,助力开发人员和企业用户快速和高效创新。
1)提高效率和节省成本:云计算利用规模经济的优势,通过让很多用户共享相同的基础设施,云的提供者可以获得更高的资源利用率,而原来只能在特殊的专属环境下才能达到。另外,随着越来越多的公司将他们的 IT 提供成“云源”,云提供者可以更专业,更高效地运行大规模数据中心,而他们客户们只需要关注自己的核心业务。
2)快速创新:云计算加速了个人和企业的创新能力,缩短了产品和服务进入市场的时间周期。之所以云可以做到这点,是因为它节省了大量的 IT 预投资,通过流水线或自动流程(比如提供服务器,从测试环境到生产环境的移植等服务),向开发人员和企业用户提供直接的,自助的 IT 资源访问,从而提高了他们的生产力。
Jamin:下一代计算潮流——被称之为“便宜革命”的集中式计算资源和大量高性能设备带来的边界能力的结合——让用户和企业便利地选择远程计算资源和个性化设备体验。云为用户,企业和开发者带来这样的体验机会:可以利用更高效、更广阔的技术基础设施平台来创建和访问应用,从而增加现有投资和传统的部署选项(比如,企业数据中心,个人电脑等)。我们应该把云看成是现有计算平台的扩展。最终,一组良好定义的准则将会出现,帮助企业理解在什么时间,如何对长期持续的投资作出重新调整。
Jerry:我们实实在在地看到云计算模型让企业更智慧地工作。在当前金融危机的影响下,我们仍然看到完美的风暴式发生的事件,通过使用先进的技术(例如虚拟化)对齐业务模型(如 pay per sip)和标准 / 架构(如 Web 和 SOA),从而获得相当可观的计算输出。因此,它对任何人都有吸引力。企业不需要于先付费,并且 / 或者,将一部分 IT 运维外包出去,如此他们可以将更多宝贵的时间集中的他们的核心业务上。IT 可以将精力集中于基于应用程序的需求来扩展基础设施(过去系统使用率总体低下的日子将离我们远去)。软件开发人员不再等待 IT 提供系统,他们可以(在云中)自助获取合适的软件。
当公司决定采用云计算架构时,需要牢记哪些实施上的限制?
Jerry:当你思考云架构时,我们建议使用面向服务的方法。考虑到一个成功的面向服务的架构是从一些业务目标开始的,最好你也从业务目标开始。降低人力和能耗,加速产品到价值的转变是一些关键的业务指标。设定一个很低的门槛,让一些企业(或企业的部门)有使用的机会采用云,而在传统的模型中,这些企业可能根本没有机会。最近我正在写一篇关于我们的云模型的博文,在里面我还写到了如何将云分解成一组服务层,每一层都为企业带来特定的价值。服务的层级包括基础设施层,平台层和应用服务层(当然还有其他层,通常我们谈得最多的是这三层)。为合适的任务选择正确的云服务,也不要担心创建自己的云。并非所有云都一样——这就出现了关于私有云和公共云(或超云)的差别的问题。我们很多客户关心安全以及应用程序和数据的隔离——因此我们的多数客户是在防火墙之后开始(私有)云的。
David:性能和安全首当其冲。在我们将国家机密放入云中之前,云提供者还有一段路要走,但是基于高速发展,我认为“足够好”的安全系统会出现的。性能是另一个问题,主要由于网络和系统的延时,但这个问题因云提供者的不同可能有很大差别。还有一个限制是互操作性,后面我们会谈到。企业应该要有这样的认识:不是所有的应用程序都适合云计算。
Geva:有好几个问题需要仔细考虑,比如安全和可移植性,但是在这里我要强调的是可扩展性。在一个专属的静态的环境下的一些假设和最佳实践在云环境里可能不会想当然成立了。或者,即使能用,他们也不会让你能享受到如 Amazon EC2 带来的云的优势。
比如,我们说在云的世界里人们可以按需扩展或收缩资源,并且只为使用的资源买单。这固然很好,但是很多应用程序的架构本身并不允许方便地实现在需要时资源时扩展到多个服务器,而不需要时收缩——并且要在几分钟内完成。好在越来越多最佳实践和产品在解决这方面的问题,我一直在和几个公司合作并评估解决这个问题的几种可选方案。
再比如,HighScalability.com 网站报道了我的朋友们在 Rocketier 如何在 10 台商业服务器上搭建一个系统,这个系统可以每天处理 10 亿条事件。这个系统还可以根据需要随时扩展和收缩,因此可以利用到按使用付费系统(如 EC2)的优势。这个系统通过使用一个分块的内存数据网格作为记录系统,这种做法与我们大多熟悉的集中式数据库系统不同。
Jamin:在应用程序层,若采用云,针对每一个应用需要考虑一组问题:在给定负载下部署和运行的费用?如何实现针对应用程序和数据管理安全和私有需求?你需要哪种 SLA?可定制化和可配置化程度的需求?
企业关心的重点不仅仅是本公司和其员工的需求,他们越来越多地关心来自他们的消费者以及合作伙伴的技术需求。通过提供跨企业和网络的集成功能,并且提供多设备来访问能力,企业可以获得更高生产力,更忠诚的客户以及更高效的供应链。因为云带来的部署可选性,企业可以灵活的选择将应用部署在本地还是在云中(或者二者都有),从而可以重新思考如何通过灵活性、易用性、安全性以及丰富性提高商业利益。这种方法把 IT 人员解放出来,他们将首要考虑功能性价值,其次是如何部署这些功能的相关技术。企业应该考虑那些既能推进现有资产的投资又能创建一组全新业务的应用场景。
您如何看待提供商锁定以及云平台之间的互操作性?
Jamin:云之间的互操作性只是话题的一部分。拥有多年 IT 投资的公司需要在现有环境和云环境之间架起一座坚实而灵活的桥梁,从而使得本地部署的应用程序和部署在云中的新应用程序能够顺利交互,既推动业务发展,又不需要新增数据集成方面的投资。很多情况下,多数公司关于云互操作性的讨论是对过去本地的互操作性和可移植性的扩展。
在云中,互操作性非常重要。云平台中规定互操作性术语的标准很快会出现,它们使得云 - 云,云 - 企业数据中心之间的互操作成为可能。
Microsoft 的 Azure 服务平台是一个通过 Web 寻址、SOAP、XML 以及 REST 等标准定义开放的、灵活的平台;这种做法的目地就是要确保可扩展的编程模型,使单个的服务可以被运行在微软的和非微软的产品族的应用程序和基础设施所用。详细信息参见这里。
Jerry:我祝福任何尝试把锁定策略拿到台面上的提供商。在当前时代,客户要开放的软件和系统——以及由它们带来的可选性和互操作性。现在是一些新生标准日趋成熟的 “成型期”,然而,(提供商们)共同的担心已经汇聚。以云基础设置为例,IBM 曾经和工业界联合致力于为客户带来一个基于 Java 的中间件世界,现在我们正努力为我们的客户带来相同的利益。“写一次,到处执行的”仍然是个非常诱人的想法。和 Java 一样,我们正努力让我们的客户将基础设施虚拟化一次,即可在任何地方使用(云和 / 或 Hyper-Visor)。目前有好几个标准正在为客户带来这个级别的灵活性而努力着, Open Virtual Format (OVF)就是重要的标准之一。实际上,在 IMPACT 2009 大会上,我们发布了一个 WebSphere Application Server 二进制的可选购买方案,包括预安装的,预配置的(包括操作系统),虚拟镜像(使用 OVF 标准)等。一旦客户购买(或升级)到某方案,它就不需要重新安装 WebSphere,他只需要将介质拷贝到 OVF 感知的 hyper-visor,然后服务自动开启并运行。
David:这是一个大问题,因为云提供者已经创建好他们的平台,这些平台大多基于私有架构、API、以及语言等。因此,一旦你的应用程序是基于某个云平台上创建的,你就很难将其移植到本地或者另一个云平台。不过一些进行中的项目致力于形成支持可移植性的标准,但是我们离云计算空间的一组准业界标准的距离还有点远。
Geva:我写了一篇博文,名为谨慎对待尚未成熟的(云标准的)阐述,在这篇博文中我讨论了这个话题。如我所写,最终获得云操作的互操作性,甚至正式标准,是广泛采用云计算的关键所在。然而目前还为时尚早,我们需要小心谨慎,而不是随大流跟风。现在我们甚至对标准所需要解决的问题都没有足够的认识。
不过,一些有意思的发展是可以跟踪的,比如 GoGrid 已经开放 API ,并且正在努力让其他供应商采纳这些 API。有一个名为 EUCALYPTUS 开源项目已经实现了 Amazon EC2 和 S3 的一些 API。其他如 Enomaly 等供应商也提供开源的云软件,并开放了云计算互操作性论坛。随着时间的推移,市场将会做出投票,准业界标准将会出现,正式标准也终将形成。
为什么有些人选择私有云而不是公共云?
Geva:一些大的公司或企业已经为 IT 基础设施投入了大量资金,其中很多公司在为特定业务或企业的需求建设高效数据总线方面已经拥有相当深入的技术和经验。为什么 Amazon 决定进入 IaaS(基础设施即服务)的业务呢?因为他们已经意识到自己在运行极其高效的 Web 基础设施方面做得很好。当然,也有很多公司拥有这样的技术(并且是与他们特定的业务和工业相关的技术)。他们对规范遵守可能还存在一些疑虑(如医疗行业的 HIPPA 约束),这种疑虑阻碍了他们使用公共云,或者是因为他们的 SLA 太苛刻以至于其他云提供者目前无法支持。
也许,更加有意义的问题是私有云与普通的数据中心之间的区别。首先要记住,“私有云”并非只能在公司本地数据中心上运行。在公共环境下创建虚拟私有云的技术已存在,如 CohesiveFT 的 VPN-Cubed 就是一款应用该技术的好产品。
对于某些大公司,即使运行一个私有的,内部的(本地的)云也是有意义的。这些企业可以采用云的基本原理,如多租户架构、虚拟化、自动化和自助服务等,从而可以获得三个方面的好处:1)高效的硬件利用率 2)高效的 IT 运维 3)快速创新周期。
Jerry:在 IBM,很多客户都对私有云的前景感到振奋。事实上,我们的云策略始于“人工降雨”的思想。当我向客户传递“在企业内部‘播种’云”这种思想的时候,我经常使用这个词,这个思想公共云服务的场合也是有意义的。我们的客户正在构建私有云,而我们的工作重点是辅助他们创建、使其自动化,优化以及管理那些云。基于两个方面的考虑,很多客户选择私有云的路线,安全(应用程序和数据的安全)是一方面,另一方面是他们已经在基础设施建设上投入了很多资金和人力,他们希望能够将这部分投资利用起来。我们看到客户创建私有云并在云上运行很多饶有趣味的任务。用于测试和开发的云越来越流行。事实上,我们现在正使用一个用于测试的私有云(利用我们最近引入的技术 WebSphere Cloudburst )来测试我们的 WebSphere 应用服务器(WAS)。这种做法让我们共享资源,简单来说是(基于安全和可复用的模式)创建了一个测试环境,减少了日常的安装和卸载环境的运维工作。
Jamin:如果私有还是公共的问题指得是本地用户管理的还是提供商托管的的问题的话,那么上述关于实施限制的讨论已经覆盖了这方面的内容。这个问题主要是关于控制的,企业在实施或客户化他们的基础设施、平台和应用程序时,仍然需要权衡他们在过去考虑的那些控制因素。
David:安全、性能和控制是关键问题。所以,你可以在防火墙后面架设可共享的基础设施,享受云计算带来的高效的资源共享,按需获取资源等好处。这将是云计算最大的成长空间,因为,至少在最初,很多公司并不希望放弃对他们的核心 IT 基础设施的控制权。
有的云提供商提供基础设施(Amazon),有的提供平台(Google),应用架构师通常如何选择?
David:依赖于业级架构和应用程序的需要。Amazon 允许你通过资源的类别(存储,数据库等)来消费,而 Google 则提供全套的应用程序开发和部署平台。因此,首先你要理解你的需求是什么,定义需要解决的业务问题,然后再选择合适的解决方案——本地部署还是由云提供,或者取二者兼有。
Geva:在大多数情况下,平台即服务 (PaaS) 的提供者会很大程度上限制使用场景和技术栈。这样的限制带来的好处是,开发和运行时管理变得非常简单。如果使用场景和技术栈的限制正好满足你的应用程序需求,那么就是一个好的匹配。需要指明的是这些平台区别也很大。因为 Google 指定 Python 作为编程语言,以及特定的数据模型以及多线程技术等,所以 Google App Engine 上应用程序可能不需很大改动就可以轻松地移植到其他平台。 Force.com 就是一个完全私有化的 PaaS,它甚至包含私有的编程语言 Apax。你的应用程序如果不重写,那么几乎不可能在别处运行。还有一种如 Heroku 这样的 PaaS,尽管它需要你按照特定的方式为应用程序写一些元素,才能使之运行在 Heroku 的平台上,但这些做法都是“最佳实践”,而且你的程序不会绑死在 Heroku 上。
Amazon Web 服务和 GoGrid 这样的 IaaS(基设即服务)提供供原始 IT 资源,如计算能力、内存和存储。这种方式更灵活,但需要更多的管理工作;它不提供高层服务如开箱即用可扩张性(包括自动扩展)和容错机制。然而,随着时间的推移,IaaS 提供者开始提供附加的上层服务,基础设施和平台服务之间的界限模糊了。此外,一些第三方提供者如 RightScale 和 GigaSpaces 也致力于缩减 IaaS 和 PaaS 之间的差别。
Jerry:基础设施服务的强项是允许用户在云中运行他们现有的应用程序和中间件。大多数基础设施提供商提供通用的基础设施支持,包括操作系统以及基本中间件栈。用户提供其他的——应用程序和应用运行的“技术细节”(扩展,安全,执行)。比如,在 WebSphere 环境里,基于 10 多年在 WebSphere 部署方面支持客户的经验,我们的基础设施服务已吸收这些“技术细节”。我们引入 Patterns 的概念,模式是一种虚拟的部署方案,它将安全、高可用性以及性能等方面的最佳实践都融入在一起。此外,我们已经在公共云中提供我们的软件镜像,像 Amazon 一样,为我们的用户提供一个非常低的门槛,让他们使用 IBM 的中间件产品(包括开发,测试和其他)。
通过平台服务——巧妙划分的基础设施——你需要专注的是应用程序以及服务。很多云平台都具备一些特定的编程模型(这又回到了绑定的问题上去了:-)),这些编程模型让应用程序更具可预见性,因此,平台可以更加自动地进行扩展,安全以及执行。对于新建的应用程序来说,这是很好的。然而在移植现有的应用程序时,通常需要开发人员重写应用。这些平台经常以公共云的方式提供——因此,伴随着应用程序的大改——使得它(平台)对于某些公司来很具吸引力,而对另外一些公司却不然。显然,对于 Java 提供商来说是一个明显的机会,通过为云创建基于 Java 的支持,给用户带来云平台之间的可移植性(包括公共云和私有云)。
我认为还有一些混合模型也是相当有趣的。比如,在 2009 IMPACT 大会上,我们介绍了 BPM BlueWorks ,这是一个为业务领导提供的托管服务。BlueWorks 应用程序为业务专家提供一个门户,让他们学习,分享和相互协作来创建业务战略和流程。一旦业务资产被创建出来,它可以导出到本地的云基础设施(可能以一种基于标准的 BPMN 2.0 文档的形式)。这样就产生了一种“在公共云中开发资产,在私有基础设施服务中运行”的混合模型。对于这些混合模型来说,关键是要在公共云和私有云之间搭建一个安全的通道。稍后对此作更多介绍。
Jamin:对于那些要移植现有应用的架构师来说,考虑到要对现有应用程序做必要的修改,他们可能认为向云移植的好处有限。在某些情况下,优势立刻就能体现,用户很快就可以感受到将云实例外包出去带来的好处。然而,还有些用户已经抱怨:与原有的私有数据中心相比,在虚拟化的云中维护遗留系统的开销更大。
对于一些架构师,他们可能正在设计全新的应用场景,或者已经预见到可以利用云平台的优势来建立新应用。在一个平面型的云平台如微软的 Windos Azure 上写应用或移植应用比在传统的基于实例的基础设上做要更高效。然而,没有一个通用公式来计算最佳的效果,架构师们要分析各种备选方案,基于需求和现有应用的架构,现有的开发技能以及其他因素综合作出正确的决定。
客户如何加强规范遵守?
Jamin:为加强规范遵守,客户必须和云提供者一起合作,共同来确保当工作被外包时,所有的数据和私有规则(包括法律的和私有协议)都可以得到保护和加强。与云提供者之间的协议不仅要包括可靠性 SLA,还要包括遵守性 SLA,这样才能确保客户的数据在任何地方都合法地使用和管理,从而最大限度满足客户需求。
David:这里有两个层面:技术和程序。在技术上,要确保创建合适数量的系统管理规则,包括对核心资源的访问、审计路径以及管理所需的其他约束。选择一个外部机构来为你审计,确保所有事务的合法性。在程序上,应保留所有的法律文档以及将整个过程文档化。
Geva:在某些情况下,在云环境中维护规范遵守和在传统上托管,收集和管理本地数据中心并无区别。从某些方面来看,客户完全依赖于云提供者,必须预先明确提供商采取哪些步骤来确保规范遵守。(例如,Amazon 发布了它的安全实践的白皮书)。一些人已经成为这方面的专家,如 PCI 规范的设计者。
Jerry:云计算的一个非常有意思的话题是将云虚拟化成基础设施,平台和应用服务等三个层面,从而可插入控制点。IBM 主要在云架构的各个层面为用户提供管理云的使用的能力。客户利用这个能力获取他们的系统被如何使用的密切信息,用户还可以利用云作为控制点,来加强策略和规范的遵守。例如,我们的 WebSphere Cloudburst 产品可以产生详细的报表,该报表包括谁在使用云,如何使用等信息。管理员可以使用这些数据生成用于管理和控制的个性化报表。另外一个例子,我们看到一些用户使用我们的 WebSphere DataPower SOA 设备和 Service Registry 来发现服务和(细粒度地)控制对这些服务的访问,在公用云和私有云中都有看到。DataPower 可以为私有云创建公共通道,也可以为公共云提供。一个安全的网关可以帮你挡住云的各种威胁,同时提供一个审计双向应用服务通信的控制点。对客户来说,不论是否有实际的规范遵守的需求,在云周围架设一个双向的(web)应用程序防火墙也是一种更加聪明(和安全)的设计方法。
专家组成员介绍
Jerry Cuomo:IBM 院士,副总裁和 WebSphere 产品线 CTO,他是 WebSphere 的创始人之一,在 IBM 研究院和软件部共工作了 20 年之久。Jerry 是高性能事务系统,中间件设备,和企业云计算以及 Web2.0 领域的开拓者。
David Linthicum:(Dave)是国际知名的云计算和面向服务的架构(SOA)专家。在他的职业生涯中,他形成和发展了很多现代分布式计算(包括 EAI,B2B 应用集成和 SOA 等现在广为使用的技术和方法)背后的理念。最近 10 年,Dave 专注云计算方面的技术和战略,曾与多位云计算的创始人合作。Dave 的业界经验包括多家成功软件公司的 CTO 和 CEO,多家财富 500 强公司的高层管理职位。
Dave 专注云计算的最佳实践和实际业务价值,包括技术在企业需求环境中的实际价值。他的专长是使用熟悉的工具和通俗的词语描述业务在哪里可以和云计算结合。
Geva Perry :Geva 最近 5 年都在 GigaSpace Technologies 工作,在那里,他曾担任过多个管理职务。他目前是云计算总经理,在这个职位上,Geva 负责 GigaSpaces 全球所有云计算相关的市场化活动,包括战略和定位,产品市场化以及战略联盟等。在加入 GigaSpaces 之前,他是 SeeRun 的 COO,负责实时业务活动监控软件的开发。Geva 在 Hebrew 大学拿到学士学位,获得 Columbia 新闻系研究生院的硕士学位和 Columbia 商学院的 MBA。
Jamin Spitzer:是微软 Developer &Partner Evangelism (DPE) 在 Redmond 的平台战略执行官,加入微软已有 5 年光景。在加入微软之前,他在 J.D Edwards 的业务应用站和 PeopleSoft 工作多年。
查看英文原文: Virtual Panel on Cloud Computing 。
感谢胡键对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。
评论