云计算历史、业务驱动因素和术语 (Cloud Computing History, Business Drivers and Terminologies)

云计算的历史与定义 (History and Definition of Cloud Computing)

历史 (History)

        云计算的概念化始于很久以前,早在1963年。麻省理工学院从美国国防高级研究计划局获得研究资金,用于开发一种“计算机可同时被两人或更多人使用”的技术。在早期的云计算版本中,被称为原始云计算,只有两到三名用户可以使用云计算服务。目前尚不清楚谁最先发明了云计算的概念。根据许多历史学家的说法,美国计算机科学家约翰·麦卡锡(John Maccarthy)首次提出了“实用计算”(utility computing)的云计算理念。另一些人认为JCR Licklider最早发明了云计算。JCR Licklider是第一个创建ARPANET(互联网的早期版本)的人,这也是后来的云计算的基础。

        虚拟机的概念在1970年代出现,可以像真实计算机一样运行完整的操作系统。随着互联网的发展,这一概念也在演变,企业开始提供“虚拟”私有网络作为租赁服务。虚拟计算机的使用在1990年代变得流行。这促进了现代云计算的发展。1999年,Salesforce提供了更传统的商业云计算服务。2002年,亚马逊通过推出其首个零售云计算服务Elastic Compute Cloud(EC2)加入了这一行列。同年,谷歌推出了其首个云计算服务Google Docs。

        到2010年,像AWS、微软和OpenStack这样的公司已经开发出了相当功能齐全的私有云。在2011年和2012年,IBM和甲骨文分别推出了其云计算服务,称为IBM SmartCloud和Oracle Cloud。

定义 (Definition)

        根据亚马逊的定义,“云计算是通过互联网按需交付IT资源,并采用按使用付费的定价模式。与购买、拥有和维护物理数据中心和服务器不同,你可以从像亚马逊网络服务(AWS)这样的云提供商那里按需访问技术服务,如计算能力、存储和数据库。”

        根据IBM的定义,“云计算是通过互联网按需访问计算资源——应用程序、服务器(物理服务器和虚拟服务器)、数据存储、开发工具、网络功能等——这些资源由云服务提供商(CSP)在远程数据中心托管。CSP以月度订阅费或按使用量计费的方式提供这些资源。”

参考资料:

A Brief History of Cloud Computing - DATAVERSITY

What is Cloud Computing? - Cloud Computing Services, Benefits, and Types - AWS

What Is Cloud Computing? | IBM

业务驱动因素和技术 (Business Drivers and Technology)

业务驱动因素 (Business drivers)

        鉴于业务驱动因素在塑造云计算方面的重要性,我们应尝试识别个别驱动因素。以下是迄今为止影响云计算技术演变的驱动因素,未来可能还会出现其他驱动因素。

        容量规划,是将计算资源(计算机、网络、人员)与未来需求相匹配的过程。提供内部计算的组织必须确保购买足够的计算机、网络和人员以满足未来的需求。云系统通过供应商负责容量增长或减少、计算机和网络的获取和维护以及维持设备运行所需的人员而演变。

        当云计算服务的提供成本低于组织提供计算服务的成本时,会产生成本节约。多个因素使云提供商能够以比客户自己提供更低的价格提供相同的服务。技术专长、硬件和软件维护、电力和冷却费用、安全和行政支持在考虑到拥有众多客户的供应商的规模时,均可以更低的成本提供。

        组织的敏捷性,即组织快速变化的能力,也通过使用云服务得到增强。组织因多种原因而变化,如新战略、并购、政府法规变化等。减少处置或升级现有基础设施和人员的费用和难度有助于提高组织的敏捷性。需要注意的是,这里我们讨论的是基础设施的敏捷性,而不是应用程序本身,这些应用程序在组织发展时仍需更改或合并。

技术 (Technology)

        从云计算提供商的角度来看,有几项技术的发展使云系统更具可行性。

        公用计算:云服务提供商拥有、运营和管理计算和其他基础设施。订阅者/消费者在需要时按租赁或按使用量付费的模式访问这些资源。

        计算机集群:一组计算机相互连接并在紧密耦合的环境中协同工作,在许多方面看来,这些计算机就像是形成了一台单一的计算机。

        网格计算:一个由各种计算资源组成的网络,像超级计算机一样协同工作来处理和执行资源密集型应用程序。它支持异构硬件。它是一种硬件架构,将各种计算资源关联起来以实现主要目标。网格用于处理对超级计算机而言过于庞大的各种科学或技术任务,需要大量的计算能力或访问大量数据。

        云计算:共享计算资源,而不是拥有专门的本地服务器或个人设备来处理应用程序。它支持和促进动态可扩展且通常是虚拟化的资源,这些资源作为通过互联网提供的服务提供。

参考资料:

Introductory Chapter: Cloud Computing | IntechOpen

活动1 (Activity 1)

  1. “弹性”(elastic)在云计算中是什么意思?

    “弹性”在云计算中指的是根据需求自动调整计算资源的能力。当需求增加时,云系统能够快速扩展资源以满足需求;当需求减少时,系统可以缩减资源以节约成本。这种能力使得云计算可以灵活适应变化的工作负载需求。

  2. “可扩展”(scalable)在各种云计算定义中是什么意思?云计算用户的可扩展性是什么?

    “可扩展”指的是系统能够根据需求增加或减少资源的能力。在云计算中,用户的可扩展性意味着他们可以根据需要灵活地扩大或缩小计算资源。这可以通过水平扩展(增加更多的服务器或节点)或垂直扩展(增加单个服务器的资源,如CPU或内存)来实现。

术语 (Terminologies)

        像大多数技术领域一样,云计算有许多术语和概念需要熟悉。在本节中,我们将介绍一些基本的云术语和概念。随着我们在未来的话题中深入研究云计算细节,你需要了解更多内容。

  • 云(Cloud):一个全球计算网络的隐喻,由运行应用程序、存储数据和提供内容和服务的远程服务器组成。云使数据能够从联网设备在线访问,而不仅仅是从本地计算机访问。
  • 云计算(Cloud computing):一种计算资源的交付模式,其中各种服务器、应用程序、数据和其他资源被集成并通过互联网提供。资源通常是虚拟化的,用户通常只为所使用的服务付费。
  • 云消费者(Cloud consumers):云提供商的客户。云提供商管理云IT资源,而云消费者管理本地IT资源。
  • 云服务提供商(Cloud service provider):一家提供基于云的平台、基础设施、应用程序或存储服务的公司,通常需要支付费用。
  • 扩展(Scaling):根据云消费者的需求处理增加或减少的资源能力。通常提到两种扩展类型:
    • 水平扩展(Horizontal scaling):扩展和收缩。水平扩展(扩展)涉及增加更多数据库或使用称为分片的数据分区方法将大型数据库划分为更小的节点。
    • 垂直扩展(Vertical scaling):向上扩展和向下扩展。垂直扩展(向上扩展)允许根据需要增加或减少计算能力或数据库。
  • 云服务(Cloud service):一种专门设计用于允许从云外部访问的API。服务可以提供任何类型的资源,包括计算资源、软件、平台、数据库等。
  • 服务级别协议(SLA):云提供商与云消费者之间关于提供服务的协议。通常是人类级别的协议,规定了服务属性、行为和限制的合同。
  • 虚拟化(Virtualization):创建计算环境的虚拟版本的行为,包括计算机硬件、操作系统和存储设备。组织使用虚拟化将单台物理计算机变为多台共享主机资源的虚拟机。

参考资料:

https://azure.microsoft.com/en-ca/resources/cloud-computing-dictionary/

活动2 (Activity 2)

  1. 云应用和互联网有什么区别?

    云应用是通过互联网访问的应用程序,运行在云基础设施上,而不是本地计算机或专用服务器上。互联网则是一个全球性的网络基础设施,连接各种设备和系统,提供数据交换和通信的平台。简单来说,云应用是互联网的一种具体应用形式,利用互联网来提供服务。

  2. 在上述云计算图中显示了哪些IT资源在云内,哪些在云外?

    云内的IT资源通常包括虚拟机、存储、数据库、网络设备和应用程序等。这些资源由云服务提供商管理和维护。云外的IT资源包括用户的本地设备(如个人电脑、移动设备)和本地网络设施,这些资源由云消费者管理。

  3. 水平扩展和垂直扩展有什么区别?每种扩展的限制是什么?

    • 水平扩展(Horizontal scaling): 增加更多的服务器或节点,以处理更多的工作负载。例如,将一个大型数据库拆分成多个较小的数据库(分片)。这种方法的限制在于可能需要更多的协调和管理,复杂度增加。

    • 垂直扩展(Vertical scaling): 增加单个服务器的资源,如CPU、内存等,以提高其处理能力。其限制在于物理硬件的最大容量,一旦达到上限,就无法再进一步扩展。

  4. 为什么云提供商会通过API提供对数据库IT资源的访问,而不是直接提供访问?(考虑几个原因)

    • 安全性: API可以设置访问权限和控制,以确保只有授权的用户和应用程序才能访问数据。
    • 管理和监控: 通过API访问可以更容易地监控和管理数据库使用情况,进行日志记录和审计。
    • 抽象层次: API提供了一层抽象,使用户无需了解底层数据库的具体实现细节,简化了使用。
    • 可扩展性和弹性: 通过API访问,可以更灵活地处理资源分配和负载均衡,确保系统的可扩展性和弹性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链钱包如果丢失了私钥或助记词,资产还能恢复吗?

如果你丢失了区块链钱包的私钥或助记词(通常是用于恢复钱包的短语或种子),那么你的资产在大多数情况下是无法恢复的。私钥是访问和控制你在区块链上资产的唯一凭证,而助记词(如BIP39标准中的12、18、24个单词的短语&am…

centos常见命令总结

一、【写在前面】 注意到csdn在鼓励作者创作centos常见命令相关的文章,借此机会水一篇博文。 centos作为上个版本国内最常用的开源操作系统,占有量非常恐怖,排个前三应该没有任何疑问。但是我建议直接去学ubuntu,因为主流在用的…

【系统架构师】-案例篇(十五)SOA、微服务与数据库

1、可复用构件应具备哪些属性 可用性:构件必须易于理解和使用。 质量:构件及其变形必须能正确工作。 适应性:构件应该易于通过参数化等方式在不同语境中进行配置。 可移植性:构件应能在不同的硬件运行平台和软件环境中工作。 可变…

Spring Boot实现RabbitMQ监听消息的几种方式

Spring Boot实现RabbitMQ监听消息的几种方式 在现代的分布式系统中,消息队列扮演着至关重要的角色,用于解耦服务之间的通信,实现异步消息传递。而RabbitMQ作为其中一种常用的消息队列服务,在Spring Boot中得到了广泛的应用。本文…

pip(包管理器) for Python

pip是什么 pip是Python的包安装程序,即python包管理器。您可以使用 pip 从Python包索引和其他索引安装包。 1. pip 安装 python 包 pip install 包名 例如:pip install pymssql : 使用pip安装数据库驱动包 pymssql 2.pip 卸载 python 包 pi…

【Axure教程】拖动换位选择器

拖动换位选择器通常用于从一个列表中选择项目并将其移动到另一个列表中。用户可以通过拖动选项来实现选择和移动。这种交互方式在许多Web应用程序中很常见,特别是在需要对项目分组的情况下。 所以今天作者就教大家怎么在Axure用中继器制作一个拖动换位选择器的原型…

告别硬编码:Spring条件注解优雅应对多类场景

一、背景 在当今的软件开发中,服务接口通常需要对应多个实现类,以满足不同的需求和场景。举例来说,假设我们是一家2B公司,公司的产品具备对象存储服务的能力。然而,在不同的合作机构部署时,发现每家公司底…

RedisTemplateAPI:List

文章目录 ⛄介绍⛄List的常见命令有⛄RedisTemplate API❄️❄️添加缓存❄️❄️将List放入缓存❄️❄️设置过期时间(单独设置)❄️❄️获取List缓存全部内容(起始索引,结束索引)❄️❄️从左或从右弹出一个元素❄️❄️根据索引查询元素❄…

探索 Rust 语言的精髓:深入 Rust 标准库

探索 Rust 语言的精髓:深入 Rust 标准库 Rust,这门现代编程语言以其内存安全、并发性和性能优势而闻名。它不仅在系统编程领域展现出强大的能力,也越来越多地被应用于WebAssembly、嵌入式系统、分布式服务等众多领域。Rust 的成功&#xff0…

Day25:Leetcode:669. 修剪二叉搜索树 + 108.将有序数组转换为二叉搜索树 + 538.把二叉搜索树转换为累加树

LeetCode&#xff1a;669. 修剪二叉搜索树 问题描述 解决方案&#xff1a; 1.思路 2.代码实现 class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {if (root null) {return null;}if (root.val < low) {return trimBST(root.right, low, hi…

Nginx文件解析漏洞复现:CVE-2013-4547

漏洞原理 CVE-2013-4547漏洞是由于非法字符空格和截止符导致Nginx在解析URL时的有限状态机混乱&#xff0c;导致攻击者可以通过一个非编码空格绕过后缀名限制。假设服务器中存在文件1. jpg&#xff0c;则可以通过改包访问让服务器认为访问的为PHP文件。 漏洞复现 开启靶场 …

Energia单片机实验-饮水机模拟

一、要求分析 利用状态机程序思想&#xff0c;使用MSP-EXP430F5529 Launchpad板卡实现以下模拟饮水机的功能。 饮水机是我们生活中常见的家用设备。假设一个简易的饮水机有两个按键&#xff1a;童锁按键[PUSH1]和热水按键[PUSH2]。 按键功能说明&#xff1a; 1.童锁按键&#x…

联盟 | 歌者 AIPPT X HelpLook携手,开启企业高效办公新时代

面对日益增长的工作负荷和追求效率优化的压力&#xff0c;企业知识的积累与传播显得愈发重要。如何系统化地沉淀员工与企业的知识精华&#xff1f;如何快速分享内外部知识&#xff1f;更重要的是&#xff0c;如何在获取这些知识后&#xff0c;迅速将其转化为精美的PPT&#xff…

USB-HID 键盘描述符简介

USB-HID 键盘描述符简介 USB-HID键盘设备描述符&#xff1a; #define DEVICE_DESCRIPTOR_SIZE 0x12 #define USB_CTRL_TEST_SZIE 8 #define CONFIG_DESCRIPTOR_SIZE_DUSB 0x0029 //0x0022//0x0029 #define HID_REPORT_DESCRIPTOR_SIZE_DUSB 0x004…

人类交互3 皮肤感觉与运动系统

皮肤感觉概述 皮肤是人体最大的器官之一&#xff0c;具有多种感觉功能&#xff0c;包括&#xff1a; 触觉&#xff1a;通过触觉&#xff0c;我们能感知物体的形状、质地&#xff0c;帮助我们与外界环境进行互动和感知周围物体的特征。 热觉&#xff1a;热觉使我们能感知周围环…

ridge lightgbm catboost

本文从理论基础、代码实践、内容总结三个方面来展示预测的三大基础模型与手动调参自动调参内容细节。 一、理论基础 ridgeRegression 图片: https://uploader.shimo.im/f/uX43BitluzbQeqht.jpg!thumbnail?accessTokeneyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1Q…

哪款电脑桌面日历记事本软件好用?推荐优秀的电脑日历记事本

对于众多上班族而言&#xff0c;每天在电脑前忙碌已成为生活常态。若想提升工作效率&#xff0c;简化繁琐的工作流程&#xff0c;选择一款出色的电脑桌面日历与记事本软件就显得至关重要。 然而&#xff0c;在Windows操作系统上设定提醒显得相当繁琐&#xff0c;而系统自带的记…

机器学习之注意力机制

概念 注意力机制(Attention Mechanism)是机器学习,特别是深度学习中一种重要的技术,最初被用于自然语言处理(NLP)任务,如机器翻译。它的核心思想是,让模型在处理输入数据时,能够“关注”到数据中的重要部分,而不是一视同仁地处理所有部分。这种机制极大地提高了模型…

Python贪心算法

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种常见的算法设计策略&#xff0c;它在每一步选择当前最优解&#xff0c;希望通过局部最优解最终得到全局最优解。贪心算法通常适用于满足一些特定条件的问题&#xff0c;例如货币找零、活动选择、任务调度等。贪心算法的…

Discourse 中可能使用的 HMAC 算法 Java 实现

在 DiscourseConnect 中&#xff0c;对数据的签名使用的是 HMAC 算法。 实际使用的算法为 HmacSHA256。 Java 生成签名的方法很简单。 String hmac new HmacUtils(HmacAlgorithms.HMAC_SHA_256, "55619458534897682511405307018226").hmacHex(ssoPayload);HmacUti…