首页 > 新闻 > 专家观点 >

面对云计算,企业应该怎么玩?

2016-08-01 10:18:42   作者:   来源:CTI论坛   评论:0  点击:


  云计算代表了 IT 资源的创建、交付和使用方式的巨大转变。云计算技术在全球 IT 格局中也是增长和创新的核心基础驱动因素。然而,云计算解决方案领域中确实有很多新的术语和技术会让人感到迷惑,乍看之下,它们可能并没有什么意义。虽然您可能已经在使用互联网和云计算来完成移动电子邮件等任务,但我们认为更深入、更广泛地了解云计算对您是有好处的。
  例如,本文将探讨一系列云技术:基础架构即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、私有云、混合云、IBM Bluemix、SoftLayer、SoftLayer 中的 IBM Power Systems、OpenStack、软件定义的环境(SDE)、Docker、应用程序编程接口(API)、Cloud Foundry、DevOps、混合云和 IBM Power Development Platform(PDP)。它们是什么?它们如何全部结合在一起?在哪里以及如何获得它们?如何使用它们?
  有许多的问题,我们知道 — 不过别担心,您来对地方了!我们承认,已经有不少围绕云计算的新技术被引入市场。本文讨论以上主题,并澄清它们的概念,通过一些常见的用例来说明如何结合使用它们。我们从一些重要的基本概念开始介绍,还会更深入地研究一些较新的领域。因为我们在 IBM 工作,我们主要侧重于有关云计算解决方案的 IBM 示例,因为这是我们的特定专业知识领域。
  基本的云计算概念
  云计算,通常被称为云,是指在 Internet 上按需交付计算资源(从应用程序到数据,到硬件、软件,甚至数据中心),并按使用付费。此外,云计算可以包括快速、动态地对 IT 资源进行配置,然后取消配置的能力、自助服务式 IT 方法(而不是让用户通过 IT 部门获取 IT 资源),以及通过广泛共享资源并以非常细粒度的增量提供这些资源来实现业务效率。
  服务模型
  • 基础架构即服务:IaaS 以自助服务和按使用付费的方式为用户提供基本的计算资源,这些资源包括服务器、网络、存储和数据中心空间。IaaS 通常称为云计算的基础层。在典型的 IaaS 云模型中,提供给用户的基本计算资源要么是裸机 (专用),要么是虚拟化的 (共享)。用户,以及在其 IaaS 基础平台之上提供更具体或更高级的云服务的服务提供商,都可以利用 IaaS。在 IaaS 市场中,部分着名厂商包括 IBM、Amazon、Oracle、Microsoft、Hewlett-Packard、Fujitsu、Rackspace、Computer Sciences Corporation (CSC)、Google 和 Joyent。
  • 平台即服务:PaaS 构建在 IaaS 之上,提供基础架构和平台软件的组合;这通常是指基于云的应用程序开发、中间件、数据库软件,以及相应的硬件环境,其中包括支持构建、测试和交付基于 Web(云)的应用程序整个生命周期所需的一切 — 没有购买、管理和维护底层硬件及平台软件的成本和复杂性。
  • 软件即服务:SaaS 对在云中运行的应用程序提供基于网络的访问。通常,在 SaaS 解决方案中,许多客户都共享对云交付的软件和数据库的访问。所以,SaaS 解决方案的关键属性在于,它们是为多租户 构建的,这意味着在同一时间有许多人可以安全地使用和共享软件、硬件和数据)。常见的 SaaS 应用包括客户关系管理(CRM)系统、企业资源规划(ERP)系统,或其他行业特定的应用程序。IBM、Oracle、Microsoft 和 Salesforce.Com 是众所周知的 SaaS 提供商。
  部署模型
  •  私有云:私有云是云计算系统,通常建立在防火墙后面,采用非常严格的一组技术,实现对云服务和数据的受控访问。以一家财富 500 强公司为具体示例,它支持 IaaS、PaaS 或 SaaS 解决方案,并在其内部将这些解决方案提供给自己的员工。大多数企业选择私有云解决方案作为云的第一步,以确保对其云资源的受控访问到位。作为一个合乎逻辑的演变,私有云一般会演变为同时使用私有云和公共云,跨数据中心管理工作负载,从而创建混合云。
  •  公共云:公共云是云计算系统,通常建立在公共域中,也可能包括安全技术,实现对公共云服务和用户特定的数据的受控访问。流行的公共云示例包括 IBM SoftLayer、Amazon、Google、Microsoft Azure、Rackspace,等等。例如,如果您使用过 Google 或 Bing 进行搜索,或者用过 Google 的 Gmail,那就您已经使用过公共云了。
  • 混合云:混合云使用的技术使您可以合并或 “结合” 跨越传统内部 IT 系统的云应用程序和数据、私有云服务和数据,以及公共云服务。现实情况是,私有云通常不能孤立于公司的其他内部部署的非云 IT 资源和公共云而存在。大多数使用私有云的公司将演变为跨数据中心、私有云和公共云管理工作负载,从而创建混合云。混合云应用程序通常涉及使用安全的云连接技术,以及 API 和 API 管理解决方案。
  云架构
  云计算的用户可以利用 IaaS、PaaS 和 SaaS,它们全都可以快速和远程地从不同厂商访问,采用按使用付费的方式。开发人员和测试人员,以及运营人员可以使用云的 PaaS 功能,非常快速地创建和交付新的云应用及云服务。可以在多种云平台上实现特定于企业或行业的 SaaS 解决方案。此外,用户还可以在使用私有云模型还是公共云模型之间进行选择,甚至混搭使用两种模型,即使用混合云。
  下图表示一个完整的云计算参考架构(这是 IBM 云计算参考架构)。如您从方框的下半部所见,要建立一个云,是从硬件(服务器、存储器、网络和设施)开始的。接下来,添加云软件(例如,OpenStack),帮助创建和交付一些基本的云功能,比如 IaaS,以及面向云的运营和业务支持服务。然后,添加一个 PaaS 解决方案,例如 IBM Bluemix。最后,您可以添加或交付 SaaS 应用程序,并将它们结合在一起,创建业务流程,并且将它们作为一个服务交付。安全性、性能、扩展性、弹性和治理也是云解决方案的关键要素。
  下图的左侧显示了云的使用者(例如,最终用户)的视图。右侧显示了云内容、应用程序和云服务的生产者的视图。
  图  IBM 云计算参考架构基础架构
  部署模型和示例
  私有云
  包括 IBM 在内的许多公司都实现了私有云解决方案,方法通常是构建裸机或虚拟化云基础架构的组合,然后加上使用 PaaS 或 SaaS 模型将云软件交付给他们的用户,以有限制的访问为基础。重要的是要注意,私有云解决方案可以在多种类型的硬件基础架构(x86、IBM Power、IBM Systems z、IBM 存储,等等)上运行,而且往往可以支持多个虚拟机监控程序(KVM、IBMPowerVM?、IBM PowerVC、IBM z/VM、VMware、Microsoft Hyper-V 和 Citrix Xen),充分利用通过虚拟化与整合所获得的业务效率。IBM 本身就是一家采用多个私有云解决方案的公司。从本质上讲,私有云的目标是访问一组特定的用户,并且可能被要求遵守法律和治理限制,可能不开放给公众。利用了基于OpenStack 的私有云技术 的 PayPal 则是第二个例子。
  公共云
  IBM Power Development Cloud (PDP) 是一个公共云平台。其前身为 Virtual Loaner Program (VLP),PDP 的目的是满足很多、但不是所有的 IBM 业务合作伙伴的典型要求,以非常低成本的远程访问 IBM Power Systems 硬件和中间件。IBM PDP Cloud 非常受欢迎,因为它让用户(例如,ISV 或其他业务合作伙伴)能够以极低成本,甚至免费地基于 IBM Power 硬件和 IBM 软件快速高效地访问和开发解决方案,因此,业务合作伙伴可以集中精力创建其新一代的创新解决方案。
  公共云和私有云
  SoftLayer 于 2013 年 7 月被 IBM 收购,负责提供公共云和私有云平台。SoftLayer 通过在世界各地不断增加的数据中心和网络点提供云 IaaS。SoftLayer 的客户涵盖小型网络初创公司和跨国企业。其产品和服务包括裸机和虚拟服务器、网络、交钥匙式大数据解决方案、私有云解决方案,等等。SoftLayer 的独特优势包括可以实现真正的带外访问的业内第一个网中网拓扑,以及一个易于使用的客户门户和强大的 API,支持对所有的产品和服务管理选项的完全远程访问。
  IBM Cloud ManagedServices
  IBM Cloud Managed Services是一个全面管理和高度安全的 IaaS 云的关键企业工作负载进行了优化。它提供独特的实例级虚拟机(VM),正常运行时间 SLA 达 99.95%,并且提供私有云的许多优点(比如专用的服务器和存储选项,同时还提供灵活缩放和云经济的好处)。您可以通过 IBM Cloud Managed Services 访问在 IBM Power Systems 环境上运行的 IBM AIX。
  其他
  IBM 还提供 100 多款 IBM Cloud 上的 SaaS 解决方案,涵盖从市场营销、销售和电子商务到人力资源和法律的一切。 IBM 提供的 SaaS 业务应用程序具有企业级安全性、高可用性和灵活性。
  免费的技术和方法
  开发和运营(DevOps)是一种软件开发方法,强调软件开发人员、客户和其他信息技术(IT)专业人员之间的紧密合作,以及新的云服务的快速创建和交付。DevOps 经过了优化,可以解决软件开发、客户需求和实际的云 IT 运营及运行时平台的相互依存关系。DevOps 结合分析,可轻松支持下一代云服务的创建和持续交付。云 PaaS 环境(比如 IBM Bluemix)往往针对快速应用程序开发进行了优化,因为它们所提供的服务类型让自己与众不同,而且很容易参与完整的 DevOps 环境。
  云服务
  云服务是专门为在云运行时环境中运行而编写的云原生应用程序(例如,为支持在 OpenStack 环境中执行而专门编写的新的云分析应用程序)。最常见的情况是,使用支持 DevOps 的云 PaaS 环境来编写和部署云服务。理想情况下,可以跨满足特定需求(例如,性能、规模,等等)的多个云环境部署云服务。其他较新的、不同的云服务也可以在其他上下文中重用云服务。云服务通常被存储在云提供商的服务目录中,满足云运营和业务支持层的要求,并与这两个层次进行交互。
  单模块(云之前)应用软件
  单模块应用程序也可以被重新架构,以便在云平台上运行。通常的做法是基于在虚拟机中运行的单模块软件,通过云支持应用程序的一些特定的脚本和重新包装,创建云虚拟设备。
  Cloud Foundry
  Cloud Foundry最初是由 VMware 开发的一个开源云计算 PaaS 解决方案,现在由 Pivotal Software (VMware 的子公司)拥有。
  IBM Bluemix
  IBM Bluemix是一款基于 Cloud Foundry 开源项目的 PaaS 产品。它支持多种编程语言和服务,以及集成的 DevOps,以在云上构建、运行、部署和管理应用程序。Bluemix 运行在 SoftLayer 基础架构之上。
  IBM UrbanCode
  IBM UrbanCode在开发、测试和生产环境中编排和自动化应用程序的部署、中间件配置,以及数据库变更。它旨在促进敏捷开发中的快速反馈和持续交付,同时提供审计跟踪、版本控制,以及生产中所需要的批准。
  Docker
  Docker是一个开放的平台,供开发人员和系统管理员构建、提供并运行分布式云应用程序,这些应用程序通常被称为云服务。Docker 应用程序在 Docker 提供的运行时引擎内运行,也称为 Docker 容器。Docker 生态系统包括 Docker 容器引擎、一个可移植的轻量运行时和打包工具,以及一个 Docker hub(这是共享应用程序和自动化工作流的云服务)。在 x86、IBM Power、IBM z Systems 和 ARM 平台上都支持 Docker。
  OpenStack
  OpenStack是一个开源云操作系统,它控制计算、存储和网络的大型资源池,全部通过仪表板进行管理,让管理员可以控制,同时使他们的用户可以通过 Web 界面配置资源。通过 API 向开发人员提供 OpenStack IT 资源。OpenStack 可用于在单一数据中心或跨多个数据中心(区域)管理 IT 资源。
  软件定义的环境
  软件定义的环境 (SDE) 是 IT 基础架构(包括硬件和系统软件),使计算、网络和存储资源可以适应不断变化的工作负载。许多云工作负载和用例都可能具有非常动态的行为模式。云工作负载的 IT 资源消耗需求可能会随着时间发生很大变化。SDE 技术可以用于帮助创建底层云硬件,并使其成为自适应能力和响应能力都很强的云计算系统。
  混合云计算
  现在,让我们将注意力转移到混合云的特殊情况,您可以混合匹配使用跨公共云和私有云的云服务。首先,应当注意的是,大量传统企业都有某种类型的现有 IT 基础架构和系统,因此,将一切都迁移到云中是不切实际的。许多企业不能够将所有传统应用程序都迁移到云中。因此,IBM 等公司正在推广混合云模型,传统的 IT 部门可以与外部,或者甚至内部的云进行配对和集成。下面是与创建和交付混合云解决方案相关的一些基本技术。
  • 基于云的集成:这种方法可以安全地连接、集成,并支持开发人员和用户访问与合并云应用程序及现有记录式体系的数据,或传统的非云 IT 系统及数据。基于云的集成解决方案中经常使用安全连接和软件 API。
  • 云服务连接解决方案:对云和内部部署的数据及应用程序城均实现简单、快速和安全的连接。安全连接的实现通常要使用跨参与连接的所有系统的特殊软件或行业标准。举一个例子,使用 IBM Bluemix 安全连接器,将 Bluemix 云 PaaS 环境连接到 IBM Power Systems 或 IBM z Systems 上的 IBM DB2 数据。
  •  应用程序编程接口 (API):一组例程、协议和工具,用于构建软件应用程序。API 暴露所定义的资产、数据或服务,供公众消费。API 是服务和产品通过记录的接口彼此通信的一种途径。API 允许企业开放数据给外部第三方开发人员、业务合作伙伴和自己企业内部的部门。应用程序开发人员可通过 Web 浏览器、移动应用程序或设备轻松利用 API 并调用它。产品目录、电话清单、保险案例、订单状态,以及银行贷款利率就是一些通过 API 暴露的服务。API 在不断变化,包括基于业务需求的新功能,并且开发人员会被告知这些变更。一旦建立了 API,这就会成为一种产品,而不仅仅是单纯的技术功能。
  • API 管理:在安全、可扩展的环境中发布、推广和监督 API 的过程。
  •  IBM DataPower Gateway:一个 API 管理系统的例子,该系统是专门针对安全和集成构建的平台,适用于移动、云、API、Web、面向服务的架构(SOA)和企业对企业(B2B)工作负载。
  用例
  在一个受保护测试环境中使用 IaaS 进行应用开发
  应用程序团队需要访问新的硬件,以模拟生产条件进行测试,同时不影响实际生产。若在内部环境中利用传统的硬件,这会是一个非常耗时且困难的任务,难以通过高效、隔离的方式实现。
  业务目标
  通过使用私有云、公共云或混合云 IaaS 产品,企业可以大大减少或完全消除大量的资本支出,并加快新应用软件的开发。
  必要的条件和解决方案属性
  • 云硬件和平台基础架构:基础架构必须被优化,以满足每个应用程序开发人员的要求。
  • 监控和管理:云提供商应该提供工具来实时监控和管理测试环境。
  •  可扩展性:由于测试条件的变化,在资源方面,云提供商应暴露 API 或工具来扩大或收缩环境。
  •  互操作性:提供一致的、开放标准的访问和管理接口。要求使用开放标准的格式和接口来查询价格和服务质量的属性。
  可以用于创建这些环境的 IBM 产品
  • SoftLayer
  • IBM Power Development Platform
  • IBM Cloud Managed Services
  • IBM Cloud Manager with OpenStack for Power Systems
  使用 PaaS 实现持续交付
  持续交付是一种软件开发实践,允许自动化软件交付和频繁的发布,很少或完全没有人工干预。从部署到发布的过程中,软件必须通过一组验证和标准。持续交付实践的主要目标是能够实现可靠、快速和重复推送软件更新和增强给用户,具有低风险和接近零停机时间的特点。
 
  必要条件
  •  自动测试:单元测试、集成测试和系统测试应完全自动化。
  • 持续集成:一种开发实践,将所有开发人员的版本集成为一个单一版本。每次签入都通过一个自动版本来验证,以发现问题。
  •  自动部署:为了促进自动测试和持续集成,就必须有一个支持自动部署的平台,为构建和测试建立环境运行时和服务。
  •  面向服务的架构 (SOA):允许单个组件架构,并促进 SaaS 模型。以 SOA 的方式交付软件,让团队可以专注于特定领域,并提供对每个这些领域进行变更和补丁,以及修改单模块应用程序的能力。
  • 文化的改变:思维方式从人类控制和孤岛改变支持自动化和交付管道的环境。如代码分支等实践必须进行调整,以融入持续交付模型。
  IBM 产品
  •  IBM Bluemix
  •  IBM UrbanCode
  •  IBM Bluemix with Docker support
  混合云
  混合云和云集成的主要目标是促进在云中创建新的互动参与体系,以安全可靠的方式使用您的内部记录式系统。
  云集成有助于安全地集成云和内部部署的应用程序及数据,以保护您对记录式系统的投资。
  必要条件
  •  安全性:从应用程序访问的内部部署数据应该在加密的事务中完成。数据也可以被缓存在云中,同时也执行一些工作。因此,需要执行适当的加密和数据屏蔽。
  •  可靠的访问:移动和 Web 应用程序的性质要求,在合理时间内完成可靠的数据访问。
  •  订阅模型:允许基于事务或用户将服务分解到不同的访问层中。
  •  连接器:云集成服务应提供对知名来源的连接器。否则,应提供软件开发工具包(SDK),以允许创建自定义连接器。
  • 监控和管理:用户应该能够监控和管理对源的访问。
  IBM 产品
  •  Bluemix 集成服务
  •  IBM WebSphere Cast Iron
  •  IBM DataPower Gateway
  • IBM API Management
  软件即服务
  SaaS 让您可以通过按使用付费的、弹性容量的技术和业务交付模型消费在云基础架构上运行的软件。SaaS 解决方案的主要目标是加快新解决方案的采用,降低运营团队的成本,并提供对应用程序的自助服务访问。
  必要条件
  • 可靠、优化的云 IaaS 环境,结合 SaaS 软件。
  • 可用性与正常运行时间。将数据移动到云中,可能会增加复杂性和潜在的故障。应用程序需要得到保证,数据库后端将在至少 99.999%的时间内响应执行操作的请求。
  •  对使用进行计量、监控和计费的软件是提供按使用支付能力的重要组件
  •  延迟和响应时间:用户期望来自云,尤其是来自数据库的非常快速的响应。支持云的基础架构包括数据库,以及 Internet 本身,应该提供一致的响应时间。
  • 安全性:当使用公共云提供商或在公共网络上传输数据时,必须采取特别措施来确保安全。公共云提供商必须拥有记录在案和经过审计的流程,以确保数据的安全性。
  IBM 产品
  IBM 提供 100 多款 SaaS 解决方案,包括SoftLayer、Bluemix和 Bluemix DevOps 服务。
  总结
  云是关于需要或被授权使用的人所消费的 IT 服务(基础架构、平台和软件)的消费和交付。通常情况下,云计算的业务模型(按使用支付)与传统的以 IT 产品为中心的业务模型有很大区别,后者可能需要大量的前期资本支出。另外,与以前需提前采购大量 IT 容量的传统模型相比,云基础架构的性质使其适合于以更小、更高效的高度虚拟化硬件和软件单元进行销售和采购。
  云计算系统通常构建在厂商硬件和系统软件(虚拟机管理程序,等等)之上,通常使用跨越计算、存储和网络资源的云操作环境,如 OpenStack。构建好云操作环境后,可以向用户提供特定的云计算 IT 服务或解决方案,例如,来自 IBM 的 Bluemix 是 PaaS,或通过 IBM PDP 获得某 IBM POWER8 IaaS 能力,可以使用 SoftLayer 公共云将这些能力提供给一般公众。SDE 技术也可以添加到通常位于基础架构之上的云计算系统环境,并在云操作环境(例如,OpenStack)内集成,使云计算系统对于不断变化的工作负载和用例业务需求的适应能力和响应能力变得更强。您当然可以创建一个没有 SDE 的云。然而,SDE 技术可以让云的适应能力和响应能力更强。
  从很大程度上讲,云中的开发主要集中在如何创建云服务,并将它组合成针对各种各样问题的解决方案。DevOps 是一个更新、更现代的方法,与云开发息息相关,其中小团队以迭代的方式创建、交付和修改云服务,其重点是加快产品上市速度,以获得创新优势。云开发环境有一个较新的趋势,就是远离大型的单模块软件,转向构建更小的、可组合的服务(称为微服务)。微服务将大型应用程序分割成一组可组合的服务,并且这些微服务和相关的 API 可以松散地相互耦合。Docker 代表了一种新的容器技术,它经过优化,可以托管微服务,使其与云应用程序结合,有利于微服务共享,社区与复合,并实现更高水平的移植性、产品上市速度和性能。
  下表列出了云部署模型,并将它们映射到特定的 IBM 服务和产品,指出其他一些支持技术。

相关热词搜索: 云计算 企业

上一篇:混合集成,构建双速 IT 引擎

下一篇:最后一页

分享到: 收藏

专题