云计算是什么?云计算的价值是什么?云计算带来了哪些新的挑战?云计算的底层技术是什么?
- 书名:让云触手可及:微软云计算实践指南
- 作者:赵立威、方国伟
- 出版社:电子工业出版社
- 阅读日期:2019年9月8日~9月15日
- 耗时:8小时
云计算的前世今生
我们需要什么样的计算
计算模式的演变: 主机计算 -> CS模式 -> Web模式 -> 云计算
什么是云计算
云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备,使用服务商提供的计算机基建作计算和资源。(https://zh.w ikipedia.org/wiki/%E9%9B%B2%E7%AB%AF%E9%81%8B%E7%AE%97)
云计算是一个提供便捷的可通过网络访问的一个可定制的计算资源共享池能力的模式(计算资源包括网络、服务器、存储、应用和服务);这些资源能够快速部署,并只需要很少的管理工作或与服务供应商很少的交互。(美国国家技术和标准研究院 NIST,National Institute of Standards and Technology)
适合云计算的典型场景
- 间断性应用场景
- 快速增长应用场景
- 需求突增应用场景
为什么称为云计算? 想一想我们以前在画应用系统架构图的时候用什么图形来表示互联网或Web。没错,是云。这正是人们把这种基于互联网和Web的计算形象地称为云计算的最直接原因。
云计算的特点
- 按需服务
- 资源池
- 高可扩展性
- 弹性服务
- 自服务、自动化和虚拟化
- 便捷网络访问
- 服务可度量
云计算的SPI模型
- 软件即服务(SaaS, Software as a Service)
- 平台即服务(PaaS, Platform as a Service)
- 基础设施即服务(IaaS, Infrastructure as a Service)
SaaS特点
- 用户主要通过Web浏览器来使用互联网上的软件服务
- 多租户(Multi-tenant)
- 用户不必购买软件,只需按需租用软件或通过广告模式免费使用
典型应用:在线邮件服务、网络会议、在线杀毒、在线CRM、在线HR、在线进销存、在线项目管理等。
针对用户:应用最终用户
PaaS特点
- 提供应用服务平台的编程接口,开发人员根据平台接口进行应用程序开发
- 提供应用的托管平台,针对平台开发的应用程序一般只能部署在该平台上
典型应用:Windows Azure平台、Google App Engine等
针对用户:开发人员
IaaS特点
- 以服务的形式提供虚拟硬件资源,包括服务器、存储、网络等
- 用户对基础设施环境需要自己进行系统管理
典型应用:AWS(Amazon Web Service)的弹性计算服务(EC2)、简单存储服务(S3)
针对用户:IT管理人员
云计算的部署模型
- 公有云
- 私有云
公有云
有时也称外部云,云计算的服务对象没有特定限制。
优点:对于使用者,应用及数据都存放在公有云平台上,自己无须前期的大量投资和漫长的建设过程。
问题:用户对应用和数据的安全、隐私等存在担心,可用性不受使用者控制。
私有云
有时也称内部云,组织机构建设的专供自己使用的云平台,比较适合有众多分支机构的大型企业或政府部门。
优点:部署在企业内部网络,数据安全性、系统可用性都可由自己控制。
问题:依然有大量的前期投资,还是传统的商业模型;规模相对公有云一般来说要小得多,经济学上的规模效应无法充分发挥 本质上是机构应用云计算技术来提高自身服务效率的一种方式
混合云
是一种用户使用云计算服务的方式。指用户既使用了公有云,又使用了私有云。
发展趋势
传统数据中心 -> 虚拟化数据中心 -> 私有云 -> 公有云
云计算对IT产业的影响
-
硬件模型的改变 以前:选择大型服务器或高端小型机 现在:向采用标准化、低成本的硬件,通过软件方式横向扩展
-
应用模型的改变 以前:设计时面对传统的物理资源,非功能性需求往往采用手工配置方式实现 现在:快速构建高可用并几乎可以无限扩展的应用;用户消费服务的方式更加灵活,大量计算工作迁移到云计算平台上,终端设备计算要求相对有所下降
-
服务模型的改变 以前:销售软件许可证,用户要购买软件和采购与之配套的硬件,并需要专人运维 现在:按照用户使用量来计费,免除用户对硬件、网络安全设备和软件升级维护的支出
云计算的价值
降低成本
传统IT服务方式下,不同应用之间没有硬件共享能力,对硬件的配置要求是所有应用系统高峰值的总和。
在私有云方式下,不同应用之间可以共享一个资源池,理想状态下对硬件需求是所有应用系统累加的高峰时刻。
当不同应用之间的资源需求在时间上比较分散时,从资源利用率方面私有云的效果会更加明显。应用程序数量越多,相互之间差异的可能性越大,越能显现云计算的规模效应和共享优势。
把固定成本转变为可变的运营成本
数据中心及软硬件需要前期投资,从财务上来看属于固定资产,按照会计原则根据使用年限折旧,不能准确反映资源使用率和业务的发展情况。
采用云计算的方式,可以大大提高公司整体的固定资产投资回报率,让企业更有效的分配在战略业务和IT服务之间的投入。
云计算对不同企业的价值
价值 | 大企业 | 中小企业 | ISV |
---|---|---|---|
降低企业IT投资 | √ | ||
专注核心业务创新 | √ | √ | |
灵活性 | √ | √ | √ |
多租户 | √ | √ | |
更好的运维 | √ | √ | |
降低IT进入门槛 | √ | ||
更低的开发成本和运维成本 | √ |
提升用户体验
使用户从底层复杂的技术细节中解放了出来,可以把注意力放在相对高级、更靠近业务的工作中去。
传统方式下,用户申请计算资源需要等待几天、几周甚至是几个月;云计算能够动态分配资源,用户一般只需要几分钟甚至更短的时间就可以得到想要的资源。
还可以帮助用户高效完成工作。高效不一定指能多快的做事情,而是有多少事由于自动化不用做了。
绿色环保
相同计算能力下,云计算数据中心的能效指标(PUE,Power Usage Effectiveness)比传统数据中心能节约60%以上的电能消耗。
云生态系统
三个核心角色
使用者:各种云计算服务的最终使用者,包括个人消费者、政府、教育和企业客户。
提供者:各种云计算服务的提供商,包括SaaS、PaaS和IaaS提供商。
建设者:为提供商提供各种基础资源、解决方案和服务的供应商,如软硬件产品、信息安全、支付、网络服务等。
云计算的先锋:亚马逊AWS。 对于从事电子商务的亚马逊来说,为了保证其在线服务在圣诞节前夕的购物旺季能够正常运行,就必须配置能够满足高峰需求的软硬件设施。为了充分利用这些其他非高峰时期闲置的IT资源和已有的技术团队,开始对外提供计算和存储的租用服务,逐渐形成了一系列的AWS服务。
云计算带来的新挑战
人们往往过高地估计一个新概念在短期内的作用,然而又过低地估计它长期的影响。
- 新的IT基础设施挑战
- 新的用户隐私挑战
- 新的安全挑战
- 新的数据主权挑战
- 新的立法挑战
- 新的标准挑战
企业云计算路线图
CIO看云计算
从SOA到云计算
业务与IT实现有一个差异,而架构是沟通两者的一个桥梁。SOA的出现为IT人员与业务人员进行沟通提供了一个良好的机会和基础。
SOA引入松耦合的架构,即企业服务总线(ESB,Enterprise Service Bus),把业务集成为相互连接的、可重复的任务或服务,从而增加业务流程的灵活性。
SOA让IT部门学会从服务的角度考虑技术的应用。不用关心服务具体运行在什么平台之上,也不用关心服务实例的扩展性如何,而只需要关心服务的质量(QOS,Quality Of Service)和服务水平协议(SLA,Service Level Agreement)是否满足。
SOA关注在业务与IT的结合之上,而云计算关注在让IT作为一种服务来供应的模式,两者可以非常好的结合在一起,从不同角度为企业提供灵活性。
云计算服务的管理
- 服务的监控和测量
- 服务目录
- 配置管理数据库
如何选择云计算
私有还是公有
- IT设施的位置
- 基础设施的差异
- 商务模式
- 控制程度的不同
不同企业对云计算的策略
从IT服务水平的角度,公有云让小企业与大企业站在同一个水平线上成为了一种可能。
发展路线
私有云计算方面的投资可为企业未来部署公有云做准备,不仅仅是技术上的变化,也是流程、业务接口,甚至是文化上的变化。
云计算服务提供商的选择
- 服务的类别
- 计费情况
- 标准遵循和认证
- 安全性
- 与已有系统的集成
不适合云计算的场景
- 安全和合规性
- 硬件依赖
- 与现有应用集成
- 实时应用
- 缺乏需求
迎接云计算
- 增加虚拟化的投资和准备
- 采用标准化的和可扩展的硬件设备
- 统一虚拟和硬件环境的管理
- 优化IT服务流程
- 调整应用架构
采用云计算的五大步骤
- 制定云计算战略
- 评估和调研
- 制定云计算发展路线
- 展开试点
- 实施推广
实施云计算的五大建议
- 拥抱变化
- 马上行动
- 新的决策选择
- 从外包的角度考虑云计算服务
- 制定后备计划
云的基石:虚拟化360度
云计算与虚拟化技术
虚拟化是将一个计算机资源从另一个计算机资源当中分离的技术。
服务器虚拟化,或称计算机虚拟化,就是将操作系统和应用程序打包在一起以形成一个虚拟机,然后在运行主操作系统或Hypervisor(一个瘦软件层,提供硬件的基本接口)的物理服务器上运行。此虚拟机并不依赖物理服务器操作系统。这使得单台物理服务器可运行多个虚拟机,同时提供分离和安全防护,每个虚拟机都像在自己的硬件上运行一样。
服务器虚拟化技术
可将未充分利用的服务器工作负载整合至可充分利用的机器上,减少物理服务器的数量并因较少的硬件、用电和管理负荷而降低成本,还可建立更为动态的IT基础架构。
基本原理
根据虚拟化层(VMM,Virtual Machine Monitor)和物理硬件之间的关系处理方式,有三种常见的体系结构: Type-2 VMM:创建一个运行时环境,进程可以在此环境中执行一组指令,而无须依赖主机系统。隔离的是不同进程,允许单个应用程序在不同的OS上运行。 应用实例:Java虚拟机,即JVM。
Hybrid VMM:在主机OS上运行并帮助创建上层虚拟机,只在部分时间运行虚拟机。VMM会极大增加开销,不适合资源密集的工作负载。适用于轻量级的虚拟机,同时对物理硬件资源的调度效率没有较高要求。 应用实例:VMware Workstation。
Type-1 VMM:直接在硬件上方运行,最初由IBM于20世纪60年代针对大型机系统而设计,最近连同各种解决方案(包括Windows Hyper-V)在x86平台上提供。 Typer-1 VMM目前的两种常见实现:微内核化和整体化。 整体化管理程序方法,在单层内托管管理程序VMM,还包括大部分必需组件(例如内核、设备驱动程序和I/O堆栈)。应用实例:VMware ESX。 微内核化方法,使用非常瘦的专用管理程序,仅执行核心任务以确保分区隔离和内存管理,不包括I/O堆栈和设备驱动程序。应用实例:Hyper-V。
Hyper-V体系架构
通过分区的方式实现隔离。分区是指一组隔离的单元,被分配了物理内存空间与虚拟处理器资源,其中运行着操作系统。
父分区,运行着Windows Server,其中的虚拟化堆栈(Virtualization Stack)可以直接访问物理设备。
通过父分区,可以创建子分区并在其中运行来宾操作系统(Guest Operating System)。
子分区本身并不能访问物理处理器,它们只有虚拟的处理器同时运行在虚拟的内存地址空间,各个子分区的虚拟内存空间是相互独立的。Hypervisor层执行处理器中断。
同时,子分区对其他硬件资源也无法直接访问,它们通过虚拟设备(Virtual Device,VDev)的方式访问硬件。对虚拟设备的请求一般由运行在子分区中的虚拟服务用户端(Virtualization Service Consumer,VSC),通过VMBus或者Hypervisor层转到父分区,父分区通过其中运行的虚拟服务端程序(Virtualization Service Provider,VSP)处理。
即 VDev -> VSC <-> VMBus <-> VSP
虚拟化的管理
一旦虚拟化,或基于虚拟化技术的云计算进入实际应用阶段,几乎所有的用户都会将工作重心转至对IT环境的管理。只有真正高效灵活的管理方法与管理工具,才能切实实现虚拟化所带来的价值。
管理挑战包括:
- 如何有效管理物理机与虚拟机混合的IT环境。
- 如何管理不同的虚拟化技术。
- 针对虚拟化技术本身实现高效管理。
- 成本。管理产品与工具本身获取成本;管理工具在长期运营中其整合度、二次开发、运维人力所带来的成本。
企业动态数据中心构建
企业IT的发展
传统数据中心缺点:
- 资源利用率低。主要原因是,按照各业务最高峰使用量来配置资源。
- 资源孤岛。资源分配给各应用之后相对固化,很难调配。
- 自动化程度较低。资源配置和部署过程多采用人工方式,无相应平台支持,无自服务和自动部署能力,使大量人力资源耗费在重复性工作上。
数据中心架构演变:
集中式大型主机 -> 分散式UNIX小型服务器 -> 逻辑上集中式巨型计算机。
动态数据中心基础
思想:
- 以服务为核心。屏蔽底层IT技术的复杂性,将IT以服务形式展现给最终用户。
- 提供灵活性。工作负载可移动性;可快速部署新服务;可根据需求增加或减少使用量。
- 公共设施化。所有基层设施资源,包括网络、存储和服务器等,都设计成一个统一平台。
- 最小化人工操作。可以动态地执行运营任务,自动侦测和响应故障情况,根据负载自动扩缩容。
- 透明的费用明细。提供根据服务的实际使用量计算的计费模型。
基本架构模型:
- 资源池。经过虚拟化抽象之后的服务器、网络和存储等资源的集合。
- 物理故障域。当上级硬件设备故障时会同时出错的一个服务器集合。
- 升级域。一个会被同时升级的服务器的逻辑集合。
- 预留容量。为保证所有应用在升级域或故障域维护时能正常运行,在资源池中预留的一部分资源。
- 扩展单元。事先定义好的用来扩展数据中心的单元,包括服务器、网络设备、存储、电源和制冷设备等。
动态数据中心方案
整体架构:
- 资源层。
- 虚拟化层。
- 管理层。
- 服务层。
自服务门户:
- 账户信息管理。
- 自服务操作。
- 自服务监控。
- 服务生命周期管理。
核心功能实现
- 面向服务的接口设计。
- 虚拟化服务。
- 系统监控服务。
- 配置管理服务。
- 数据保护服务。
云中平台
Windows Azure平台
- Windows Azure:基于Windows环境的应用托管、数据存储服务。
- SQL Azure:基于SQL Server的数据库服务。
- Windows Azure Platform AppFabric:应用级别的服务平台。
Windows Azure的计算服务:
- Web Role:运行在IIS上的Web服务。
- Worker Role:托管应用代码。
- Azure API:封装了Windows Azure的管理服务。
Windows Azure的存储服务:
- Blob:大型二进制对象存储。例如图片、视频、音频文件。
- Driver:虚拟硬盘,类NTFS。
- Table:结构化存储。
- Queue:消息队列,可靠的异步消息传递。