`
deepnighttwo
  • 浏览: 52132 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

云与云计算科普,高手请绕道

阅读更多

云计算?

云计算现在算是比较火的一个名词了。从最开始的怀疑,质疑,到普遍的应用,再到现在各大软件公司都开发自己的云,云计算这个方向在企业应用里,就如同SOA一样,已经开始飞入寻常百姓家了。


云计算其实乍听之下确实有点忽悠。主要还是因为现在还没有一个标准。但是云计算要解决的核心问题就是资源。让应用可以按需获取资源,可以灵活的增加 减少应用的资源(Scale Up/Down),而不需要惊动应用本身;把应用放在一起,让资源得到更高的利用。因为云计算服务提供商一般都有自己的数据中心,所以云计算的一个基础优 势就是可以享受云服务提供商打造的数据中心服务,比如,冗余设计,双线服务,专业高质量的主机维护等等。以下说到的三种云模式,都有这种优势。


(PS:这里插一句,云计算主要还是为企业应用提供服务的,不是面向个人桌面应用的,面对个人桌面应用的应该是虚拟桌面,这个已经是很成熟的系统了)


云计算的三种方式

现在主流的云模式分为三种。分别按照形式叫做SaaS,PaaS和IaaS。


SaaS既Software as a Service,这个其实是最忽悠的,随便一个站点也可以号称自己是SaaS的,比如一个blog,为每个注册的用户提供服务(Service),你可以 多花钱,增加上传附件的空间,或者开通别的附加服务,比如视频音频服务等等等等,这就勉强可以说是SaaS了。SaaS最出名的就是Saleforce。 其实Saleforce的SaaS确实算云,它提供可靠的,可伸缩的服务,有自己的基础设施,并不是一个简单的web site。而且saleforce已经推出了自己PaaS的平台(PaaS见下面的叙述),让用户可以有二次开发的灵活性。但是对于终端用户来看,SaaS跟一个普通的website没啥不一样。所以很多厂家就开始跟风云概念,啥都是云。就好象纳米技术一样。 SaaS是云概念开始提出来的时候,普及的云的概念。以至于很多时候再提起云,给人的感觉就是在忽悠。


SaaS模式下,依靠服务提供商的服务器集群,可以为用户提供可伸缩的资源。用户不用维护服务器,不用操心数据库的备份,不用网络的状态,不用操心 机房是不是停电了,是不是漏水了,只需要花钱买服务就行了。但是限制也是非常明显的,用户只能使用服务商提供的服务而已。比如saleforce的用户, 也只能在saleforce的云上使用saleforce的服务。


第二种是PaaS既Platform as a Service。比较著名的就是Google App Engine。它提供一个平台,让用户可以把自己的应用部署到这个平台上。目前支持Python和Java。乍听之下,好像跟一个应用服务器上部署多个应 用似的。。。没错,初看起来就是这么回事儿。。。但是GAE完全不是这么回事儿,它提供的其实是一个虚拟的,可伸缩的应用环境。首先,GAE提供了自己的 SDK,应用程序无法操作一些底层资源,比如文件(没错,不能完全操作文件,因为在PaaS云中的应用没有文件的概念,很多时候就是一个只读的包,比如 Java应用可能就是一个war包)。通过这个SDK,用户可以创建自己的web程序,也就是写jsp,servlet等等。同时,GAE还提供了 NoSQL存储服务作为数据存储(不能把数据存文件上,文件只能读不能写的)。除了这两大资源之外,GAE还提供了受限的Socket支持,可以抓取 URL内容,但是不能直接建立Socket连接。在这些GAE提供的资源之上,用户可以开发部署自己的应用程序。


PaaS模式比SaaS提供的资源更底层,所以也灵活的多。用户可使用PaaS提供的应用服务器、存储、网络等基础服务,开发自己的服务。PaaS 随着发展也开始提供更丰富、更灵活,等强大的服务,为上层的应用提供更多的支持。作为PaaS的用户,坏处当然是受到一些限制,比如不能直接操控底层资 源。但是好处是可以按照自己的需求购买需要的资源,不需要花不必要的钱。而且在业务发展到需要更多资源的时候,可以花钱购买,而应用本身不需要下线,用户 自己也不需要维护。


第三种是IaaS既Infrastructure as a Service。比较著名的就是Amazon EC2。它提供的是一个完整的虚拟机环境,CPU,内存,硬盘,网络等等都是虚拟的,可以动态伸缩。用户可以在虚拟机中安装Linux或者Windows 服务器,安装需要的软件,提供自己的应用服务。相比PaaS,IaaS更为高级和底层,适应更高级的用户需求。一般来说,提供IaaS的云服务提供商,也 会相应的提供一些别的服务,比如数据库存储服务等。Amazon提供了Amazon RSD (Amazon Relational Database Service)。


从上面的介绍可以看出,灵活性越大,云服务用户需要关心的底层细节就越多。而灵活性越小,用户需要关心的底层细节越少。


PS:还有一些服务提供商,从不同的出发点搞出了不同的名字,比如CaaS,C代表computing,计算。StaaS,St代表storage。出发点不一样,命名也不一样。

云计算的技术基础

走在前面的云服务提供商已经支撑了很多耳熟能详的应用了,比如dropbox就是使用的Amazon EC2。虽然标准还不清晰,但是云计算已经是成熟可商用的技术,而不仅仅是一个概念或者试验阶段的技术。云服务的基础设施是大型数据中心,在此基础之上, 云的基础是早已成熟的虚拟化技术,在虚拟化的基础上,提供一套操作,管理和监控的系统。


比如一个服务提供商有100台物理机器,100m上行带宽和100m下行带宽。如果租物理机器出去,租给100个用户,每人1m上下行的带宽。这样 的问题是资源无法得到充分合理的利用。用户A可能在1点钟的时候CPU撑满,导致应用服务速度缓慢;而此时用户B可能CPU根本就是闲置的。两点钟的时候 AB两个用户情况可能正好反过来。如果A和B都购买新的物理机来应对峰值情况,那么在非峰值的情况下,资源则极大的浪费了。很明显,资源无法以物理机为单 位进行合理的配置。


应用虚拟技术,可以在物理机和应用之间增加一层虚拟层。用户直接操作的资源都是虚拟的。用户购买的资源也是虚拟的。再配合相应的管理层实现资源的查找、分配、管理和监控,就可以算是个云了。


以上面的usecase 为例。用户A只需要购买足够的CPU时间,在1点钟峰值来的时候,云会分配足够的CPU资源给A用户的应用。至于这些CPU物理上在哪个机器里,用户根本 无需操心。用户A只需要为自己的应用所使用的CPU时间(也可能是虚拟CPU个数)付钱就可以了。这就做到了资源的合理分配,可以充分利用资源。


对于带宽则更明显,用户无需购买带宽,而只需要购买流量。云服务提供商会使用自己已有的宽带来满足用户的需求。可能在某个时刻,用户享受的是50m 的上下行速度,但是付出的钱却只和流量相关。资源在云用户之间是共享的,按需分配的。而用户购买的,也是虚拟的资源而非物理的资源。


依靠云技术,虽然还是100台机器,100m上下行带宽,但是可以服务的用户数有可能多于100个,而且每个用户的需求都可以得到更好的满足。当然,如果用户继续增长,云服务提供商可以购买更多的主机和更大的上下行带宽为用户服务。这篇文章就扯到这里。如果对云丝毫没有概念,可能有所帮助。


共有云 私有云

云的概念除了出现频率很高的SaaS,PaaS和IaaS之外,还有两个概念也经常冒出来,就是私有云和共有云(private cloud, public cloud)。这两个概念是从另一个侧面描述云的用途。


所谓私有云,就是企业内部使用的,不对外部开放的云系统。


私有云是企业自身为了利用云的各种优势而开发的云系统。一个大的企业,集群肯定是必不可少的。而一个新的系统or功能想上线,就不得不面临申请资 源,安装软件,配置环境等一系列的问题。如果可以让资源分配这一块流程化自动化,无疑可以大大提高工作效率,而且可以减少人为操作造成的错误。比如说,一 个功能如果需要10台8CoreCPU,100G内存的机器,安装Linux XX版,Oracle XXg,并且五台在A数据中心,五台在B数据中心。如果要认为操作,会非常麻烦,而且不一定就有现成的机器,如果需要购置机器,那就更费事了。同时,企业 为了应用系统的安全,隔离,维护和升级的考虑,一般不会在一台物理机器上运行两个不一样的系统,这时候一台配置很高的机器可能大多数时间并没有被跑在上面 的应用充分利用。这也是一种很大的资源浪费。


如果使用云系统来管理集群,把资源的分配,配置和管理都流程化标准化,上面提到的问题都会迎刃而解了。企业的私有云可以是PaaS,也可以是 IaaS,这个需要根据企业自身业务需求确定。如果一个公司的业务就是跑war包,每个系统都是独立的war包跑在应用服务器上,那做成PaaS很合适。 每个系统上线的时候,只要配置好自己需要的资源(CPU,数据库,存储,带宽,数据中心位置等等)就可以扔给云了。企业的私有云是为企业量身打造,肯定会 更加方便适用于企业自身的业务。


私有云因为是为了企业自身服务的,所以在权限管理,安全等方面的要求可以不做的很高,主要还是集中在解决繁琐的资源分配,应用系统部署,应用系统的稳定性可用性上。


相对于私有云,共有云的概念就是想外部开放申请和使用的云系统。相比之下就是需要增加用户管理,安全策略等模块。GAE,Amazon EC2这些都是共有云。


Why Cloud

习惯了传统模式之后,可能一下无法理解为什么要兴师动众的上云系统。随着IT业的发展,公司的基础设施规模开始飞速扩大,更好的管理和利用这些资源 慢慢变成了一个问题。就个人来说,我对装系统配环境是无比痛恨的。服务器压力大,一会儿硬盘坏了,一会儿路由器出毛病了,机器一多了,故障率再低也几乎每 天都有几个机器出问题。如何让这些问题不去影响到上层业务,是一个必须解决的问题。


IT界有句俗话说,所有问题都可以通过增加一层来解决。


增加一层,让上层应用不再直面自己不应该处理的问题,让增加的这一层专门处理普遍的,通用的问题。比如,增加Spring这一层,就可以把 Runtime Dependency交给Spring管理;增加Hibernate这一层,就可以把ORMapping交给Hibernate处理,应用不再直面数据 库。同时,也增加了隔离性。当Spring中的一个bean改变的时候,别的bean可能并不需要改变代码,只要改改配置文件就行了。同样,从MySQL 迁移到Oracle的时候,隔离性也可以帮助我们尽量少的修改代码,而通过修改配置来适应新的环境。笔者曾经悲催的管理过一个SharePoint站点。 为了应对站点down掉,站点迁移等一系列的问题,最佳实践就是增加虚拟机这一层,把它装到一个虚拟机上,配置好一切之后,备份初始虚拟环境,然后让虚拟 机跑去吧。每天备份SP数据,就算虚拟机挂了,直接用备份的初始环境恢复数据就行了,最多损失一天的数据。


对于企业遇到的基础设施的问题,这里需要增加的一层就是云。云可以通过虚拟化来管理硬件资源,进而可以提供更多的服务。资源分配,资源利用,环境配 置,资源管理,环境监控,错误恢复,应用迁移等等都可以在上层应用没有注意到的情况下来进行(比自己玩虚拟机高级多了)。正所谓,不要重复自己,如果一件 事情做了一遍又一遍,就应该想办法让它自动化。云平台就是自动化管理硬件资源的解决方案。


如果需要配置一个LAMP环境,手动安装可能能需要下载image,安装,配置,漫长等待后还要测试。不出任何问题可能也要折腾个一天半天的,身心疲乏不说,可能到时候都不一定能成。如果IaaS服务商提供了现成的配置好的image,租用云主机可能只需要将它挂载到云主机上就行了,整个过程可能都 不到一个小时,而且保证能用。综合考虑到服务可用性,成本,易用性,无差别服务(无论是卖一小块云还是一大片云,都是享受同样的专业数据中心机器的服务)等等。对比之下,云平台优势就能看得出来了。

分享到:
评论

相关推荐

    云计算科普知识

    云计算科普知识,自己总结的,包括谷歌十大技术等

    ArcGIS与云计算技术白皮书

    云计算并非凭空出现,它是并行计算、分布式计算和网格计算等计算机科学概念的商业实现,也是虚拟化、效用计算、IaaS(基础设施即服务)、SaaS(软件即服务)、PaaS(平台即服务)等概念的融合与发展。谷歌、亚马逊、...

    云计算与服务科学

    云计算与服务科学这一领域是信息技术发展的一个重要分支,它将传统信息服务与前沿技术相结合,实现了资源共享和服务交付的新模式。随着互联网的快速发展和大数据时代的到来,云计算已经成为全球信息技术领域最为活跃...

    基于云计算的科普资源共享服务平台研究.pdf

    4. 促进信息资源的整合与创新:云计算平台可以集成多种传感器、数据采集设备,形成复杂的信息网络,便于对不同来源和类型的科普信息进行整合处理,进而创新科普服务模式,如利用多媒体技术提供文字、声音、图像、...

    基于Issa的云计算科普资源平台建设.pdf

    基于Issa的云计算科普资源平台建设.pdf

    数据挖掘技术与云计算.pdf

    数据挖掘平台的建立将推动云计算在各行各业的应用,促进云计算的普及,并推动社会信息化建设。云计算提供的计算资源和存储空间能够使数据挖掘的效率得到提升,尤其是在处理大数据时,云平台的扩展性和弹性可以更好地...

    建立一个开放云 云计算

    例如,开放网格论坛、开放科学网格以及谷歌和IBM领导的学术联盟等组织都在推动开放云的发展。 未来,云计算有可能承担起全球大部分的计算和数据存储任务。为了支持这一发展趋势,需要在政策层面做出适应,确保通信...

    测绘地理信息大数据与云计算及其标准化探讨.pdf

    标准化工作将有助于大数据和云平台与GIS技术的融合与应用,推动地理空间信息科学的发展。 地理空间大数据科学是自然科学与社会科学之间的桥梁,其研究对象包括大气对流层、岩石圈上部、水圈、生物圈和人类圈在内的...

    虚拟化与云计算技术在企业信息化中的应用.pdf

    云计算技术与虚拟化技术作为现代企业信息化建设的重要组成部分,已经得到广泛的应用与认可。云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。虚拟化是...

    “第三届密码学与云计算安全(CCCS)国际研讨会”在广州举办.pdf

    此外,随着云计算服务的普及和云数据安全问题的凸显,如何在云计算环境下实施信息安全等级保护成为了一个迫切需要解决的问题。本次研讨会上,可能有专家和学者就云计算环境下信息安全等级保护的实施策略、框架构建、...

    问道云计算

    问道云计算,由王鹏著。不可多得通俗易懂的云计算科普书籍。

    大话云计算

    《大话云计算》是一本关于云计算的幽默科普读物,内容涉及云计算的方方面面。从云计算的产生背景、发展历史、基本概念、关键技术,到云计算的困境、未来、应用领域,再到国内外云计算的发展现状。本书始终紧紧围绕着...

    云计算系列讲座+中国科学院 下载列表

    云计算系列讲座+中国科学院.lst ,导入到迅雷即可享受高速下载

    大数据与云计算(1).doc

    在技术进步的推动下,大数据与云计算将越来越多地融入到我们的日常生活中,为科学研究、商业决策、社会治理和个人生活带来更多便利。 总而言之,《大数据与云计算》一文系统性地阐述了大数据与云计算的概念、特征和...

    云计算 ppt

    **云安全研究**:随着云计算的普及,如何确保用户数据的安全性和隐私成为亟待解决的问题,云安全的研究因此变得至关重要。 #### 四、云计算的未来 云计算的未来趋势包括更深度的智能化、边缘计算的兴起、混合云的...

    人工智能与云计算普及外科服务.pptx

    【人工智能与云计算在外科服务中的应用】 随着科技的飞速发展,人工智能(AI)和云计算技术正在逐步改变外科手术的服务模式。"外科服务的普及"是当前医疗领域面临的重要议题,尤其是在全球范围内,大约50亿人无法得到...

    云计算与大数据

    随着互联网技术的发展,尤其是移动互联网、物联网、社交网络等的普及,人们开始意识到数据的价值,希望通过处理大数据解决各种实际问题,如商业智能、公共管理、科学研究等。 云计算与大数据之间存在密切的联系。...

    大话云计算:从云起源到智能云未来.pptx

    《大话云计算:从云起源到智能云未来》是一本全面介绍云计算发展历程、现状及未来趋势的科普读物。本书从云计算的起源、基本概念、技术特点、应用场景以及未来趋势等多方面进行了详细的介绍。 云计算的起源 云计算...

    云计算行业背景以及专家预测、指导

    "云存储与虚拟化分论坛-基于云计算的海量数据挖掘++何清7.pdf"和"台湾云计算发展+王玮1.pdf"两份文件都强调了云计算在数据处理和分析上的优势。云计算提供了强大的计算能力,使得处理海量数据成为可能,这对于科学...

Global site tag (gtag.js) - Google Analytics