云计算代表了 IT 资源的创建,交付和使用方式的巨大转变。云计算技术也是全球 IT 领域增长和创新的核心基础推动力。但是,云计算解决方案领域可能让人难以理解,该领域拥有大量可能并不总是让人一目了然的新术语和技术。虽然您可能已经在使用互联网和云计算来处理移动电子邮件等任务, 但是我们认为进一步深入探讨云计算将是有益的。
例如,本文将探索一系列云技术:基础架构即服务 (IaaS)、平台即服务 (PaaS)、软件即服务 (SaaS)、私有云、混合云、IBM® Cloud™、SoftLayer®、SoftLayer 中的 IBM Power Systems™、OpenStack、软件定义的环境 (SDE)、Docker、应用编程接口 (API)、Cloud Foundry、DevOps、混合云,以及 IBM Power Development Platform (PDP)。它们都是什么?如何结合使用所有这些技术?可以在何处和如何获得它们?如何使用它们?
我们知道您有许多疑问 — 但不用担心,您来对地方了!我们承认,我们向市场中推出了许多围绕云计算的新技术。本文将介绍这些主题,阐明它们的概念,并提供一些常见用例来演示如何结合使用它们。我们首先将介绍一些重要的基本概念,然后更深入剖析一些新领域。因为我们在为 IBM 效力,所以我们主要关注围绕云计算解决方案的 IBM 示例,因为这是我们擅长的特定领域。
云计算通常称为云,指的是基于按使用付费的规则,通过互联网按需提供计算资源 — 从应用程序到数据,再到硬件、软件,甚至数据中心在内的一切资源。此外,云计算还可能包含快速动态提供和撤销 IT 资源的能力、一种自助式 IT 方法(而不是让用户通过 IT 部门访问 IT 资源),以及对业务效率的实现(通过广泛共享资源并按非常精细的增量方式提供这些资源)。
云计算用户可以基于即用即付规则,利用来自各种不同供应商的 IaaS、PaaS 和 SaaS,所有这些资源都能快速地、远程地进行访问。开发人员、测试人员和运营人员可以使用云的 PaaS 功能,非常快地创建并交付新的云应用程序和服务。可以在各种各样的云平台上实现特定于企业或行业的 SaaS 解决方案。此外,用户可以选择使用私有云模型还是公有云模型,甚至可以通过使用混合云来混搭两种模型。
图 1 表示一种完整的云计算参考架构(在本例中是 IBM 云计算参考架构)。从方框的下部可以看到,要构建一个云,首先需要配备硬件(服务器、存储、网络和相关设备)。接下来,添加云软件(例如 OpenStack)来帮助创建和交付一些基本的云功能(比如 IaaS),并创建和交付针对云的运营和业务支持服务。然后,添加一个 PaaS 解决方案,比如 IBM Cloud 。最后,可以添加或交付 SaaS 应用程序,结合使用它们来创建业务流程,并将其作为服务提供。安全性、性能、扩展、灾备能力和治理也是云解决方案的关键元素。
图 1 的左侧显示了云用户(例如最终用户)的视图。右侧显示了云内容、应用程序和云服务制作者的视图。
包括 IBM 在内的许多公司实现私有云解决方案的典型方式通常是,构建裸机或虚拟化云基础架构的组合,然后添加基于受限访问规则来使用 PaaS 或 SaaS 模型向用户提供云软件的功能。值得注意的是,私有云解决方案可以在多种类型的硬件基础架构(x86、IBM Power®、IBM Systems z®、IBM Storage 等)上运行,而且通常支持多种管理程序(KVM、IBM PowerVM®、IBM PowerVC、IBM z®/VM、VMware、Microsoft Hyper-V、Citrix Xen),以便充分利用通过虚拟化和整合所获得的业务效率。IBM 本身就是采用许多私有云解决方案的公司之一。私有云实质上仅适合于一组特定用户访问,而且可能需要遵守法律和治理限制,还有可能不会向一般大众开放。PayPal 使用的 基于 OpenStack 的私有云技术 是第二个例子。
IBM Power Development Cloud (PDP) 是一个公有云平台。PDP 以前称为 Virtual Loaner Program (VLP),可以帮助满足许多(但不是所有)典型 IBM 业务合作伙伴 ® 对以非常低的成本远程访问 IBM Power Systems 硬件和中间件的需求。IBM PDP Cloud 非常受欢迎,因为它使用户(例如 ISV 或其他业务合作伙伴)能快速高效地在 IBM Power 硬件和 IBM 软件上访问并开发解决方案,而且成本极低,甚至是免费,这些使得业务合作伙伴能专心创建自己的下一代创新解决方案。
SoftLayer(于 2013 年 7 月被 IBM 收购)同时提供了公有云和私有云平台。SoftLayer 在全球越来越多的数据中心和网络点提供云 IaaS。SoftLayer 客户既有小型 Web 初创公司,也有全球企业。产品和服务包括裸机和虚拟服务器、网络、直接可用的大数据解决方案、私有云解决方案等。SoftLayer 的独特优势包括:业界第一个嵌套网络拓扑结构实现了真正的带外访问;易用的客户门户和可靠的 API 实现了对所有产品和服务管理选项的完全远程访问。
IBM Cloud Managed Services™ 是一个完全托管、高度安全的 IaaS 云,而且针对关键企业工作负载进行了优化。它提供了独一无二的实例级虚拟机 (VM) 正常运行时间 SLA 高达 99.95%,以及私有云的许多优势(比如针对专用服务器和存储的选项,同时还提供了灵活的扩展能力和云的经济效益)。可以通过 IBM Cloud Managed Services 访问在 IBM Power Systems 环境中运行的 IBM AIX®。
可以在 IBM Cloud Computing 或 OpenStack 上找到其他许多云客户用例示例。
开发和运营 (DevOps) 是一种软件开发方法,注重软件开发人员、客户和其他信息技术 (IT) 专业人员之间的紧密合作,同时快速创建和交付新的云服务。DevOps 经过了优化,可以帮助解决软件开发、客户需求与实际的云 IT 运营和运行时平台之间的相互依赖性。通过与分析结合,DevOps 与分析相结合,能轻松地支持下一代云服务的创建和持续交付。云 PaaS 环境(比如 IBM Cloud)通常针对快速应用程序开发进行了优化,它们提供的服务类型使它们与众不同,而且还能轻松加入到完整的 DevOps 环境中。
云服务是专为在云运行时环境中运行而编写的云原生应用程序(例如,一个专为支持在 OpenStack 环境中执行而编写的新的云分析应用程序)。云服务通常是使用也支持 DevOps 的云 PaaS 环境来编写和部署的。理想情况下,云服务可部署在多个满足特定需求(例如性能、规模等)的云环境中。云服务也可由其他更加新的、不同的云服务在其他环境中重用。 云服务通常存储在云提供商的服务目录中,与云运营和业务支持层的需求一致且相互作用。
整体式应用程序也可以重新设计为在云平台上运行。为此,通常会根据在虚拟机中运行的整体式软件来创建一个云虚拟设备,并包含一些特定的(云启用应用程序时会用到的)脚本和预先打包操作。
Cloud Foundry 是一个开源的云计算 PaaS 解决方案,最初由 VMware 开发,现在归 Pivotal Software(VMware 的子公司)所有。
IBM Cloud 是一款基于 Cloud Foundry 开源项目的 PaaS 产品。它支持多种编程语言和服务,还支持集成式 DevOps,以便在云上构建、运行、部署和管理应用程序。IBM Cloud 在 SoftLayer 基础架构上运行。
IBM UrbanCode 编排并自动化应用程序、中间件配置、数据库更改在开发、测试和生产环境中的部署。它旨在促进敏捷开发中的快速反馈和持续交付,同时提供生产中所需的审计跟踪、版本控制和审批功能。
Docker 是一个供开发人员和系统管理员构建、发布和运行分布式云应用程序的开放平台,这些应用程序通常称为云服务。Docker 应用程序在 Docker 提供的运行时引擎(也称为 Docker 容器)内运行。Docker 生态系统包括一个 Docker 容器引擎、一个便携的轻量级运行时和打包工具,以及一个 Docker Hub(这是一个用于共享应用程序和自动化工作流的云服务)。Docker 在 x86、IBM Power、IBM z Systems™ 和 ARM 平台上都受到支持。
OpenStack 是一个开源的云操作系统,控制了一些大型的计算、存储和网络资源,所有资源都通过一个仪表板进行管理,该仪表板为管理员提供了控制权,同时使用户能够通过 Web 界面配备资源。OpenStack IT 资源是通过 API 提供给开发人员的。OpenStack 可用于管理一个数据中心或跨多个数据中心(地区)的 IT 资源。
软件定义的环境 (SDE) 是一种 IT 基础架构(同时包含硬件和系统软件),支持针对不断变化的工作负载来调整计算、网络和存储资源。许多云工作负载或用例的行为模式可能都是高度动态的。随着时间的推移,云工作负载 IT 资源的使用需求可能发生巨大变化。也可以使用 SDE 技术帮助创建底层云硬件,使其成为高度自适应的响应式云计算系统。
现在,让我们将注意力放在混合云的特殊情况上,在混合云中,您可以混搭使用公有云和私有云中的云服务。首先应该注意到的是,大量传统企业具有某种类型的现有 IT 基础架构和系统,这使得将所有资源都迁移到云变得不切实际。许多企业无法将所有旧式应用程序都迁移到云。所以,IBM 和其他公司正在改进混合云模型,使传统 IT 能够与外部甚至内部云配对和集成。以下是一些与创建并交付混合云解决方案有关的基本技术。
应用程序团队需要访问新硬件,以模拟用于测试的生产条件,同时不影响实际生产。在企业传统的内部硬件环境中,这是一个非常耗时且很难以高效、隔离的方式完成的任务。
通过使用私有、公有或混合云 IaaS 产品,公司可以显著减少或完全消除大额资本开支,加速新应用程序软件的开发。
持续交付是一种软件开发实践,它支持自动交付软件和频繁的发布,只需很少或者完全不需要人工干预。从部署管道到发布的过程中,软件必须通过一组验证和条件。持续交付实践的主要目标是,实现以低风险和接近零的宕机时间,可靠、快速且反复地向用户推送软件更新和增强的能力。
混合云和云集成的主要目标是,促进以安全可靠的方式,使用企业内部的记录系统在云中创建新的互动参与系统。
云集成通过安全地集成云和企业内部的应用程序及数据,帮助保护您对记录系统的投资。
SaaS 使您能通过一种按使用付费、弹性的容量技术和业务交付模型来使用在云基础架构上运行的软件。SaaS 解决方案的主要目标是加快新解决方案的采用速度,降低运营团队的成本并提供对应用程序的自助访问。
IBM 提供了 100 多个 SaaS 解决方案,以及 SoftLayer 、 IBM Cloud 和 IBM Cloud Continuous Delivery 。
云的最终目的是使用并交付 IT 服务(基础架构、平台和软件),供需要使用它们或授权使用它们的用户进行使用。通常,云计算业务模型(即用即付)与传统的以 IT 产品为中心的业务模型完全不同,传统模型可能需要大量前期资本开支。另外,与以前的提前购买大量 IT 容量的传统模型相比,云基础架构的性质使其适合以更小、更高效、高度虚拟化的软硬件单元形式进行销售和采购。
云计算系统通常是基于供应商硬件和系统软件(管理程序等)来构建的,经常使用涵盖计算、存储和网络资源的云操作环境,比如 OpenStack。构建云操作环境后,可以将特定的云 IT 服务或解决方案提供给用户,例如通过来自 IBM 的 IBM Cloud 提供了 PaaS,或者通过 IBM PDP 获取一些 IBM POWER8™ IaaS 容量,并使用 SoftLayer 公有云提供给一般大众。也可以将 SDE 技术添加到云计算系统环境中(通常添加到基础架构上),并将它们集成到云操作环境(例如 OpenStack)中,使云计算系统更能适应和响应不断变化的工作负载和用例业务需求。当然,不使用 SDE 也能创建云。但是,SDE 技术能实现更加自适应和响应式的云。
云中的开发主要集中在如何创建云服务,然后将其组合成大量问题的解决方案。DevOps 是一种与云开发紧密联系在一起的、更加新的、更现代的方法,通过 DevOps,小型团队能够以迭代方式创建、交付并修改云服务,专注于上市速度,从而获得创新优势。云开发环境中的一种较新的趋势是,从创建大型、整体式软件向创建更小的、可组合的服务(称为微服务)发展。微服务将大型应用程序拆分为一些可组合的小型服务,然后,这些微服务和相关的 API 可以相互松散耦合在一起。Docker 代表着一种较新的容器技术,它经过了优化,能够托管微服务,并将其组合到云应用程序中,促进微服务共享、团队精神和创作,实现更高的便携水平、上市速度和性能。
表 1 列出了云部署模型、这些模型与特定 IBM 产品的对应关系,还注解了一些额外的支持技术。
云部署模型 | 服务 / 产品 | 支持技术 |
---|---|---|
IaaS | SoftLayer、IBM PDP、IBM Cloud Managed Services | POWER8、z Systems、Storage、OpenStack、KVM、PowerVC、PowerVM、z/VM |
PaaS | IBM Cloud、IBM UrbanCode、IBM Rational Test Workbench | Cloud Foundry、Docker、OpenStack Hot/Heat |
SaaS | 100 多款产品的 IBM SaaS 云产品组合 | 云应用程序 – 中间件和数据库中特定于企业或行业的多租户技术 |
来源: http://www.ibm.com/developerworks/cn/cloud/library/cl-cloud-technology-basics/index.html