《云计算:概念、技术与架构》一3.1 起源与影响

简介:

本节书摘来华章计算机《云计算:概念、技术与架构》一书中的第3章 ,第3.1节,(美)Thomas Erl   (英)Zaigham Mahmood 著 (巴西)Ricardo Puttini 龚奕利 贺 莲 胡 创 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.1 起源与影响

3.1.1 简要历史
“云”中计算的想法可以追溯到效用计算的起源,这个概念是计算机科学家John McCarthy在1961年公开提出的:
“如果我倡导的计算机能在未来得到使用,那么有一天,计算也可能像电话一样成为公用设施。……计算机应用(computer utility)将成为一种全新的、重要的产业的基础。”
1969年,ARPANET项目(Advanced Research Project Agency Network,APRANET,为Internet的前身)的首席科学家Leonard Kleinrock表示:
“现在,计算机网络还处于初期阶段,但是随着网络的进步和复杂化,我们将可能看到‘计算机应用’的扩展……”
从20世纪90年代中期开始,普通大众已经开始以各种形式使用基于Internet的计算机应用,比如:搜索引擎(Yahoo!、Google)、电子邮件(Hotmail、Gmail)、开放的发布平台(MySpace、Facebook、YouTube),以及其他类型的社交媒体(Twitter、LinkedIn)。虽然这些服务是以用户为中心的,但是它们普及并且验证了形成现代云计算基础的核心概念。
20世纪90年代后期,Salesforce.com率先在企业中引入远程提供服务的概念。2002年,Amazon.com启用Amazon Web服务(Amazon Web Service,AWS)平台,该平台是一套面向企业的服务,提供远程配置存储、计算资源以及业务功能。
20世纪90年代早期,在整个网络行业出现了“网络云”或“云”这一术语,但其含义与现在的略有不同。它是指异构公共或半公共网络中数据传输方式派生出的一个抽象层,虽然蜂窝网络也使用“云”这个术语,但是这些网络主要使用分组交换。此时,组网方式支持数据从一个端点(本地网络)传输到“云”(广域网),然后继续传递到特定端点。由于网络行业仍然引用“云”这个术语,所以,这是相关的,并且被认为是较早采用的奠定效能计算基础的概念。
直到2006年,“云计算”这一术语才出现在商业领域。在这个时期,Amazon推出其弹性计算云(Elastic Compute Cloud,EC2)服务,使得企业通过“租赁”计算容量和处理能力来运行其企业应用程序。同年,Google Apps也推出了基于浏览器的企业应用服务。三年后,Google应用引擎(Google App Engine)成为了另一个里程碑。

3.1.2 定义

Gartner公司在其报告中将云计算放在战略技术领域的前沿,进一步重申了云计算是整个行业的发展趋势。在这份报告中,Gartner公司将云计算正式定义为:
“……一种计算方式,能通过Internet技术将可扩展的和弹性的IT能力作为服务交付给外部用户。”
这个定义对Gartner公司2008年的原始定义做了一点修订,将原来的“大规模可扩展性”修改为“可扩展的和弹性的”。这表明了可扩展性与垂直扩展能力相关的重要性,而不仅仅与规模庞大相关。
Forrester Research公司将云计算定义为:
“……一种标准化的IT性能(服务、软件或者基础设施),以按使用付费和自助服务方式,通过Internet技术进行交付。”
该定义被业界广泛接受,它是由美国国家标准与技术研究院(NIST)制定的。早在2009年,NIST就公布了其对云计算的原始定义,随后在2011年9月,根据进一步评审和企业意见,发布了修订版定义:
“云计算是一种模型,可以实现随时随地、便捷地、按需地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用程序及服务),资源可以快速供给和释放,使管理的工作量和服务提供者的介入降低至最少。这种云模型由五个基本特征、三种服务模型和四种部署模型构成。”
本书给出了云计算更为简洁的定义:
“云计算是分布式计算的一种特殊形式,它引入效用模型来远程供给可扩展和可测量的资源。”
这个简化定义与之前云计算行业中其他组织定义的版本是一致的。NIST定义中提到的特性、服务模型与部署模型将在第4章中进一步讨论。

3.1.3 商业驱动力

在深入探究层层云技术之前,首先要理解导致行业领导者进行创造的动机。本节将要介绍若干激励现代云技术的主要商业驱动力。
后续章节中阐述了各种特性、模型与机制,它们的起源和灵感都来源于下面将要介绍的商业驱动力。这些驱动力从两端影响着云的形成和整个云计算市场,注意到这一点是很重要的。它们促使企业为了支持其自动化需求而采用云计算。同时它们也使得其他组织成为云环境和技术的提供者,创造并满足用户需求。
1..容量规划
容量规划是确定和满足一个组织未来对IT资源、产品和服务需求的过程。这里的“容量”(capacity)是指在一段给定时间内,一个IT资源能够提供的最大工作量。IT资源容量与其需求之间的差异会导致系统效率低下(过度配置)或是无法满足用户需求(配置不足)。容量规划的重点就是将这个差异最小化,以便系统获得预期的效率和性能。
容量规划策略分为如下三种类型:

  • 领先策略(Lead Strategy)——根据预期增加IT资源的容量。
  • 滞后策略(Lag Strategy)——当IT资源达到其最大容量时增加资源容量。
  • 匹配策略(Match Strategy)——当需求增加时,小幅增加IT资源容量。

由于需要估计“使用负载”的变化,因此,容量规划颇具挑战性。在不过度配置基础设施的同时,要不断平衡峰值使用需求。比如,若按照最大使用负载配置IT资源,就会出现不合理的资金投入。反之,有限的投资就会导致配置不足,导致由于使用限度降低而出现交易损失和使用受限。
2..降低成本
IT成本与业务性能之间的恰好平衡是很难保持的。IT环境的扩展总是与对其最大使用需求的评估相对应,这可以让不断增加的投资自动支持新的、扩展的业务。大部分所需资金都注入到基础设施的扩建中,这是因为,给定的自动化解决方案的使用潜力总是受限于底层基础设施的处理能力。
需要考虑的成本分为两种:获得新基础设施的成本和保有其所有权的成本。运营开销在IT预算中占了相当大一部分,往往超过了前期投资成本。
常见的与基础设施相关的运营成本有如下几种形式:

  • 为保证环境正常运行所需的技术人员。
  • 引入额外测试和部署周期的更新和补丁。
  • 电源和制冷所需的水电费和资金支出。
  • 维护和加强基础设施资源保护的安全和访问控制措施。
  • 为跟踪许可证和支持部署安排所需要的行政和财务人员。
  • 持续的内部技术基础设施所有权带来的是沉重责任,这会对企业预算造成多重影响。因此,IT部门可能成为一个主要的——有时甚至是绝对的——花钱部门,它能潜在地抑制企业的反应能力、盈利能力和总体发展。
    3..组织灵活性

企业需要有适应和进步的能力,以便成功应对由于各种因素而导致的变化。组织灵活性是组织对变化响应程度的衡量。
IT企业常常需要应对行业变化,通常采取的措施是在原来预期或计划的IT资源规模上进行扩展。比如,若预算不足,使得原来的容量规划打了折扣,那么即使预见到使用波动,不足的基础设施也可能妨碍组织对此作出响应。
在其他情况下,变化的业务需求和优先级也会要求IT资源具备更高的可用性和可靠性。比如,即使有足够的基础设施来应对预期的使用波动,也可能由于应用自身的特点降低托管服务器的性能,造成运行异常。由于在基础设施内缺乏可靠性控制,那么,对用户或用户需求的响应可能会导致业务的持续性受到威胁。
从更广泛的范围来说,采用新的或是扩展业务自动化解决方案,所需要的预付投资以及基础设施所有权成本可能会使企业望而却步。企业会勉强接受差强人意的IT基础设施质量,因而降低企业满足现实世界需求的能力。
更糟的是,企业在审查其基础设施预算后,可能决定完全不采用自动化解决方案,原因非常简单,那就是企业无法负担该预算。但是,这种无法应对的结果将使得企业无法紧跟市场需求、对抗竞争压力以及实现其战略目标。

3.1.4 技术创新

成熟技术通常是新技术创新的灵感来源,它是新技术创新衍生和建立的实际基础。本节简要介绍了对云计算产生主要影响的前期技术。
1..集群化
集群是一组互联的独立IT资源,以整体形式工作。由于集群固有的冗余和容错特性,当其可用性和可靠性提高时,系统故障率就会降低。
硬件集群的一个必备条件是,它的组件系统由基本相同的硬件和操作系统构成。这样,当一个故障组件被其他组件替代后,集群仍能达到差不多的性能水平。构成集群的组件设备通过专用的高速通信链路来保持同步。
内置冗余和故障转移是云平台的核心概念。在第8章中,集群概念将作为资源集群(Resource Cluster)机制的一部分来进一步讨论。
2.网格计算
计算网格(或“计算的网格”)为计算资源提供了一个平台,使其能组织成一个或多个逻辑池。这些逻辑池统一协调为一个高性能分布式网格,有时也称为“超级虚拟计算机”。网格计算与集群的区别在于,网格系统更加松耦合,更加分散。因此,网格计算系统可以包含异构的,且处于不同地理位置的计算资源,而集群计算系统一般不具备这种特性。
从20世纪90年代早期开始,网格计算作为计算科学的一部分,其研究工作一直持续着。网格计算项目取得的技术成就影响了云计算平台和机制的方方面面,尤其是通用特性,比如网络接入、资源池、可扩展性和可恢复性。这些特性均以各自特有的形式呈现在网格计算和云计算中。
比如,网格计算以中间件层为基础,这个中间件层是在计算资源上部署的。这些IT资源构成一个网格池,实现一系列负载分配和协调功能。中间层可以包含负载均衡逻辑、故障转移控制和自动配置管理,这些都启发了类似的——有些甚至是更复杂的——云计算技术。因此,有些观点认为云计算是早期网格计算的衍生品。
3.虚拟化
虚拟化是一个技术平台,用于创建IT资源的虚拟实例。虚拟化软件层允许物理IT资源提供自身的多个虚拟映像,这样多个用户就可以共享它们的底层处理能力。
虚拟化技术出现之前,软件只能被绑定在静态硬件环境中。而虚拟化则打断了这种软硬件之间的依赖性,因为在虚拟化环境中运行的仿真软件可以模拟对硬件的需求。
在一些云特性和云计算机制中能发现现有的虚拟化技术的影子,这些技术启发了云计算的某些核心特性。随着云计算的演化,出现了现代虚拟化技术,这些技术克服了传统虚拟化平台在性能、可靠性和可扩展性等方面的局限性。
作为当代云技术的基础,现代虚拟化技术提供了各种虚拟化类型和技术层次,具体内容将在第5章中分别进行讨论。
4.技术创新与使能技术
还有其他几个技术也很重要,它们一直都影响着现代云平台技术。这就是云使能技术(cloud-enabling technology),第5章将具体讨论其中的内容:

  • 宽带网络和Internet架构
  • 数据中心技术
  • (现代)虚拟化技术
  • Web技术
  • 多租户技术
  • 服务技术

在云计算正式出现之前,每种云使能技术都以某种形式存在着。随着云计算的演进,有些技术更加精进了,而有些技术则被重新定义了。
image

相关文章
|
3天前
|
存储 设计模式 架构师
编码之道:从技术细节到系统架构的升华
【5月更文挑战第9天】 在编程的世界里,每一行代码都承载着功能与美学的双重使命。本文将探讨如何从关注技术细节出发,逐步深化对系统架构的理解,并在实践中实现从代码编写者到系统设计师的转变。通过分析具体案例,我们将揭示那些看似平凡的技术感悟如何在复杂系统的构建中发挥关键作用,以及这一过程中对软件开发者的启示。
13 3
|
15天前
|
存储 云计算 数据安全/隐私保护
拥抱变革:我的云计算技术感悟
【4月更文挑战第27天】 在数字化的浪潮中,我经历了从怀疑到接受,再到深度依赖云计算的过程。这篇文章将分享我个人的技术感悟,探讨如何通过学习和适应云计算技术,提升工作效率,应对快速变化的市场需求。
|
2天前
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
4天前
|
存储 消息中间件 Cloud Native
AutoMQ:充分挖掘云计算技术红利,免除下云烦恼
AutoMQ 通过深度用云,以云原生的能力重构了 Apache Kafka,创造了 10 倍的成本优势。相较于Kafka,AutoMQ的共享存储架构使得在分区迁移、节点动态扩缩容、流量自动重平衡等运维方面的耗时指标得到了数百倍的优化。今天,这篇文章,主要是立足于阿里云,盘点 AutoMQ 深度使用的云原生技术,以及分别用这些技术解决什么样的实际问题。
|
4天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
8天前
|
负载均衡 API 数据库
构建高效微服务架构的五大关键技术
【5月更文挑战第4天】 随着云计算和容器化技术的成熟,微服务架构已成为软件开发的主流模式。本文将详细探讨实现高效微服务架构的五个关键技术点:服务拆分策略、API网关设计、服务发现与注册、熔断机制以及分布式事务管理。这些技术点是确保微服务系统可扩展性、灵活性及稳定性的基石,对于后端开发者而言,掌握它们至关重要。文章将提供具体的实施建议和最佳实践,帮助读者构建和维护高性能的微服务系统。
|
12天前
|
设计模式 Cloud Native 算法
拥抱变化:我的技术适应之旅构建未来:云原生架构在企业数字化转型中的关键角色
【4月更文挑战第30天】 在技术的浪潮中,我学会了不仅仅是编码,还有如何与时俱进。本文记录了我从一名初出茅庐的开发者成长为一个能够适应不断变化技术环境的工程师的心路历程。从最初的困惑与挑战到后来的接纳与创新,我意识到,技术能力的提升和心态的转变同样重要。
|
12天前
|
前端开发 JavaScript 安全
【TypeScript技术专栏】TypeScript在微前端架构中的应用
【4月更文挑战第30天】微前端架构通过拆分应用提升开发效率和降低维护成本,TypeScript作为静态类型语言,以其类型安全、代码智能提示和重构支持强化这一架构。在实践中,TypeScript定义公共接口确保跨微前端通信一致性,用于编写微前端以保证代码质量,且能无缝集成到构建流程中。在微前端架构中,TypeScript是保障正确性和可维护性的有力工具。
|
13天前
|
存储 边缘计算 弹性计算
云计算技术与服务
云计算技术与服务
85 1
|
13天前
|
Kubernetes 云计算 虚拟化
云计算开发与部署:技术与实践的深度融合
云计算开发与部署:技术与实践的深度融合
31 2