云计算概念
- 云计算=云+计算,即在云端实现“计算”。随着云计算的发展,云的范畴也不断被拓宽,起初云表示互联网,互联网的主要功能在于网络的接入和路由,随着网络支持计算、存储、服务等元素,云变得更加充实、具体化、复杂化。
云计算的技术范畴包括虚拟化、资源管理技术、分布式计算技术等等。 从软件工程的角度看云计算
变买为租:缓解了服务使用者的成本压力,使用者只需要使用权,不需要所有权;
- 能力弹性:对硬件的需求的弹性的,要求能够按需扩展;
- 可靠性保障:需要可靠性但自身缺少相关的技术保障;
-
平台需求
平台需求是开发者需求
变买为租:缓解成本压力,只需要使用权,不需要所有权;
- 配置管理:安装、配置开发环境过程繁琐,各种开发环境容易冲突,需要平台式一站式服务;
- 培训;
-
应用需求
更多的应用选择:个性化、需要更多提供商参与
- 更方便的应用获取渠道:应用商店、试用
-
云计算的发展历程
云计算的六个发展阶段
超级计算机——集群计算——分布式计算——网格计算——效用(公用)计算——云计算
超级计算机:单机计算性能的提升;
- 集群计算:将一组松散的计算机硬件通过软件集成、连接起来,紧密的协作完成计算工作,相比于超级电脑有较高的性价比;
- 分布式计算:把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,然后上传计算结果,将结果统一合并得出最终结果,关键概念:RPC(Remote Procedure Call);
- 网格计算:将大量异构计算机的未用资源(CPU时间和磁盘空间)作为嵌入在分布式系统基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供一个模型;网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别;
- 效用计算:提倡一种理想化的企业信息架构,让IT服务模仿公共服务的方式进行,“用多少付多少”以及“随需急用”;
- 云计算:通过网络将庞大的运算处理程序自动拆分成若干个较小的子程序,再交给多个服务器所组成的庞大系统经过搜索、运算分析后将处理结构返回给用户。
概念辨析:
- 集群计算和后续的计算模型:前者统筹“计算机硬件”,可以被视为一个计算机的整体;后者统筹“计算机”,前者的计算一般在地理上是集中的,后者的计算机在地理上也是分散的;
- 分布式计算中,一般假设只有一个resource manager,计算资源是统一调配的;但是网格计算中一般假设每个节点都有自己的resource manager。
云计算是将一台设备通过虚拟化拆分成多台虚拟机器使用;网格计算是将多台设备合并成一台设备使用。
云计算的产生动因
芯片与硬件技术:在摩尔定律下,硬件能力激增、成本大幅下降,使得独立运作的公司集中客观的硬件能力实现规模效益成为可能。
- 资源虚拟化:资源在云端,需要被统一管理;异构硬件,兼容性问题;
虚拟化技术解决了这个问题:- 开发人员只需要关注业务逻辑,而无需考虑底层资源的供给与调度;
- 硬件资源被有效地细粒度分割和管理,以服务方式提供硬件和软件资源成为可能;
- 单点崩溃不会影响全局;
- 易创建性使得使用更加方便,提高自身可靠性和可用性。
- 面向服务的架构SOA
- 开放式的数据模型
- 统一的通信标准
- 更加丰富的服务
- 更加松散耦合、灵活的IT架构
- 软件即服务SaaS
- 转变了人们使用服务的方式
- 使得终端用户熟悉服务的交互模式,改变了IT界的商业模式
- 实力雄厚的大公司负责基础设施,小企业通过创新挖掘充满潜力的市场
- 互联网技术的发展
- 网络基础设施完善
- 多种接入方式、更加广阔的覆盖、带宽和可靠性得到大幅提升
- 这使得IT新模式的稳定性、可靠性、安全性、可用性、灵活性、可管理性、自动化程度、节能环保等得到保障
Web2.0技术
云是一种服务
- 云提供了一种资源
- 云需要互联网连接
- 用户只需要关心使用,不需要关心实现
- 按需使用和付费
- 上述为云服务的共性,以云盘为例,云盘服务的一些特性包括
- 多用户共享资源
- 复杂的管理策略——资源的分配、回收、隔离
- 可靠性保障
- 云计算的基本概念
- 维基百科:云计算是一种能够将动态伸缩的虚拟化资源通过互联网以服务的方式提供给用户的计算模式。
- Google:XaaS+pay-as-you-go computing
- AS a service
- 按使用付费
- IBM:云计算是一种共享的网络交付信息服务的模式,云服务的使用者看到的只有服务本身,而不用关心相关基础设施的具体实现。
- 云计算的分类——按服务类型
- 基础设施云Infrastructure as a service
- 为用户提供底层的、接近于直接操作硬件资源的服务接口
- 用户直接通过接口获取计算和存储能力,几乎没有逻辑限制
- 仅提供计算和存储等基础功能,应用的实现需要用户自行完成
- 平台云Platform as a service
- 为用户提供应用的托管平台
- 应用的开发和部署需要遵守平台的规则和限制,如语言、编程框架、数据存储模型等
- 应用云Software as a service
- 通过个性化配置和设置应对用户个性化应用需求
- 从上至下,灵活性不断降低,配置的难度也随之降低
- 基础设施云Infrastructure as a service
- 云计算的分类——按服务方式
- 公有云:通过Internet提供公共服务
- 私有云:通过Intranet提供私有服务
- 混合云:提供Internet和Intranet提供公共和私有服务