云计算

虽然在90年代末已经提出类似云计算的概念,随着虚拟化技术的成熟和IT公司垄断规模的存在,云计算在这几年成为热门词汇。2006年亚马逊推出弹性计算云(Elastic Computing Cloud, EC2) , 谷歌CEO Eric Schmidt首次明确使用云计算(Cloud Computing)这个名词。 亚马逊,谷歌,惠普,微软等很多公司提供云计算服务。

云的概念是从最初的“网络云”衍生而来的,字面本身就形象反映了云计算服务的特征:近无限扩展性(按系统需要扩展),多用户,和虚拟化。云计算的另一个主要特征是按实际使用收费。按用户的实际使用收费,在某种意义上就是将企业内部设计实现近无限可扩展性系统的技术难度和风险,转化为简单的费用支出。

那么企业在何种情况下如何下最佳的使用云服务呢?

首先要澄清一个容易混淆的概念。网格计算(Grid Computing)不是云计算。网格计算是使用计算机网络上的大量计算机同时处理同一事务。网格计算很著名的例子是“在家搜索外太空文明”(Search for Extraterrestrial Intelligence (SETI) @Home)。世界各地成千上万的计算机共同使用他们的空闲CPU来处理海量的雷达信号。

虚拟化(Virtualization)是云计算的关键技术之一。 虚拟化技术分为完全虚拟化(Full Virtualization)和准虚拟化(Paravirtualization),前者模拟整个系统(包括BIOS,驱动程序等等),而后者使用管理模块和操作系统协调运行虚拟机。准虚拟化对灾害恢复,系统迁移,尤其是可扩展性的支持更好。 第三方提供的云服务一般是由大量的服务器组成,用管理软件让他们模拟小的“虚拟”服务器。比如一个32GB RAM可以被划分到4台虚拟机,每台拥有8GBRAM。客户允许运行虚拟服务器。

从云计算提供的服务来看, 云计算可以认为包括几个层次的服务:基础设施即服务( IaaS ), 平台即服务(PaaS)和软件即服务(SaaS)。

  • 基础设施即服务( IaaS, Infrastructure-as-a service )模式中,云服务供应商提供物理或虚拟机和其他资源,用户安装操作系统镜像和自己的应用程序。常见的包括亚马逊的CloudFormation, 微软的Azure Virtual Machine 和谷歌的GoogleComputeEngine。

  • 平台即服务(PaaS, Platform as a service)模式中, 云服务供应商提供的计算平台通常包括操作系统,编程语言运行环境,数据库和Web服务器。有的PaaS提供了系统自动的可扩展性支出。 常见的包括亚马逊的 ElasticBeanstalk, Salesforce的 Force.com , 谷歌的GoogleApp Engine和微软的Azure Compute。

  • 软件即服务(SaaS)模式中,云服务供应商安装和操作管理客户使用的应用程序,用户作为云服务的客户使用应用程序。做为云服务的SaaS和早期的SaaS的不同点在于其弹性,以满足可扩展性要求。常见的包括谷歌的GoogleApps, Salesforce. com 和微软的Office365.

【原图出自百度百科】

从用户对云服务的需求来看,云服务分计算云(Compute Clouds), 云存储(Cloud Storage)和云应用(Cloud Application). 计算云提供了近无限扩展性的廉价资源,而云应用接近于SaaS。 Skype, TouTube, 微软的在线服务都是云应用著名的例子。

使用云服务的很多优势很多,比如从设置到运行只要几分钟,而在公司内部申请购买新硬件到运行也许要数周到数月的时间。 但是推动企业使用云计算的最关键因素是节省IT成本。

商业云计算的一大特性是按实际使用收费。各个云服务供应商的收费标准略有不同。O'ReillyMedia的一份调查包括显示,使用云服务3年可以降低高达30%的IT成本。一般使用整一年云服务的费用和自己购买服务器的费用相当。也就是如果你24小时不停机的使用云服务一年以上,费用将超过自己拥有服务器的费用。不过这没有考虑企业在购买服务器后的存放场地的租金,维护系统的专业人员成本。

有些企业内部的常规工作,对于计算资源的使用时暂时性的,非常适合使用云服务供应商的云服务。比如每夜运行的数小时的批处理任务,生成过程需要大量资源; 或者在产品发布前QA的综合测试。 这些都不需要每天24小时使用机器。假设每夜的批处理任务需要运行4小时,那么同样(购买设备)的费用,你可以使用云服务6年。

使用云服务的另一个目的是利用云服务的近无限可扩展性能力。

对于业务稳定的成熟企业而言,很多业务活动本身具有季节性。 比如北美11月-12月的节日季节也是网上零售业的高峰,和销售淡季比,交易量要高出很多倍。而不定期的促销活动,或者突发性的社会事件,都会引起非常规的网站流量和交易活动的增加,有的时候这种增量大小是不可预测的。 使用第三方的云服务,可以避免企业为了应付交易高峰而购买大量机器,平时大量的机器闲置而造成浪费。

业务需求的不稳定性/不可预见性对IT的初创公司尤其明显。很多人认为,云服务会降低初创IT公司的门槛,带来新一轮的IT创新浪潮。对于IT的初创公司而言,因为初期的市场需要及其变化速度很难预计,同时早期用户体验非常重要,在资金上购买多大计算能力的服务器,在人力资源上找到有经验的程序员设计开发的系统能够满足市场潜在的需求增长等,这些不确定性是IT初创的门槛之一。

基于云服务的 按实际使用收费的特点和内在的可扩展性支持,初创公司早期业务很少,租用云服务可以节省更多的成本, 同时不必担忧业务高速增长对系统的压力。 通过使用开源软件和诸如AWS的云存储服务,一些初创公司的早期成本只有每月数千美金(主要是在高消费的加州硅谷的租金和一日三餐)。云计算带来了自己动手创业的经济(DIY economy)。

北美云计算的主要供应商

  • 亚马逊

亚马逊上云计算的先驱和开拓者。做为北美最大的网上零售商,为了能够处理购物高峰季节的系统要求,亚马逊维护了大量的计算资源。在业务非高峰期,闲置的计算机是巨大的浪费。如果充分利用闲置计算资源是推动亚马逊发展开发的云服务的最重要的推动力。 经过多年的发展,现在亚马逊提供了市场上最完善的云服务。

  • 弹性计算云(Elastic Computed Cloud, EC2)提供虚拟机/CPU

  • 简单存储服务(Simple Storage Service, S3) 提供储存服务

  • 简单队列服务(SQS)提供机器之间的消息传输服务

  • 简单DB(SimpleDB) 是基于S3和EC2的Web服务,提供结构化数据的实时查询业务

谷歌

谷歌提供了在线的文档服务,并且鼓励程序员使用Google App Engine 开发相关的产品。该服务只提供了Web应用程序的核心功能,限制了文件写操作。程序员使用Python读写谷歌数据库。

微软

微软的Windows Azure允许用户使用微软数据中心存储数据,并运行视窗程序。作为云平台,Azure提供了程序员在开发软件产品中的用户管理,流程管理,数据同步等一系列功能。

Salesforce.com

总部位于加州硅谷的Salesforce是基于SaaS的CRM(客户关系管理),近年来成功的将公司平台升级到云服务。公司的主要服务包括

  • The Sales Cloud : 提供了客户关系中的销售

  • The Service Cloud : 提供了客户关系中的对话

  • Your Cloud :提供了Force.com平台上的开发客户程序

中国的云计算发展

在2011年低的一个中国市场调研结果表明(网络世界),大部分企业的IT系统仍沿用传统部署方式,仅有3%的企业在2011年拥有被认可的云计算战略,制定了云计算并实施的企业占总数的5%,同时相当比例的企业尚未制定云计算战略 。国内企业在服务器虚拟化方面比较落后, 50%的企业仍然沿用在数据中心专有硬件上运行物理服务器的做法,(美国市场此比例仅为12%) 。同时,中国企业似乎对云存储服务关注更多。

未来中国IT行业发展的趋势是系统更高程度的集成和智能化;同时在城市化进程中的数字化城市将产生海量数据,云计算服务固有的可扩展性优势将使得其在城市数字化中占有一席之地。

模式名称:考虑使用云计算服务

描述: 使用云计算的按需要扩展(Scale On Demand)能力,降低IT成本

动机/试图解决问题: 当一项活动对计算资源的需求不稳定或者有季节性时,维持峰值时的计算能力将造成大量的资源闲置和浪费。

原理: 云计算的2大特点:按需要扩展,按使用收费。 按需要扩展保证了峰值时的计算要求; 按使用收费,避免了浪费,企业不必支付不使用的计算资源。

使用: 定期的批处理创建过程,QA在产品发布前的测试,季节性销售,IT初创公司业务

相关模式

总结:

因为云服务的成本和一些固有局限性,并不是企业所有业务都适合移植到云,尤其是企业的核心业务。 云服务的按需要扩展特性适合于计算资源需求不稳定的工作,比如定期的批处理,测试环境等。云服务解决了IT初创公司的扩展性难题,降低了其成本。

转载于:https://blog.51cto.com/6927843/1172133

创建可扩展性系统-12相关推荐

  1. 创建可扩展性系统-4

    高可扩展性系统的一些理论基础 在2000年ACM的PODC座谈会上加州大学伯克利教授 Eric Brewer在主题"建立可靠的分布式系统"的演讲中提出了所谓的CAP定律,至今被大型 ...

  2. 创建可扩展性系统-13-2

    (二).使用日志监测应用程序状况. 日志有两种:产生报表和用于诊断.Brian W. Kernighan和 Rob Pike 在"编程实践"(The Practice of Pro ...

  3. bcdedit添加linux引导,Linux_利用Bcdedit创建Linux系统引导,Bcdedit在Windows Vista中的一个命 - phpStudy...

    利用Bcdedit创建Linux系统引导 Bcdedit在Windows Vista中的一个命令行工具,用于建立和重新配置bootloader,无须再使用boot.ini文件.下面我们来谈谈如何用bc ...

  4. 用VMware创建Linux系统时用户名,全名,虚拟机名的区别

    用VMware创建linux系统的时候,会有多个命名的地方 linux的全名和用户名如下图: 用户名:是用于限制权限的多用户操作系统管理工具,是登录是要输入的 个性化Linux全名:虚拟机的个性化名称 ...

  5. 苹果最新发布的系统12.4版本在XR机型有严重bug,升级后无法支持电信卡,移动正常信号弱,本人升级后又刷回到12.3.1了。

    苹果最新发布的系统12.4版本在XR机型有严重bug,升级后无法支持电信卡,移动正常信号弱,本人升级后又刷回到12.3.1了.

  6. Revit开发 - 创建幕墙系统(CurtainSystem)

    本文演示Revit中创建幕墙系统. 1.用Revit绘制模型 2.实例代码 using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; usin ...

  7. 如何用导航系统创建巡逻系统

    要创建巡逻系统,您可以使用导航系统来实现.这可以通过设置一系列的目标点来实现.导航系统会帮助您确定最佳的路径,并使您能够按照规划的路线进行巡逻. 要开始创建巡逻系统,请按照以下步骤操作: 计划巡逻路线 ...

  8. 提高C++性能的编程技术笔记:设计优化/可扩展性/系统体系结构相关+测试代码

    1. 设计优化 我们可以粗略地将性能优化分为两种类型:编码优化和设计优化.编码优化定义为不需要完整理解要解决的问题或者应用程序的执行流程就能实施的优化.通过定义看出,编码优化用于局部代码,同时该过程不 ...

  9. 使用Python创建一个系统监控程序

    最近在做个人网站,但是由于服务器资源不足,偶尔会出现系统崩溃的现象,所以想写一个程序来实时监控系统状态.当系统资源占用过高时发送邮件提醒. psutil(进程和系统实用程序)是一个跨平台的库,用于检索 ...

  10. 如何使用SQL Server Reporting Services创建图像分类系统

    介绍 (Introduction) With Christmas just around the corner, in today's "get together" I thoug ...

最新文章

  1. 不同Unix环境下date计算日期的用法
  2. 云原生应用如何做到低成本获得高稳定?
  3. mysql+性能+计算列_MYSQL性能优化的最佳20+条经验
  4. libuv udp server和client
  5. 201509-1-数列分段
  6. bzoj 1109: [POI2007]堆积木Klo(二维偏序)
  7. 延时等待的gcode
  8. Python | MD5爆破及Base64/Base32爆破解密脚本
  9. PHP多功能Youngxj工具箱/在线站长工具箱源码
  10. Git版本控制管理——补丁
  11. [POI2005]DWU-Double-row(图论?)
  12. 数学建模英文论文的写作方法和步骤
  13. 总结了 30 段极简 Python 代码
  14. cocosCreator 控制音乐,音效的图片转换
  15. 毕设 深度学习图像风格迁移 - opencv python
  16. Android WebView控件
  17. 微信不显示通讯录好友
  18. NH2-PEG-COOH,CAS:139729-28-5,Amine-PEG-acid,氨基-聚乙二醇-羧基
  19. soi cmos技术及其应用_智能视频监控技术及其在安防领域的应用
  20. 【转载】GIS数据工程师成长路

热门文章

  1. 乡村少年宫计算机室活动方案,社区乡村农村少年宫活动方案少儿培训开展情况...
  2. 【TeeChart .NET教程】(六)使用系列
  3. c# 数组不能直接=,需要clone
  4. Linux系统优化之网络IO调优
  5. 《指针的编程艺术(第二版)》一2.3 三颗星星:表示三把钥匙
  6. Linux 使用 iptables屏蔽IP段
  7. python cookbook 2字符串(2)
  8. SkyDrive和Google Drive比较
  9. C#正则匹配、分组和替换
  10. 剑指_5替换空格(Python)