云计算一瞥

来源:互联网 发布:ocean princess知乎 编辑:程序博客网 时间:2024/05/03 20:15

云计算的概念已经出现了很长一段时间了,但目前为止也未出现比较公认的定义。在我的理解中,云计算的核心点是通过互联网向用户提供计算的资源池,并且对提供的资源是可以监控,动态部署分配或重分配的——这就与面向大型计算任务的网格计算相区别了。当然因为时代的进步,云计算同时与某些具体的技术也有关联。比如在讨论时大型机提供的计算服务已经不算作云计算的范畴了,而是与虚拟化技术、分布式计算技术以及WEB联系在一起了,目前看来“开发全面收缩到以Web为中心的开发上”了。Google的三篇关于GFS、MapReduce、Big Table的论文的发表使得与其相关的技术成了云计算必须涉及的内容了——当然大家用的最多的还是以这三篇论文为基础的开源项目Hadoop(其中与Google对应的概念是HDFS、MapReduce、HBase)。

在推动云计算方面,互联网公司远比传统的IT公司更积极,比如亚马逊的AWS、Google的GAE以及国内Sina推出SAE等,这些都是使用云计算的概念推出的,这种情况的出现主要是因为这些互联网公司掌握了大量的计算资源因此有将其推出获益的动力,其推出的对用户的主要服务形式有

  • IaaS(Infrastructure as a Service)基础设施即服务,用户通过 Internet 可以从完善的计算机基础设施获得服务。
  • PaaS(Platform as a Service)平台即服务, 把服务器平台作为一种服务提供的商业模式。
  • Saas(Software as a service)软件即服务,基于互联网提供软件服务的软件应用模式。

而作为传统的IT公司,IBM和Sun大多把目标集中在如何帮助政府、行业、企业等用户构建云计算中心而不是向用户出售已有的云计算资源,例如Sun公司的Black Box计划——国内的云箱就是基于该思路。

云计算对我们的影响是全面的,即使是对开发人员也是如此。比如在开发中可以很方便地通过申请云计算资源来完成一些大型系统的开发工作,比如测试。在软件开发的过程中,对架构师的要求提高了,因为其可能需要考虑无单点设计、弹性伸缩、动态迁移等特性来弥补虚拟机不稳定的问题,而同时对普通开发人员的要求却降低了,因为有足够多的现有服务而无需考虑太多的问题就可以快速完成开发工作,这将进一步加剧开发人员的分层。对于管理人员来说,云计算的资源监控、动态分配再分配的功能可以最大限度是发挥资源的用途,同时可以更方便的进行资源使用情况的统计,将使管理工作发生重大的转变。



PS:

1.新浪一篇不错的Presentation

新浪云平台的经验和教训

2.分布式Key-Value DB和分布式文件系统的一个重要不同是分布式Key-Value DB采用Get/Set接口、读写请求一次完成。适合小文件读写;分布式文件系统采用流式文件接口,一次读写可以分多次调用,更适合流式大文件读写。



原创粉丝点击