【转】 TechED2010与我(三) —— 初识云计算
作者用到的比喻很好。
初识云计算
最近“云计算”被炒的很热,但是由于工作重点主要是做WinForm的控件开发,对云计算的接触比较少,甚至一直没搞清楚到底什么是“云计算”,感觉上“云”是个神乎其神的东西。这次借参加Tech-ed的机会重点了解了下“云计算”。写篇博文分享一下自己的理解。初次接触,理解的比较肤浅,如果有误欢迎大家指正。
1. 为什么需要云计算
微软给了个很有意思的比喻。
很多年以前,一个很牛的人发明的电灯泡,导致人们需要电,这个牛人就成立了一个公司,这个公司专门卖发电机,所有需要使用电灯泡的人都要买发电机,于是这个牛人发了大财。后来,人们发现买发电机自己发电好贵呀。于是有些大公司就建立了大型的发电站,个人和小公司只要按时交电费就可以得到电,这种新方法比买发电机省钱,到今天一直在使用。
很多年以后,一个很牛的人发明了计算机网络,导致人们需要网络服务。人们为了提供网络服务(电气时代的电灯泡),每家公司都要买服务器(电气时代的发电机),后来,人们发现买服务器好贵呀。于是一些大公司建立了大型的数据中心(就是很多很多…的服务器)。个人和小公司只要按时交使用费就可以使用服务器,这种新方法比买服务器省钱。对于这个新方法,大家给起了个很抽象的名字——“云计算”。
2. 什么是云计算
据说在2008年的一次国际云计算大会上,主持人对于“什么是云计算?”这个问题上随机采访了20个听众,结果得到了22种答案。对于云计算准确定义的争论,至今也没有停止过(怪不得我一直没搞清楚什么是云计算J)。
在维基百科里给出了这样的描述性定义“云计算就是基于互联网的计算,它能像电网供电一样,按需把共享的资源,软件和信息提供给计算机和其他设备。”
可能有人像我一样思考过,“云计算”和“分布式计算”有什么区别。对于这个问题,我的理解是,云计算强调的是服务,是一项租赁业务。而分布式计算强调的是技术实现。
3. 云计算的作用
云计算最重要的作用当然是被提到好几次的一点——“省钱”,不能省钱估计就没人用了,呵呵。那么,它为什么能省钱呢?原来自己买服务器,现在租大公司的服务器,多转一次手,应该费钱才对。就好象租房住显然没有买房住合算呀(除非房东是慈善家或者脑袋有问题)。
就我的理解,云计算是基于两个考虑来省钱的。
一是避免浪费。
最简单的例子,一个网络公司,一般高负载都是在晚上8点到11点左右。这段时间需要20台服务器才能保证稳定的访问,不宕机。而其他时段可能只需要2台服务器就可以了。这种情况下如果用买的,公司就必须一直保持20台甚至30台服务器(以备突发的大规模访问),而如果是使用云服务,就可以根据负载,动态的调整使用服务器的个数,8点的时候租20台,10点的时候如果突然访问量变大就租30台,过11点网民都睡觉了就把多余的退掉,就留一两台。这样就可以省钱了。
二是集中管理,降低成本。
在传统模式中,并不是服务器买回来就万事大吉了,几十台服务器的机房要面临着场地费用,人工管理成本,软件升级,服务器备份,维护,甚至布线,租用宽带等等的成本。而使用“云计算”的模式,以上问题都由提供商来集中解决,而集中管理的成本显然是低于分散到所有小公司的管理成本的。
4. 如何使用“云计算”资源
说了这么多,还不知道“云”怎么用呢,其实,上云是比较简单的,很多大公司提供了这样的服务。由于Tech-ed是微软搞的,当然微软介绍的都是他自己的东西Windows Azure。
对于使用微软的云,有个讲师说的很有意思,他说,只需要两步:一.到微软网站上注册帐号,二. 刷信用卡。他尤其强调,千万不要刷自己的信用卡,一定要刷老板的,要不你会很快破产的J。
微软的云要求云端的应用程序分成两个模块,一个是WorkRole,一个是WebRole,WorkRole负责后台逻辑,WebRole负责前端展示逻辑,两者靠一个队列通信。如果装了Windows Azure SDK,可以在VS2010中创建出相应的工程模板。也有对应的向导把应用程序部署到云上。对于既有的ASP.net项目,如果想迁移到云上则首先需要对程序进行重构,按微软的结构要求把程序划分成WorkRole和WebRole在部署上去。
5. “云计算”可以为控件开发带来什么好处
最后一个部分是我对自己工作的一个思考,毕竟我不是做网络应用的,第一感觉是暂时还用不上云。但是有一个点上可能还是可以在云计算上得到实惠的。场景是这样的,在每一个控件产品发布前,都需要对很多环境做集成测试,如不同的操作系统,WindowsXP,WindowVista,Windows7,不同的系统语言版本,英文,中文,日文,不同的IDE版本,如VS2005,VS2008,VS2010,这些条件组合起来的环境是非常多的,我们不得不准备很多的环境,有实机也有虚机,管理起来很麻烦。尤其是测试在特定环境下发现的bug在开发的环境里又很难重现和修复。最重要的是这个环境测试一年中可能只有一个月是需要的,其他时间这么的机器就会显得比较浪费。 而“云”的使用可能可以很好的解决这个问题,云服务中有一种模式叫平台即服务,当我需要时,我就可以根据我的要求到云上申请一个特定环境的机器,用完就归还。是不是可以少很多麻烦呢?
这一部分都是基于我的理解想象的,还没有实践过。也不知道成本上是否划得来,要知道改变传统的做法本身就是要付出很大成本的。但是,所有的实现不都是从想象开始的么
6. 最后
我对于云的很多理解都是比较肤浅的,接触云的时间比较短,也没有在项目中真正使用过。说真的,现在对于云的使用还是比较麻烦的,计费方法也比较抽象,不容易理解。但是我觉得,云计算确实是当前软件发展的一个趋势(单省钱这一点就足够了)也是软件应用模式的一次革命,值得深入研究探讨。相信将来使用云可以像在家里使用电一样方便。
以上个人意见,欢迎拍砖~
【转】 TechED2010与我(三) —— 初识云计算的更多相关文章
- Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念
Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...
- 初识云计算的三种服务模式 (IaaS SaaS PaaS)
近期公司在使用其它云服务的同一时候.要封装自己的云服务,以下作为开发产品前的热身.来了解云计算中的三种服务模式,笔者也是从网络上查找,进行综合总结.请拍.. 三种服务模式 依据如今最经常使用.也就是比 ...
- 初识云计算 -《AWS云端企业实战圣经》读书笔记
原书中涉及实操的地方,在本文中被省略.一是篇幅太长,放入文中太过累赘,二是原书成书过早,现在 AWS 的界面早已变化很大,不具备参考性. 第一章 谁在使用云计算 1.什么是云计算 云计算(cloud ...
- CentOS(三)--初识linux的文件系统以及用户组等概念
进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文件所有者.文件所在组等概念 一.Linux文件结构及基本文件夹 文件系统是Lin ...
- [20190620]日常学习记录(三)-初识promise及vuex
在学习promise之前重温了Ajax的原生js实现, 在原生js中发送一个http请求首先new XMLHttpRequest() 然后定义状态变更事件 浏览器监听请求的状态,触发不同状态下相应的代 ...
- (三)初识NumPy(数据CSV文件存取和多维数据的存取)
本章主要介绍的是数据的CSV文件存取和多维数据的存取. 一.数据的CSV文件存取 1.CSV的写文件: np.savetxt(frame, array, fmt='%.18e', delimiter= ...
- 云计算服务的三种类型(SaaS、PaaS、IaaS)
云计算可以帮助企业降低IT方面的成本和复杂性,并获得他们蓬勃发展所需的灵活性与敏捷性.但是,规划出通往云的明确路径并非易事.毕竟用户需要看透与云相关的市场大肆宣传,然后理解并分析不同种类的云计算模式的 ...
- 云计算之KVM简介(一)
云计算之KVM简介(一) 因为很多人会将云计算和虚拟化弄混,我下面为大家介绍一下 云计算指的是资源使用和交互的一种模式 虚拟化指的是技术,可以将物理计算机虚拟成多个逻辑计算机(VMware) 他俩是 ...
- 阿里云大数据三次技术突围:Greenplum、Hadoop和“飞天”
阿里云大数据三次技术突围:Greenplum.Hadoop和"飞天" 对于企业来说,到底什么是云计算?相信很多企业都有这样的困惑,让我们一起回到这个原始的起点探讨究竟什么是云 ...
随机推荐
- python爬取数据保存入库
import urllib2 import re import MySQLdb class LatestTest: #初始化 def __init__(self): self.url="ht ...
- 基于KEIL4开发ARM9(S3C2440)的裸机程序
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程 ...
- [WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置
前言: 由于本人在开发和学习过程中需要同时部署 JavaWeb 和 PHP 项目,于是整理了网上的一些相关资料,并结合自己的实际操作,记录于此,以供参考. 一.环境(64bit): 1.操作系统.To ...
- href链接的地址
tencent://message/?uin=QQ号. 链接一个弹出框.指向一个QQ号.
- Android中的数据保存
形式 Android的数据保存分为3种形式:file, SharedPreference, Database 文件 主要思想就是通过Context类中提供的openFileInput和openFile ...
- input框只允许输入数字 --------20160705
//jquery方法 var num = $(this).val(); num = parseInt(num); if(!num){ $(this).html(''); } $(this).val(n ...
- Unity3d之个性化皮肤
1.首先创建皮肤,贴图 2.在代码中定义public GUISkin变量,在Inspector中赋值 3.在OnGUI中调用 GUI.skin = mySkin; GUI.Button(new Rec ...
- 【转】tomcat7性能调优
注意:调优tomcat需要了解使用的tomcat是什么版本,随着tomcat版本发展有新参数引入,同时有旧参数废弃.本文档以tomcat7为例进行调优 一. 线程池(Thread Pool)优化 编辑 ...
- Kindle使用的一些方法
最大的好处就是方便,买书便宜,到手我就买了六部书,十块钱不到,以纸书的价格一本都买不到,能够买一些一直想读一下,但又担心读不下去的书.而且买了之后完全不用担心书柜收纳不下了.另外很轻便,放在包里上下班 ...
- MVC中使用js拼接的元素验证问题
MVC使用的验证方式本质上是jquery.validation js 拼接的格式如下: <input class='required' title='请输入项目名称!' id='Project ...